[gnote] Save window maximization state



commit fd44cfc4e0010b2d96042a5d87fd1bab3c430cd7
Author: Aurimas Äernius <aurisc4 gmail com>
Date:   Sun Oct 28 22:16:10 2012 +0200

    Save window maximization state
    
    * Add setting main-window-maximized
    * Make main window use this setting to save and restore it's maximization state

 data/org.gnome.gnote.gschema.xml.in |    5 +++++
 src/preferences.cpp                 |    1 +
 src/preferences.hpp                 |    1 +
 src/recentchanges.cpp               |    7 +++++++
 4 files changed, 14 insertions(+), 0 deletions(-)
---
diff --git a/data/org.gnome.gnote.gschema.xml.in b/data/org.gnome.gnote.gschema.xml.in
index 7477f22..aba76d6 100644
--- a/data/org.gnome.gnote.gschema.xml.in
+++ b/data/org.gnome.gnote.gschema.xml.in
@@ -55,6 +55,11 @@
       <_summary>Enable startup notes</_summary>
       <_description>If enabled, all notes that were open when Gnote quit will automatically be reopened at startup.</_description>
     </key>
+    <key name="main-window-maximized" type="b">
+      <default>false</default>
+      <_summary>Is main window maximized</_summary>
+      <_description>If true, Gnote window will be maximized.</_description>
+    </key>
     <key name="search-window-height" type="i">
       <default>0</default>
       <_summary>Saved height of Search window</_summary>
diff --git a/src/preferences.cpp b/src/preferences.cpp
index e7e5753..fc76aa5 100644
--- a/src/preferences.cpp
+++ b/src/preferences.cpp
@@ -62,6 +62,7 @@ namespace gnote {
   const char * Preferences::NOTE_RENAME_BEHAVIOR = "note-rename-behavior";
   const char * Preferences::USE_STATUS_ICON = "use-status-icon";
 
+  const char * Preferences::MAIN_WINDOW_MAXIMIZED = "main-window-maximized";
   const char * Preferences::SEARCH_WINDOW_X_POS = "search-window-x-pos";
   const char * Preferences::SEARCH_WINDOW_Y_POS = "search-window-y-pos";
   const char * Preferences::SEARCH_WINDOW_WIDTH = "search-window-width";
diff --git a/src/preferences.hpp b/src/preferences.hpp
index 04448f4..888dc6f 100644
--- a/src/preferences.hpp
+++ b/src/preferences.hpp
@@ -60,6 +60,7 @@ namespace gnote {
     static const char *NOTE_RENAME_BEHAVIOR;
     static const char *USE_STATUS_ICON;
 
+    static const char *MAIN_WINDOW_MAXIMIZED;
     static const char *SEARCH_WINDOW_X_POS;
     static const char *SEARCH_WINDOW_Y_POS;
     static const char *SEARCH_WINDOW_WIDTH;
diff --git a/src/recentchanges.cpp b/src/recentchanges.cpp
index e694f5d..7bd05dd 100644
--- a/src/recentchanges.cpp
+++ b/src/recentchanges.cpp
@@ -47,6 +47,10 @@ namespace gnote {
   {
     set_default_size(450,400);
     set_resizable(true);
+    if(Preferences::obj().get_schema_settings(Preferences::SCHEMA_GNOTE)->get_boolean(
+         Preferences::MAIN_WINDOW_MAXIMIZED)) {
+      maximize();
+    }
 
     add_accel_group(ActionManager::obj().get_ui()->get_accel_group());
 
@@ -158,6 +162,9 @@ namespace gnote {
 
   void NoteRecentChanges::on_close_window()
   {
+    Preferences::obj().get_schema_settings(Preferences::SCHEMA_GNOTE)->set_boolean(
+        Preferences::MAIN_WINDOW_MAXIMIZED,
+        get_window()->get_state() & Gdk::WINDOW_STATE_MAXIMIZED);
     std::vector<Gtk::Widget*> current = m_embed_box.get_children();
     for(std::vector<Gtk::Widget*>::iterator iter = current.begin();
         iter != current.end(); ++iter) {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]