[Goodies-commits] r1924 - in xfce4-notes-plugin/trunk: . panel-plugin

Mike Massonnet mmassonnet at xfce.org
Sat Aug 26 15:43:00 CEST 2006


Author: mmassonnet
Date: 2006-08-26 13:42:58 +0000 (Sat, 26 Aug 2006)
New Revision: 1924

Modified:
   xfce4-notes-plugin/trunk/ChangeLog
   xfce4-notes-plugin/trunk/TODO
   xfce4-notes-plugin/trunk/panel-plugin/notes-options.c
   xfce4-notes-plugin/trunk/panel-plugin/notes-window.c
Log:
	* panel-plugin/notes-window.c: 
	  - Add CTRL+Page_Down/Up on key press from the GtkTextView 
	    to navigate through the notes.
	  - Add F2 on key press from the GtkTextView to rename (new 
	    function note_page_rename).
	* panel-plugin/notes-options.c: Remove more deprecated code.
	* panel-plugin/notes-window.c: Add accelerators for New note
	  and Close note (Ctrl+N and Ctrl+W).

Modified: xfce4-notes-plugin/trunk/ChangeLog
===================================================================
--- xfce4-notes-plugin/trunk/ChangeLog	2006-08-24 18:25:36 UTC (rev 1923)
+++ xfce4-notes-plugin/trunk/ChangeLog	2006-08-26 13:42:58 UTC (rev 1924)
@@ -1,3 +1,17 @@
+2006-08-14  Mike Massonnet <mmassonnet at gmail.com>
+
+	* panel-plugin/notes-window.c: 
+	  - Add CTRL+Page_Down/Up on key press from the GtkTextView 
+	    to navigate through the notes.
+	  - Add F2 on key press from the GtkTextView to rename (new 
+	    function note_page_rename).
+
+2006-08-12  Mike Massonnet <mmassonnet at gmail.com>
+
+	* panel-plugin/notes-options.c: Remove more deprecated code.
+	* panel-plugin/notes-window.c: Add accelerators for New note
+	  and Close note (Ctrl+N and Ctrl+W).
+
 2006-08-09  Mike Massonnet <mmassonnet at gmail.com>
 
 	* panel-plugin/notes-window.c: Set angle 90 if the label is 

Modified: xfce4-notes-plugin/trunk/TODO
===================================================================
--- xfce4-notes-plugin/trunk/TODO	2006-08-24 18:25:36 UTC (rev 1923)
+++ xfce4-notes-plugin/trunk/TODO	2006-08-26 13:42:58 UTC (rev 1924)
@@ -1,5 +1,2 @@
-* Accelerators (New note, Delete note, Next note, Previous note)
-* Name notes
-    - show it in the title bar OR in the tab
 * HypertextView for hyperlinks
 * Type-ahead style search

Modified: xfce4-notes-plugin/trunk/panel-plugin/notes-options.c
===================================================================
--- xfce4-notes-plugin/trunk/panel-plugin/notes-options.c	2006-08-24 18:25:36 UTC (rev 1923)
+++ xfce4-notes-plugin/trunk/panel-plugin/notes-options.c	2006-08-26 13:42:58 UTC (rev 1924)
@@ -39,7 +39,6 @@
 static void     on_toggle_task_switcher (GtkWidget *, NotesPlugin *);
 static void     on_toggle_always_on_top (GtkWidget *, NotesPlugin *);
 static void     on_toggle_stick (GtkWidget *, NotesPlugin *);
-static void     on_toggle_vscrollbar (GtkWidget *, NotesPlugin *);
 
 
 GtkWidget *
@@ -48,7 +47,6 @@
     GtkWidget *dialog, *vbox;
     GtkWidget *cb_show, *cb_task_switcher, *cb_always_on_top, *cb_stick;
     GtkWidget *hseparator;
-    GtkWidget *cb_vscrollbar;
     NotesOptions *options;
 
     DBG ("New Notes Options");
@@ -109,9 +107,6 @@
 
     g_signal_connect (cb_stick, "toggled", G_CALLBACK (on_toggle_stick), notes);
 
-    g_signal_connect (cb_vscrollbar, "toggled", 
-                      G_CALLBACK (on_toggle_vscrollbar), notes);
-
     gtk_widget_show (dialog);
 
     return dialog;
@@ -173,30 +168,3 @@
     DBG ("Set option stick: %d", toggle_value);
 }
 
-static void
-on_toggle_vscrollbar (GtkWidget *widget, NotesPlugin *notes)
-{
-    gboolean toggle_value;
-    GtkPolicyType vpolicy;
-    gint i;
-    GList *pages;
-    NotePage *page;
-
-    g_object_get (G_OBJECT (widget), "active", &toggle_value, NULL);
-    notes->options.vscrollbar = toggle_value;
-
-    vpolicy = (toggle_value) ? GTK_POLICY_AUTOMATIC : GTK_POLICY_ALWAYS;
-    pages = g_list_nth (notes->note->pages, 0);
-
-    for (i = 0, page = (NotePage *)g_list_nth_data (pages, i); page != NULL;
-         i++, page = (NotePage *)g_list_nth_data (pages, i))
-      {
-        gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (page->scroll), 
-                                        GTK_POLICY_AUTOMATIC, vpolicy);
-        /* This is being very obvious... it doesn't work!
-         * But the setting is correct if you restart the panel */
-      }
-
-    DBG ("Set option vscrollbar: %d", toggle_value);
-}
-

Modified: xfce4-notes-plugin/trunk/panel-plugin/notes-window.c
===================================================================
--- xfce4-notes-plugin/trunk/panel-plugin/notes-window.c	2006-08-24 18:25:36 UTC (rev 1923)
+++ xfce4-notes-plugin/trunk/panel-plugin/notes-window.c	2006-08-26 13:42:58 UTC (rev 1924)
@@ -40,6 +40,7 @@
 static gboolean on_title_scroll (GtkWidget *, GdkEventScroll *, Note *);
 static gboolean on_note_key_press (GtkWidget *, GdkEventKey *, NotesPlugin *);
 static void     on_note_changed (GtkWidget *, NotesPlugin *);
+static void     note_page_rename (Note *);
 static gboolean on_note_rename (GtkWidget *, GdkEventButton *, Note *);
 static void     on_note_rename_response (GtkDialog *, gint response, GSList *);
 static void     on_page_create (GtkWidget *, NotesPlugin *);
@@ -58,6 +59,9 @@
     note = g_new0 (Note, 1);
     note->pages = NULL;
 
+    GtkAccelGroup *accel_group;
+    accel_group = gtk_accel_group_new ();
+
     /* Window */
     note->window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
 
@@ -65,7 +69,10 @@
     gtk_window_set_default_size (GTK_WINDOW (note->window), 242, 200);
     gtk_window_set_decorated (GTK_WINDOW (note->window), FALSE);
     gtk_window_set_icon_name (GTK_WINDOW (note->window), GTK_STOCK_EDIT);
+    gtk_window_add_accel_group (GTK_WINDOW (note->window), accel_group);
 
+    gtk_widget_set_name (note->window, "xfce4-notes-plugin");
+
     /* Prevent close window */
     g_signal_connect (note->window, "delete-event", G_CALLBACK (on_note_delete),
                       NULL);
@@ -107,6 +114,8 @@
 
     gtk_container_add (GTK_CONTAINER (note->add), image_add);
 
+    gtk_widget_add_accelerator (note->add, "clicked", accel_group, 'N', 
+                                GDK_CONTROL_MASK, GTK_ACCEL_MASK);
     g_signal_connect (note->add, "clicked", G_CALLBACK (on_page_create), notes);
 
     /* Remove button */
@@ -123,10 +132,14 @@
 
     gtk_container_add (GTK_CONTAINER (note->del), image_del);
 
+    gtk_widget_add_accelerator (note->del, "clicked", accel_group, 'W', 
+                                GDK_CONTROL_MASK, GTK_ACCEL_MASK);
     g_signal_connect (note->del, "clicked", G_CALLBACK (on_page_delete), notes);
 
     /* Event box move + Title */
     note->move_event_box = gtk_event_box_new ();
+    gtk_event_box_set_visible_window (GTK_EVENT_BOX (note->move_event_box),
+                                      FALSE);
     gtk_widget_show (note->move_event_box);
 
     gtk_box_pack_start (GTK_BOX (note->hbox), note->move_event_box, TRUE, TRUE,
@@ -339,8 +352,22 @@
 static gboolean
 on_note_key_press (GtkWidget *widget, GdkEventKey *event, NotesPlugin *notes)
 {
-    if (event->type == GDK_KEY_PRESS && event->keyval == GDK_Escape)
-        on_note_close (widget, GTK_TOGGLE_BUTTON (notes->button));
+    if (event->type == GDK_KEY_PRESS)
+      {
+        if (event->keyval == GDK_Escape)
+            on_note_close (widget, GTK_TOGGLE_BUTTON (notes->button));
+        else if (event->state & GDK_CONTROL_MASK)
+          {
+            if (event->keyval == GDK_Page_Down)
+                gtk_notebook_next_page (GTK_NOTEBOOK (notes->note->notebook));
+            else if (event->keyval == GDK_Page_Up)
+                gtk_notebook_prev_page (GTK_NOTEBOOK (notes->note->notebook));
+          }
+        else if (event->keyval == GDK_F2)
+          {
+            note_page_rename (notes->note);
+          }
+      }
 
     return FALSE;
 }
@@ -358,56 +385,61 @@
                                        notes);
 }
 
-static gboolean
-on_note_rename (GtkWidget *widget, GdkEventButton *event, Note *note)
+static void
+note_page_rename (Note *note)
 {
-    if (event->type == GDK_2BUTTON_PRESS && event->button == 1)
-    {
-        DBG ("Rename the note_page_menu_label");
+    DBG ("Rename the note_page_menu_label");
 
-        GSList *slist = NULL;
-        gint id;
-        GtkWidget *dialog, *vbox;
-        GtkWidget *label, *entry;
-        NotePage *page;
+    GSList *slist = NULL;
+    gint id;
+    GtkWidget *dialog, *vbox;
+    GtkWidget *label, *entry;
+    NotePage *page;
 
-        id = gtk_notebook_get_current_page (GTK_NOTEBOOK (note->notebook));
-        page = (NotePage *)g_list_nth_data (note->pages, id);
-        label = page->label;
+    id = gtk_notebook_get_current_page (GTK_NOTEBOOK (note->notebook));
+    page = (NotePage *)g_list_nth_data (note->pages, id);
+    label = page->label;
 
-        dialog =
-            gtk_dialog_new_with_buttons (_("Rename"),
-                                         GTK_WINDOW (note->window),
-                                         GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,
-                                         GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                                         GTK_STOCK_OK, GTK_RESPONSE_OK,
-                                         NULL);
+    dialog =
+        gtk_dialog_new_with_buttons (_("Rename"),
+                                     GTK_WINDOW (note->window),
+                                     GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,
+                                     GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+                                     GTK_STOCK_OK, GTK_RESPONSE_OK, NULL);
 
-        gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE);
-        gtk_window_set_icon_name (GTK_WINDOW (dialog), GTK_STOCK_EDIT);
+    gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE);
+    gtk_window_set_icon_name (GTK_WINDOW (dialog), GTK_STOCK_EDIT);
 
-        vbox = gtk_vbox_new (2, FALSE);
-        gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), vbox);
-        gtk_widget_show (vbox);
+    vbox = gtk_vbox_new (2, FALSE);
+    gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), vbox);
+    gtk_widget_show (vbox);
 
-        gtk_container_set_border_width (GTK_CONTAINER (vbox), 12);
+    gtk_container_set_border_width (GTK_CONTAINER (vbox), 12);
 
-        entry = gtk_entry_new ();
-        gtk_entry_set_text (GTK_ENTRY (entry),
-                            gtk_label_get_text (GTK_LABEL (label)));
-        gtk_widget_show (entry);
+    entry = gtk_entry_new ();
+    gtk_entry_set_text (GTK_ENTRY (entry),
+                        gtk_label_get_text (GTK_LABEL (label)));
+    gtk_widget_show (entry);
 
-        gtk_container_add (GTK_CONTAINER (vbox), entry);
+    gtk_container_add (GTK_CONTAINER (vbox), entry);
 
-        slist = g_slist_append (slist, entry);
-        slist = g_slist_append (slist, page);
+    slist = g_slist_append (slist, entry);
+    slist = g_slist_append (slist, page);
 
-        g_signal_connect (dialog, "response",
-                          G_CALLBACK (on_note_rename_response), slist);
+    g_signal_connect (dialog, "response",G_CALLBACK (on_note_rename_response), 
+                      slist);
 
-        gtk_widget_show (dialog);
-    }
+   gtk_widget_show (dialog);
+}
 
+static gboolean
+on_note_rename (GtkWidget *widget, GdkEventButton *event, Note *note)
+{
+    if (event->type == GDK_2BUTTON_PRESS && event->button == 1)
+      {
+        note_page_rename (note);
+      }
+
     return FALSE;
 }
 




More information about the Goodies-commits mailing list