[gnote] Fix UI for InsertTimeStamp addin (Closes #582788)



commit 10f9a89dd8ee8f401956d1e8c6405ffbccbfffab
Author: Hubert Figuiere <hub figuiere net>
Date:   Sat May 16 17:33:03 2009 -0400

    Fix UI for InsertTimeStamp addin (Closes #582788)
---
 NEWS                                               |    1 +
 .../inserttimestamp/inserttimestampnoteaddin.cpp   |    2 +-
 .../inserttimestamp/inserttimestamppreferences.cpp |   46 ++++++++++++++++++-
 3 files changed, 45 insertions(+), 4 deletions(-)

diff --git a/NEWS b/NEWS
index 8bf5dd1..513b4ad 100644
--- a/NEWS
+++ b/NEWS
@@ -17,6 +17,7 @@ Fixes:
   * Fix crash when entering an URL instead of a host name for the 
     bugzilla icon in the bugzilla addin (Closes #581080)
   * Stop calculating the status icon menu position by thyself.
+  * Fix UI for InsertTimeStamp addin (Closes #582788) (0.1.1)
 
 Translations:
 
diff --git a/src/addins/inserttimestamp/inserttimestampnoteaddin.cpp b/src/addins/inserttimestamp/inserttimestampnoteaddin.cpp
index 5d8ebd0..72abba0 100644
--- a/src/addins/inserttimestamp/inserttimestampnoteaddin.cpp
+++ b/src/addins/inserttimestamp/inserttimestampnoteaddin.cpp
@@ -58,7 +58,7 @@ namespace inserttimestamp {
   }
   const char * InsertTimeStampModule::version() const
   {
-    return "0.1";
+    return "0.1.1";
   }
 
 
diff --git a/src/addins/inserttimestamp/inserttimestamppreferences.cpp b/src/addins/inserttimestamp/inserttimestamppreferences.cpp
index d2c4b34..3e4d380 100644
--- a/src/addins/inserttimestamp/inserttimestamppreferences.cpp
+++ b/src/addins/inserttimestamp/inserttimestamppreferences.cpp
@@ -135,10 +135,50 @@ namespace inserttimestamp {
     }
 
     // Register Toggled event for one radio button only
-//    selected_radio.Toggled += OnSelectedRadioToggled;
-//    tv.Selection.Changed += OnSelectionChanged;
-
+    selected_radio->signal_toggled().connect(
+      sigc::mem_fun(*this, 
+                    &InsertTimestampPreferences::on_selected_radio_toggled));
+    tv->get_selection()->signal_changed().connect(
+      sigc::mem_fun(*this, 
+                    &InsertTimestampPreferences::on_selection_changed));
     show_all ();
   }
 
+
+  /// Called when toggling between radio buttons.
+  /// Activate/deactivate widgets depending on selection.
+  void InsertTimestampPreferences::on_selected_radio_toggled ()
+  {
+    if (selected_radio->get_active()) {
+      scroll->set_sensitive(true);
+      custom_entry->set_sensitive(false);
+      // select 1st row
+      Gtk::TreeIter iter;
+      iter = store->children().begin();
+      tv->get_selection()->select(iter);
+      Gtk::TreePath treepath = store->get_path(iter);				
+      tv->scroll_to_row(treepath);
+    } 
+    else {
+      scroll->set_sensitive(false);
+      custom_entry->set_sensitive(true);
+      tv->get_selection()->unselect_all ();
+    }
+  }
+
+  /// Called when a different format is selected in the TreeView.
+  /// Set the GConf key to selected format.
+  void InsertTimestampPreferences::on_selection_changed ()
+  {
+    Gtk::TreeIter iter;
+
+    iter = tv->get_selection()->get_selected();
+    if (iter) {
+      std::string format;
+      iter->get_value(1, format);
+      Preferences::obj().set<std::string>(Preferences::INSERT_TIMESTAMP_FORMAT,
+                                          format);
+    }
+  }
+
 }



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