summaryrefslogtreecommitdiff
path: root/src/window.cpp
AgeCommit message (Collapse)Author
2021-07-20Feature: allow the use of TURN to connect client and server togetherPatric Stout
TURN is a last resort, used only if all other methods failed. TURN is a relay approach to connect client and server together, where openttd.org (by default) is the middleman. It is very unlikely either the client or server cannot connect to the STUN server, as they are both already connected to the Game Coordinator. But in the odd case it does fail, estabilishing the connection fails without any further possibility to recover.
2021-07-02Codechange: C++-ify the usage of IniFile in settings.cppPatric Stout
Instead of creating the object on heap and use a pointer, create the object on stack and use a guaranteed-not-null pointer. The size of IniFile doesn't warrent the forcing to heap. Additionally, use a subclass instead of a function to do some initial bookkeeping on an IniFile meant to read a configuration.
2021-06-13Codechange: convert printf DEBUG statements to fmt Debug statementsrubidium42
2021-05-29Codechange: Rename window related DeleteXXX to match new behaviourglx22
2021-05-29Fix f6d5c01: Delay deletion when closing windowsglx22
2021-05-15Fix #9269, f6d5c01: Hide windows without abusing WC_INVALIDglx22
2021-05-13Codechange: make explicit that virtual functions in a con/destructor are ↵Rubidium
resolved statically This as during construction the sub class has not been initialized yet, and during destruction the sub class has already been destroyed, so the overriding virtual function would be accessing uninitialized data.
2021-05-12Codechange: make Window destruction not rely on undefined behavior.frosch
2021-05-12Codechange: use IterateFromBack/Front only if the order is important.frosch
Use Iterate if the order does not matter.
2021-05-12Codechange: use iterators instead of 'subranges' when iterating from a ↵frosch
specific window. Using iterators makes it easier to include or exclude the start window in the iteration.
2021-05-12Cleanup: remove unneeded labels and gotos.frosch
The window list supports deletion of arbitrary windows, while iterating over it.
2021-05-08Codechange: Make GetCurrentRect() conform to usual Rect bounds, and reuse it.Peter Nelson
Similar code is already repeated in other locations.
2021-05-08Codechange: Don't update window contents if scrollbar position has not moved.Peter Nelson
2021-05-08Codechange: Set specific widgets dirty instead of window.Peter Nelson
2021-04-30Fix: Recalculate padding and minimum sizes when GUI or Font zoom is changed.Peter Nelson
2021-04-29Codechange: Replace window related FOR_ALL with range-based for loopsglx22
2021-04-10Codechange: nullptr deletion in DeleteWindowById (#8941)Didac Perez Parera
2021-02-27Codechange: replace _realtime_tick with std::chrono for mouse eventsPatric Stout
2021-02-14Codechange: Consistently use screen size and not driver resolution for ↵Michael Lutz
determining window sizes.
2021-01-10Fix: Don't use a timer for hundredth tick determinationglx
2021-01-08Codechange: Remove min/max functions in favour of STL variants (#8502)Charles Pigott
2020-12-27Codechange: Stringify config file paths.Michael Lutz
2020-12-06Fix: Compile warnings when asserts are disabledCharles Pigott
2020-07-27Codechange: Spell 'Viewport' consistentlyTechGeekNZ
Some places in the codebase misspell 'Viewport' as 'ViewPort' or 'view_port'. This patch makes everything consistent.
2020-06-09Cleanup: Fix typos in code comments.TechGeekNZ
2020-06-09Cleanup: Give `SetDirtyBlocks` a more descriptive name.TechGeekNZ
2020-01-22Fix #7952: don't try to access destroyed QueryStringsglx
2019-11-10Cleanup: Removed SVN headersS. D. Cloudt
2019-11-10Codechange: Add utility function for whether the focused window is a consoleJonathan G Rennison
2019-11-10Codechange: Add EditBoxGainedFocus method to VideoDriver base classJonathan G Rennison
2019-09-29Fix: Some typos found using codespellJMcKiern
2019-05-02Fix: Clicking on scrollbar 'thumb' moved position up instantly.peter1138
2019-04-13Fix 801cbea9c: operator< is not always the best ideaglx
Also removes unused and anyway broken SmallMap::SortByKey() function.
2019-04-13Codechange: use std::sort() for all std::vector typesglx
2019-04-10Codechange: Use null pointer literal instead of the NULL macroHenry Wilson
2019-03-26Codechange: Removed SmallVector completelyHenry Wilson
2019-03-26Codechange: Replaced SmallVector::[Begin|End]() with std alternativesHenry Wilson
2019-03-26Codechange: Replaced SmallVector::Append() with ↵Henry Wilson
std::vector::[push|emplace]_back()
2019-03-26Codechange: Replaced SmallVector::Find() non-const with std::find()Henry Wilson
2019-03-26Codechange: Replace SmallVector::Length() with std::vector::size()Henry Wilson
2019-03-26Codechange: Replace SmallVector::Clear() with std::vector::clear()Henry Wilson
2019-03-20Codechange: Implement OnTooltip event for custom window tooltips.peter1138
This avoids windows from needing to know or care about tooltip delay settings.
2019-03-20Remove: ENABLE_NETWORK switchPatric Stout
This switch has been a pain for years. Often disabling broke compilation, as no developer compiles OpenTTD without, neither do any of our official binaries. Additionaly, it has grown so hugely in our codebase, that it clearly shows that the current solution was a poor one. 350+ instances of "#ifdef ENABLE_NETWORK" were in the code, of which only ~30 in the networking code itself. The rest were all around the code to do the right thing, from GUI to NewGRF. A more proper solution would be to stub all the functions, and make sure the rest of the code can simply assume network is available. This was also partially done, and most variables were correct if networking was disabled. Despite that, often the #ifdefs were still used. With the recent removal of DOS, there is also no platform anymore which we support where networking isn't working out-of-the-box. All in all, it is time to remove the ENABLE_NETWORK switch. No replacement is planned, but if you feel we really need this option, we welcome any Pull Request which implements this in a way that doesn't crawl through the code like this diff shows we used to.
2019-02-22Fix #7227: Don't apply mouse-hasn't-moved test to scrollbars.peter1138
2019-02-21Codechange: Change scrolling_scrollbar to mouse_capture_widget, and dispatch ↵Peter Nelson
OnClick() event if widget is not a scrollbar. This allows any widget to support mouse capture.
2019-02-16Add: News menu entry and shortcut for deleting all messages. (#7240)Joan Josep
2019-02-02Fix #7058, Fix #7161: Network chat messages did not expire.Peter Nelson
2019-01-20Fix: If screen size changes, windows are relocated and dropdown may not fit ↵J0an Josep
the screen.
2019-01-17Fix: Some code and comment typosnikolas
Found with codespell
2019-01-13Fix #7050: Missing guard around network chat message function for compiling ↵PeterN
with networking disabled. (#7058)