Improves RT window position management, fixes #6233 (#6239)

* Improves RT window events detection and RT window position computation

* Fixes some limitations in specific cases for Windows and MacOS

* Fixes RT window not restoring saved position at startup

- When maximized at startup, RT window position wasn't restored from
options file. So when unmaximazing RT, position was set to up left
corner instead of restored one
- Other fix: Removed some uses of deprecated Gtk functions

* Improves RT window management for independant edit window mode

Other fixes:
- Monitor ID wasn't correctly computed
- Removes some other deprecated functions uses
- Removes debug printf

* Fixes editor window aspects not restored in MEOW mode on Linux

Other fixes:
- Removes some Gtk warnings when adding a new editor panel in MEOW mode
- Adds robustness to avoid RT windows outside screen at startup loading
corrupted options file with negative position values

* Fixes incorrect max position saturation in dual screen configurations
This commit is contained in:
Pandagrapher
2021-06-21 21:22:14 +02:00
committed by GitHub
parent 7e36240f3a
commit 491b57bee7
6 changed files with 232 additions and 101 deletions

View File

@@ -298,7 +298,6 @@ void Options::setDefaults()
windowMaximized = true;
windowMonitor = 0;
meowMonitor = -1;
meowFullScreen = false;
meowMaximized = true;
meowWidth = 1200;
meowHeight = 680;
@@ -1244,10 +1243,6 @@ void Options::readFromFile(Glib::ustring fname)
meowMonitor = keyFile.get_integer("GUI", "MeowMonitor");
}
if (keyFile.has_key("GUI", "MeowFullScreen")) {
meowFullScreen = keyFile.get_boolean("GUI", "MeowFullScreen");
}
if (keyFile.has_key("GUI", "MeowMaximized")) {
meowMaximized = keyFile.get_boolean("GUI", "MeowMaximized");
}
@@ -2270,7 +2265,6 @@ void Options::saveToFile(Glib::ustring fname)
keyFile.set_integer("GUI", "WindowY", windowY);
keyFile.set_integer("GUI", "WindowMonitor", windowMonitor);
keyFile.set_integer("GUI", "MeowMonitor", meowMonitor);
keyFile.set_boolean("GUI", "MeowFullScreen", meowFullScreen);
keyFile.set_boolean("GUI", "MeowMaximized", meowMaximized);
keyFile.set_integer("GUI", "MeowWidth", meowWidth);
keyFile.set_integer("GUI", "MeowHeight", meowHeight);