Remember fullscreen state of secondary window in MEOW mode

This commit is contained in:
heckflosse
2017-07-15 14:12:17 +02:00
parent 76dba8fc7b
commit fbf8999016
4 changed files with 20 additions and 2 deletions

View File

@@ -57,7 +57,15 @@ EditWindow* EditWindow::getInstance(RTWindow* p)
Gdk::Rectangle lMonitorRect; Gdk::Rectangle lMonitorRect;
instance_.editWnd.get_screen()->get_monitor_geometry(meowMonitor, lMonitorRect); instance_.editWnd.get_screen()->get_monitor_geometry(meowMonitor, lMonitorRect);
instance_.editWnd.move(lMonitorRect.get_x(), lMonitorRect.get_y()); instance_.editWnd.move(lMonitorRect.get_x(), lMonitorRect.get_y());
instance_.editWnd.maximize();
if(!options.meowFullScreen) {
instance_.editWnd.maximize();
instance_.editWnd.setFullScreen(false);
} else {
instance_.editWnd.fullscreen();
instance_.editWnd.setFullScreen(true);
}
instance_.editWnd.show_all (); instance_.editWnd.show_all ();
} }
@@ -257,9 +265,11 @@ bool EditWindow::on_delete_event(GdkEventAny* event)
parent->fpanel->refreshEditedState (filesEdited); parent->fpanel->refreshEditedState (filesEdited);
if(isMultiDisplayEnabled()) { if(isMultiDisplayEnabled()) {
options.meowMonitor = get_screen()->get_monitor_at_window (get_window()); options.meowMonitor = get_screen()->get_monitor_at_window(get_window());
} }
options.meowFullScreen = isFullscreen;
hide(); hide();
unmaximize(); unmaximize();

View File

@@ -53,6 +53,7 @@ public:
//bool on_window_state_event(GdkEventWindowState* event); //bool on_window_state_event(GdkEventWindowState* event);
void on_mainNB_switch_page(Gtk::Widget* page, guint page_num); void on_mainNB_switch_page(Gtk::Widget* page, guint page_num);
void set_title_decorated(Glib::ustring fname); void set_title_decorated(Glib::ustring fname);
void setFullScreen (bool fullScreen) { isFullscreen = fullScreen; }
void on_realize (); void on_realize ();
}; };

View File

@@ -296,6 +296,7 @@ void Options::setDefaults ()
windowY = 0; windowY = 0;
windowMaximized = true; windowMaximized = true;
meowMonitor = -1; meowMonitor = -1;
meowFullScreen = false;
saveAsDialogWidth = 920; saveAsDialogWidth = 920;
saveAsDialogHeight = 680; saveAsDialogHeight = 680;
savesParamsAtExit = true; savesParamsAtExit = true;
@@ -1263,6 +1264,10 @@ int Options::readFromFile (Glib::ustring fname)
meowMonitor = keyFile.get_integer ("GUI", "MeowMonitor"); meowMonitor = keyFile.get_integer ("GUI", "MeowMonitor");
} }
if (keyFile.has_key ("GUI", "MeowFullScreen")) {
meowFullScreen = keyFile.get_boolean ("GUI", "MeowFullScreen");
}
if (keyFile.has_key ("GUI", "WindowMaximized")) { if (keyFile.has_key ("GUI", "WindowMaximized")) {
windowMaximized = keyFile.get_boolean ("GUI", "WindowMaximized"); windowMaximized = keyFile.get_boolean ("GUI", "WindowMaximized");
} }
@@ -2015,6 +2020,7 @@ int Options::saveToFile (Glib::ustring fname)
keyFile.set_integer ("GUI", "WindowX", windowX); keyFile.set_integer ("GUI", "WindowX", windowX);
keyFile.set_integer ("GUI", "WindowY", windowY); keyFile.set_integer ("GUI", "WindowY", windowY);
keyFile.set_integer ("GUI", "MeowMonitor", meowMonitor); keyFile.set_integer ("GUI", "MeowMonitor", meowMonitor);
keyFile.set_boolean ("GUI", "MeowFullScreen", meowFullScreen);
keyFile.set_boolean ("GUI", "WindowMaximized", windowMaximized); keyFile.set_boolean ("GUI", "WindowMaximized", windowMaximized);
keyFile.set_integer ("GUI", "DetailWindowWidth", detailWindowWidth); keyFile.set_integer ("GUI", "DetailWindowWidth", detailWindowWidth);
keyFile.set_integer ("GUI", "DetailWindowHeight", detailWindowHeight); keyFile.set_integer ("GUI", "DetailWindowHeight", detailWindowHeight);

View File

@@ -135,6 +135,7 @@ public:
int windowWidth; int windowWidth;
int windowHeight; int windowHeight;
int meowMonitor; int meowMonitor;
bool meowFullScreen;
int windowX; int windowX;
int windowY; int windowY;
bool windowMaximized; bool windowMaximized;