[gnome-todo] window: implement new-list action



commit 18fff0af99bb12ff99b4b8f7fe3c15f8f96eb0b8
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Thu Aug 27 10:05:14 2015 -0300

    window: implement new-list action

 data/gtk/menus.ui     |    2 +-
 src/gtd-application.c |    1 -
 src/gtd-window.c      |   20 +++++++++++++++++++-
 3 files changed, 20 insertions(+), 3 deletions(-)
---
diff --git a/data/gtk/menus.ui b/data/gtk/menus.ui
index 78b8418..0b1fbeb 100644
--- a/data/gtk/menus.ui
+++ b/data/gtk/menus.ui
@@ -5,7 +5,7 @@
     <section>
       <item>
         <attribute name="label" translatable="yes">New List…</attribute>
-        <attribute name="action">app.new</attribute>
+        <attribute name="action">win.new-list</attribute>
         <attribute name="accel">&lt;Primary&gt;n</attribute>
       </item>
       <item>
diff --git a/src/gtd-application.c b/src/gtd-application.c
index d19bd73..2a94009 100644
--- a/src/gtd-application.c
+++ b/src/gtd-application.c
@@ -58,7 +58,6 @@ static void           gtd_application_quit                        (GSimpleAction
 G_DEFINE_TYPE_WITH_PRIVATE (GtdApplication, gtd_application, GTK_TYPE_APPLICATION)
 
 static const GActionEntry gtd_application_entries[] = {
-  /*{ "new",    gtd_application_create_new_list },*/
   { "about",  gtd_application_show_about },
   { "quit",   gtd_application_quit }
 };
diff --git a/src/gtd-window.c b/src/gtd-window.c
index df5ec13..f82dcb0 100644
--- a/src/gtd-window.c
+++ b/src/gtd-window.c
@@ -80,6 +80,10 @@ struct _GtdWindow
 
 #define              SAVE_GEOMETRY_ID_TIMEOUT                    100 /* ms */
 
+static void          gtd_window__create_new_list                 (GSimpleAction         *simple,
+                                                                  GVariant              *parameter,
+                                                                  gpointer               user_data);
+
 static void          gtd_window__change_storage_action           (GSimpleAction         *simple,
                                                                   GVariant              *parameter,
                                                                   gpointer               user_data);
@@ -87,7 +91,8 @@ static void          gtd_window__change_storage_action           (GSimpleAction
 G_DEFINE_TYPE_WITH_PRIVATE (GtdWindow, gtd_window, GTK_TYPE_APPLICATION_WINDOW)
 
 static const GActionEntry gtd_window_entries[] = {
-  { "change-storage", gtd_window__change_storage_action }
+  { "change-storage", gtd_window__change_storage_action },
+  { "new-list", gtd_window__create_new_list }
 };
 
 enum {
@@ -474,6 +479,19 @@ gtd_window_update_list_counters (GtdTaskList *list,
   g_free (new_title);
 }
 
+static void
+gtd_window__create_new_list (GSimpleAction *simple,
+                             GVariant      *parameter,
+                             gpointer       user_data)
+{
+  GtdWindowPrivate *priv;
+
+  g_return_if_fail (GTD_IS_WINDOW (user_data));
+
+  priv = GTD_WINDOW (user_data)->priv;
+
+  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->new_list_button), TRUE);
+}
 
 static void
 gtd_window__change_storage_action (GSimpleAction *simple,


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