added menu
authorJean-Philippe Orsini <jeanfi@gmail.com>
Wed, 4 Dec 2013 22:14:23 +0000 (22:14 +0000)
committerJean-Philippe Orsini <jeanfi@gmail.com>
Wed, 4 Dec 2013 22:14:23 +0000 (22:14 +0000)
NEWS
NEWS.html
src/glade/ptask.glade
src/ui.c

diff --git a/NEWS b/NEWS
index e167c36..3505bab 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -10,6 +10,7 @@ v0.0.5
  * added support of tasks with deleted status.
  * added urgency column.
  * implemented the cancel button of the task panel.
+ * added menu.
 
 v0.0.4
 ------
index 5e3ebdb..9c43b0a 100644 (file)
--- a/NEWS.html
+++ b/NEWS.html
@@ -351,6 +351,11 @@ added urgency column.
 implemented the cancel button of the task panel.\r
 </p>\r
 </li>\r
+<li>\r
+<p>\r
+added menu.\r
+</p>\r
+</li>\r
 </ul></div>\r
 </div>\r
 </div>\r
@@ -496,7 +501,7 @@ Initial release.
 <div id="footnotes"><hr /></div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 2013-12-04 21:47:15 CET\r
+Last updated 2013-12-04 23:13:52 CET\r
 </div>\r
 </div>\r
 </body>\r
index 43cd0ce..4efa9b4 100644 (file)
               <object class="GtkMenuItem" id="menuitem1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="label" translatable="yes">_File</property>
+                <property name="label" translatable="yes">ptask</property>
                 <property name="use_underline">True</property>
                 <child type="submenu">
                   <object class="GtkMenu" id="menu1">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
-                      <object class="GtkImageMenuItem" id="imagemenuitem1">
-                        <property name="label">gtk-new</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkImageMenuItem" id="imagemenuitem2">
-                        <property name="label">gtk-open</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkImageMenuItem" id="imagemenuitem3">
-                        <property name="label">gtk-save</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkImageMenuItem" id="imagemenuitem4">
-                        <property name="label">gtk-save-as</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkSeparatorMenuItem" id="separatormenuitem1">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                      </object>
-                    </child>
-                    <child>
                       <object class="GtkImageMenuItem" id="imagemenuitem5">
                         <property name="label">gtk-quit</property>
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="use_underline">True</property>
                         <property name="use_stock">True</property>
+                        <signal name="activate" handler="quit_activate_cbk" swapped="no"/>
                       </object>
                     </child>
                   </object>
                         <property name="can_focus">False</property>
                         <property name="use_underline">True</property>
                         <property name="use_stock">True</property>
+                        <signal name="activate" handler="about_activate_cbk" swapped="no"/>
                       </object>
                     </child>
                   </object>
index 4eeb4f2..6be3e32 100644 (file)
--- a/src/ui.c
+++ b/src/ui.c
@@ -16,6 +16,9 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
  * 02110-1301 USA
  */
+#include <config.h>
+
+#include <glib/gi18n.h>
 
 #include <log.h>
 #include <ui.h>
@@ -24,6 +27,9 @@
 #include <ui_tasktree.h>
 
 static GtkComboBox *w_status;
+static GSettings *gsettings;
+static GtkWindow *window;
+
 
 int newtask_clicked_cbk(GtkButton *btn, gpointer data)
 {
@@ -60,13 +66,18 @@ int refresh_clicked_cbk(GtkButton *btn, gpointer data)
 }
 
 
+static void ui_quit()
+{
+       save_settings(window, gsettings);
+       gtk_widget_destroy(GTK_WIDGET(window));
+       gtk_main_quit();
+}
+
 static gboolean delete_event_cbk(GtkWidget *w, GdkEvent *evt, gpointer data)
 {
        log_fct_enter();
 
-       save_settings(GTK_WINDOW(w), (GSettings *)data);
-       gtk_widget_destroy(w);
-       gtk_main_quit();
+       ui_quit();
 
        log_fct_exit();
 
@@ -83,9 +94,10 @@ static int status_changed_cbk(GtkComboBox *w, gpointer data)
 
 GtkWindow *create_window(GtkBuilder *builder, GSettings *settings)
 {
-       GtkWindow *window;
        int x, y, w, h;
 
+       gsettings = settings;
+
        window = GTK_WINDOW(gtk_builder_get_object(builder, "window"));
 
        w_status = GTK_COMBO_BOX(gtk_builder_get_object(builder, "status"));
@@ -125,3 +137,31 @@ const char *ui_get_status_filter()
 
        return status;
 }
+
+void quit_activate_cbk(GtkWidget *menu_item, gpointer data)
+{
+       log_fct_enter();
+       ui_quit();
+       log_fct_exit();
+}
+
+void about_activate_cbk(GtkWidget *menu_item, gpointer data)
+{
+       log_fct_enter();
+
+       gtk_show_about_dialog
+               (NULL,
+                "comments",
+                _("ptask is a GTK+ task management application"),
+                "copyright",
+                _("Copyright(c) 2010-2013\njeanfi@gmail.com"),
+                "logo-icon-name", "ptask",
+                "program-name", "ptask",
+                "title", _("About ptask"),
+                "version", VERSION,
+                "website", PACKAGE_URL,
+                "website-label", _("ptask Homepage"),
+                NULL);
+
+       log_fct_exit();
+}