Commit Graph

537 Commits

Author SHA1 Message Date
glx22 14e92bd8e2 Codechange: Replace window related FOR_ALL with range-based for loops 2021-04-29 21:08:24 +02:00
Didac Perez Parera 0cb99c5523
Codechange: nullptr deletion in DeleteWindowById (#8941) 2021-04-10 10:19:14 +01:00
Patric Stout 853bfc3562 Codechange: replace _realtime_tick with std::chrono for mouse events 2021-02-27 00:36:14 +01:00
Michael Lutz 8906e9e0fd Codechange: Consistently use screen size and not driver resolution for determining window sizes. 2021-02-14 11:50:18 +01:00
glx c0d7949d7c Fix: Don't use a timer for hundredth tick determination 2021-01-10 14:07:17 +01:00
Charles Pigott 9b800a96ed
Codechange: Remove min/max functions in favour of STL variants (#8502) 2021-01-08 11:16:18 +01:00
Michael Lutz dd138fc460 Codechange: Stringify config file paths. 2020-12-27 13:19:25 +01:00
Charles Pigott cfa1b1e006 Fix: Compile warnings when asserts are disabled 2020-12-06 19:27:39 +00:00
TechGeekNZ a10013dd00 Codechange: Spell 'Viewport' consistently
Some places in the codebase misspell 'Viewport' as 'ViewPort' or 'view_port'.
This patch makes everything consistent.
2020-07-27 17:31:29 +01:00
TechGeekNZ ee570e1b6d Cleanup: Fix typos in code comments. 2020-06-09 13:15:47 +01:00
TechGeekNZ 8652a4db76 Cleanup: Give `SetDirtyBlocks` a more descriptive name. 2020-06-09 13:15:47 +01:00
glx 341941af85 Fix #7952: don't try to access destroyed QueryStrings 2020-01-22 19:53:27 +00:00
S. D. Cloudt 13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00:00
Jonathan G Rennison 1dba06656d Codechange: Add utility function for whether the focused window is a console 2019-11-10 17:58:42 +00:00
Jonathan G Rennison 81f159434d Codechange: Add EditBoxGainedFocus method to VideoDriver base class 2019-11-10 17:58:42 +00:00
JMcKiern 04f659e768 Fix: Some typos found using codespell 2019-09-29 21:27:32 +01:00
peter1138 82989ef076 Fix: Clicking on scrollbar 'thumb' moved position up instantly. 2019-05-02 22:16:26 +01:00
glx 410b81537c Fix 801cbea9c: operator< is not always the best idea
Also removes unused and anyway broken SmallMap::SortByKey() function.
2019-04-13 21:05:25 +02:00
glx 801cbea9cc Codechange: use std::sort() for all std::vector types 2019-04-13 12:49:18 +01:00
Henry Wilson 7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 2019-04-10 23:22:20 +02:00
Henry Wilson c01a2e2a81 Codechange: Removed SmallVector completely 2019-03-26 20:15:57 +00:00
Henry Wilson ab711e6942 Codechange: Replaced SmallVector::[Begin|End]() with std alternatives 2019-03-26 20:15:57 +00:00
Henry Wilson a0f36a50e6 Codechange: Replaced SmallVector::Append() with std::vector::[push|emplace]_back() 2019-03-26 20:15:57 +00:00
Henry Wilson 81315939b9 Codechange: Replaced SmallVector::Find() non-const with std::find() 2019-03-26 20:15:57 +00:00
Henry Wilson a690936ed7 Codechange: Replace SmallVector::Length() with std::vector::size() 2019-03-26 20:15:57 +00:00
Henry Wilson bfd79e59dc Codechange: Replace SmallVector::Clear() with std::vector::clear() 2019-03-26 20:15:57 +00:00
peter1138 f5f33da126 Codechange: Implement OnTooltip event for custom window tooltips.
This avoids windows from needing to know or care about tooltip delay settings.
2019-03-20 23:00:32 +00:00
Patric Stout e3c639a09f Remove: ENABLE_NETWORK switch
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-03-20 19:24:55 +01:00
peter1138 56a6d7aec8 Fix #7227: Don't apply mouse-hasn't-moved test to scrollbars. 2019-02-22 21:32:12 +00:00
Peter Nelson de9f54ccc1 Codechange: Change scrolling_scrollbar to mouse_capture_widget, and dispatch OnClick() event if widget is not a scrollbar.
This allows any widget to support mouse capture.
2019-02-21 08:11:35 +00:00
Joan Josep 548ec05a48 Add: News menu entry and shortcut for deleting all messages. (#7240) 2019-02-16 23:15:58 +00:00
Peter Nelson 9dc36057eb Fix #7058, Fix #7161: Network chat messages did not expire. 2019-02-02 16:58:04 +00:00
J0an Josep 9ce92521c1 Fix: If screen size changes, windows are relocated and dropdown may not fit the screen. 2019-01-20 21:43:00 +00:00
nikolas d8ccad91f9 Fix: Some code and comment typos
Found with codespell
2019-01-17 22:01:07 +00:00
PeterN 89f0017a67 Fix #7050: Missing guard around network chat message function for compiling with networking disabled. (#7058) 2019-01-13 16:50:21 +00:00
PeterN 5ff0c24993 Fix #6780: Some windows didn't get updated from OnTick() (#7048) 2019-01-12 23:23:23 +00:00
Peter Nelson c693463c29 Fix: Always draw dirty blocks, else fast-forward is super fast. 2019-01-11 11:56:21 +00:00
Peter Nelson 806e7d25dd Change: Use GUITimer class instead of bare int/uints. 2019-01-11 11:56:21 +00:00
Peter Nelson 59fe4f28c8 Change: Animate text effects by real time instead of game ticks. 2019-01-11 11:56:21 +00:00
Peter Nelson ead9c9eab5 Change: Switch various window timers to real time instead of game ticks. 2019-01-11 11:56:21 +00:00
Peter Nelson 2a8fa5fef9 Change: Split up Window::OnTick into OnGameTick and OnRealtimeTick. Adjust timers to work with milliseconds instead of ticks. 2019-01-11 11:56:21 +00:00
Juanjo 9e30054de9 Codechange: Use window class as expected. 2019-01-04 23:55:07 +01:00
Charles Pigott ca5f73b196 Codechange: Turn a define into a constant 2018-10-31 12:41:49 +01:00
Charles Pigott b5028efc1f Fix: Protect against a few out of bounds or uninitialised usage errors 2018-10-31 12:41:49 +01:00
Charles Pigott f5b1115039 Doc: Lots and lots of doxymentation fixes 2018-10-31 12:35:54 +01:00
Niels Martin Hansen 2a868b9f3b Feature: Framerate display window (#6822)
Frame rate and various game loop/graphics timing measurements and graphs. Accessible via the Help menu, and can print some stats in the console via the fps command.
2018-07-19 21:17:07 +02:00
Alexander Weiss 2406500140 Fix: [OSX] Minor 2D scrolling fixes (#6793)
* Codechange: Check for scrollwheel_scrolling first when scrolling viewport instead of first setting normal values and then overwriting them.

* Fix #6558: [OSX] Reset 2D scrolling values when not scrolling to prevent unintended window focus changes

* Change: [OSX] Include initial scrolling movement when using 2D scrolling to make it more responsive

* Fix: [OSX] 2D scrolling not working when setting viewport scroll behaviour to use left mouse button
2018-05-29 09:44:33 +01:00
Alexander Weiss e1a164b531 Change: [OSX] Setting mouse-wheel to scroll the map does not disable pinch to zoom 2018-05-24 21:31:37 +02:00
PeterN cfe6a8ea4f
Add: Replace independment map scrolling GUI settings with single option, and add choice to not lock cursor position when scrolling. (#6756) 2018-04-28 22:27:14 +01:00
michi_cc e856e3cca8 (svn r27934) -Fix (r27900): Warning about unsigned unary minus. 2017-12-09 19:21:41 +00:00
frosch 09abccd316 (svn r27901) -Codechange: GetWindowZPriority only needs a WindowClass; this way it can also be used for WindowDesc before a Window instance is created. (3298) 2017-08-27 13:14:37 +00:00
frosch 80dffae130 (svn r27900) -Change [FS#6568]: Remove the gap between windows when positioning them after opening.
-Fix: Make automatic window-positioning RTL-aware.
-Fix: Automatic window-positioning now uses GUI-scale/style dependent sizes/distances instead of fixed pixel values.
2017-08-27 11:48:38 +00:00
frosch b4b98e5165 (svn r27893) -Codechange: Use fallthrough attribute. (LordAro) 2017-08-13 18:38:42 +00:00
peter1138 65d77ff317 (svn r27826) -Fix (r27825): Wrong code style 2017-03-24 19:25:01 +00:00
peter1138 d934ef9b00 (svn r27825) -Feature [FS#4950]: Add option to close windows with right click (Flamefire) 2017-03-24 18:55:16 +00:00
peter1138 73ea8cdb21 (svn r27816) -Fix [FS#6421]: Do not search directories when opening ini files as we already have their full path. 2017-03-20 19:30:49 +00:00
frosch 3419bff4ed (svn r27712) -Codechange: Reduce recursions in DrawOverlappedWindow by limiting the area to the window bounds first. (adf88) 2016-12-25 17:56:57 +00:00
frosch 3cb7d9703b (svn r27628) -Codechange: Prepare for drawing cursors consisting of multiple sprites. 2016-08-15 18:33:08 +00:00
frosch cade383f9b (svn r27579) -Change [FS#6402]: Performance improvement for dedicated servers by skipping drawing calls earlier in the process. (JGR) 2016-05-22 11:30:25 +00:00
frosch 44d1fc4253 (svn r27425) -Fix [FS#5842]: Crash when switching to or taking over companies, when an order window of a vehicle of the new company was opened. Now close those windows. 2015-10-30 17:23:16 +00:00
rubidium 06d7d63216 (svn r27185) -Fix: prevent the compiler from optimizing an assignment away which caused GCC 5 to actually crash 2015-03-13 20:54:35 +00:00
frosch 1cf09f804b (svn r27147) -Fix: Scale (non-custom) default window sizes according to GUI zoom. 2015-02-13 21:25:48 +00:00
frosch e113f5e4a1 (svn r27146) -Fix: Make statusbar and chat-entry window use the same width as the toolbar. Otherwise they lack a size definition. 2015-02-13 21:13:45 +00:00
peter1138 253c91b17d (svn r26990) -Feature: Add option to choose normal, double or quad-size interface. 2014-10-11 13:22:37 +00:00
planetmaker 61e129cc22 (svn r26815) -Change: Allow to set the granularity of the tooltip hover time in milliseconds instead of seconds. New default value is 250ms 2014-09-13 13:30:31 +00:00
alberth 8755c26793 (svn r26610) -Feature: Select an editable preset name for saving. 2014-05-24 19:11:20 +00:00
rubidium b476086c39 (svn r26538) -Codechange: remove double accounting of the drivers 2014-04-28 21:06:51 +00:00
rubidium 0463dbdc9e (svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values 2014-04-23 20:13:33 +00:00
alberth aee9444c1b (svn r26392) -Fix[FS#5933] No need to call OnFocus twice (MJP) 2014-03-05 21:21:55 +00:00
rubidium 2618d960e3 (svn r26209) -Codechange: remove some template magic and simplify some code 2014-01-02 22:41:58 +00:00
rubidium 79ccf48636 (svn r26122) -Fix-ish: remove essentially dead code; if nested_array were NULL there, it would segfault in RaiseWidget 2013-11-26 13:23:31 +00:00
frosch c08259fe92 (svn r25884) -Fix: Resizing the window did not properly resize the viewport window, resulting in the link graph glitching. 2013-10-19 15:28:54 +00:00
michi_cc d15c1c5d4a (svn r25692) -Add: Replacement of a part of the edit box text with a new string. 2013-08-05 20:37:57 +00:00
michi_cc 30867c487f (svn r25691) -Add: [OSX] Support for mouse selection in the IME composition string. 2013-08-05 20:37:53 +00:00
michi_cc e2ec0ddb03 (svn r25690) -Change: [OSX] Position the candidate window at the caret position. 2013-08-05 20:37:48 +00:00
michi_cc f5e4131492 (svn r25689) -Add: [OSX] Display the IME composition string ourself. 2013-08-05 20:37:44 +00:00
michi_cc 0883cf76e3 (svn r25684) -Change: [Win32] Draw the composition string ourselves if possible. 2013-08-05 20:37:25 +00:00
michi_cc da09fd3077 (svn r25681) -Change: [Win32] Position the IME composition window at the caret position. 2013-08-05 20:37:14 +00:00
michi_cc 7422120014 (svn r25679) -Codechange: [Win32] Get the result string of an IME input directly without a trip through the window messaging system. 2013-08-05 20:37:06 +00:00
michi_cc 13873d2534 (svn r25678) -Codechange: Notify the video driver when an edit box lost (global) focus so it can abort any current input composition. 2013-08-05 20:37:02 +00:00
michi_cc 019984a14f (svn r25671) -Codechange: Pass character and key code separately to the keyboard handler. 2013-08-05 20:36:36 +00:00
michi_cc 270d8aa639 (svn r25670) -Codechange: Pass UCS-4 characters to the edit box key handler. 2013-08-05 20:36:32 +00:00
michi_cc 923eb009e8 (svn r25667) -Fix: [Win32] Only forward key presses to the IME system if an edit box has the input focus. 2013-08-05 20:36:20 +00:00
frosch a3efc99034 (svn r25647) -Add: If an editbox is configured to be cleared with ESC, but the editbox is already empty, unselect the editbox instead. 2013-08-03 21:26:49 +00:00
frosch ee4e68bd5e (svn r25413) -Fix-ish: Suppress focussing editboxes which are not visible. 2013-06-15 15:31:04 +00:00
frosch 6291383823 (svn r25411) -Add: Window::OnHotkey 2013-06-15 15:30:16 +00:00
frosch 18ae9c78bc (svn r25402) -Fix-ish: Prevent copying of BasePool and WindowDesc, since they register in static vectors. 2013-06-15 15:06:22 +00:00
frosch dd826ecbdf (svn r25297) -Fix (r25291): 32bit compilation. 2013-05-26 20:17:07 +00:00
frosch 05c472f08a (svn r25295) -Feature: Allow saving window sizes as default sizes. 2013-05-26 19:30:31 +00:00
frosch 4e4e635916 (svn r25294) -Feature: Add another button to window title bars to resize the window to its default size. 2013-05-26 19:30:07 +00:00
frosch ed851034f5 (svn r25292) -Feature: Save stickyness of windows when Ctrl+Clicking the sticky button. 2013-05-26 19:27:44 +00:00
frosch 23ba42b66c (svn r25291) -Add: WindowDesc ability to load and store information in a config file. 2013-05-26 19:27:22 +00:00
frosch 8157a8afd8 (svn r25290) -Add: Assign string names to notable windows. 2013-05-26 19:25:01 +00:00
frosch 8c4714ad90 (svn r25289) -Codechange: Store width of statusbar and main toolbar directly in the WindowDesc. 2013-05-26 19:24:37 +00:00
frosch b6d76c4d4c (svn r25288) -Codechange: No need to copy the WindowDesc flags if the WindowDesc is directly accessible. 2013-05-26 19:24:11 +00:00
frosch 56e4a8c4d6 (svn r25287) -Codechange: Keep a reference to the WindowDesc in the Window after construction. 2013-05-26 19:23:42 +00:00
frosch c2c50b0c50 (svn r25092) -Codechange: Deduplicate keyboard handling between console and editboxes. 2013-03-17 13:05:45 +00:00
planetmaker c24374f99c (svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow) 2013-01-08 22:46:42 +00:00
glx 5d74b679e6 (svn r24780) -Fix [FS#5378]: passing an int to a function expecting a byte can have side effects when MSVC optimises it 2012-12-03 21:03:13 +00:00
frosch 5dfd5e58ee (svn r24774) -Fix: Invert the focus handling of the OSK. Keep the focus at the OSK and close it on losing focus. This makes the editbox in the OSK behave correctly. 2012-11-28 21:14:28 +00:00