[Goodies-commits] r3347 - xfce4-notes-plugin/trunk/panel-plugin

Mike Massonnet mmassonnet at xfce.org
Thu Oct 11 00:01:31 CEST 2007


Author: mmassonnet
Date: 2007-10-10 22:01:31 +0000 (Wed, 10 Oct 2007)
New Revision: 3347

Modified:
   xfce4-notes-plugin/trunk/panel-plugin/notes.c
   xfce4-notes-plugin/trunk/panel-plugin/notes.h
   xfce4-notes-plugin/trunk/panel-plugin/panel-plugin.c
Log:
* notes.c(notes_plugin_save_data_all): New function, saves all the NotesNote on
  free/quit overmore the NotesWindow.


Modified: xfce4-notes-plugin/trunk/panel-plugin/notes.c
===================================================================
--- xfce4-notes-plugin/trunk/panel-plugin/notes.c	2007-10-10 22:01:18 UTC (rev 3346)
+++ xfce4-notes-plugin/trunk/panel-plugin/notes.c	2007-10-10 22:01:31 UTC (rev 3347)
@@ -76,8 +76,6 @@
 
 static void             notes_window_delete_note        (NotesWindow *notes_window);
 
-static gboolean         notes_note_save_data            (NotesNote *notes_note);
-
 static inline void      notes_note_sort_names           (NotesNote *notes_note);
 
 static gint             notes_note_strcasecmp           (NotesNote *notes_note0,
@@ -1290,7 +1288,7 @@
   g_free (filename);
 }
 
-static gboolean
+gboolean
 notes_note_save_data (NotesNote *notes_note)
 {
   DBG ("Save note `%s'", notes_note->name);

Modified: xfce4-notes-plugin/trunk/panel-plugin/notes.h
===================================================================
--- xfce4-notes-plugin/trunk/panel-plugin/notes.h	2007-10-10 22:01:18 UTC (rev 3346)
+++ xfce4-notes-plugin/trunk/panel-plugin/notes.h	2007-10-10 22:01:31 UTC (rev 3347)
@@ -130,6 +130,8 @@
                                                          const gchar *note_name);
 void                    notes_note_load_data            (NotesNote *notes_note,
                                                          GtkTextBuffer *buffer);
+gboolean                notes_note_save_data            (NotesNote *notes_note);
+
 void                    notes_note_destroy              (NotesNote *notes_note);
 
 #endif

Modified: xfce4-notes-plugin/trunk/panel-plugin/panel-plugin.c
===================================================================
--- xfce4-notes-plugin/trunk/panel-plugin/panel-plugin.c	2007-10-10 22:01:18 UTC (rev 3346)
+++ xfce4-notes-plugin/trunk/panel-plugin/panel-plugin.c	2007-10-10 22:01:31 UTC (rev 3347)
@@ -36,8 +36,10 @@
 
 static void             notes_plugin_load_data          (NotesPlugin *notes_plugin);
 
-static void             notes_plugin_save_data          (NotesPlugin *notes_plugin);
+static inline void      notes_plugin_save_data          (NotesPlugin *notes_plugin);
 
+static void             notes_plugin_save_data_all      (NotesPlugin *notes_plugin);
+
 static void             notes_plugin_free               (NotesPlugin *notes_plugin);
 
 static gboolean         notes_plugin_set_size           (NotesPlugin *notes_plugin, 
@@ -75,7 +77,6 @@
   NotesPlugin *notes_plugin = g_slice_new0 (NotesPlugin);
   notes_plugin->panel_plugin = panel_plugin;
   notes_plugin->windows = NULL;
-  /* notes_plugin->timeout_id = 0; FIXME */
 
   notes_plugin->btn_panel = xfce_create_panel_toggle_button ();
   notes_plugin->icon_panel = gtk_image_new ();
@@ -159,19 +160,28 @@
   return TRUE;
 }
 
-static void
+static inline void
 notes_plugin_save_data (NotesPlugin *notes_plugin)
 {
   g_slist_foreach (notes_plugin->windows, (GFunc)notes_window_save_data, NULL);
 }
 
 static void
-notes_plugin_free (NotesPlugin *notes_plugin)
+notes_plugin_save_data_all (NotesPlugin *notes_plugin)
 {
-  /* if (notes->timeout_id > 0)
-    g_source_remove (notes->timeout_id); FIXME */
+  guint                 i = 0;
+  NotesWindow          *notes_window;
 
   notes_plugin_save_data (notes_plugin);
+
+  while (NULL != (notes_window = (NotesWindow *)g_slist_nth_data (notes_plugin->windows, i++)))
+    g_slist_foreach (notes_window->notes, (GFunc)notes_note_save_data, NULL);
+}
+
+static void
+notes_plugin_free (NotesPlugin *notes_plugin)
+{
+  notes_plugin_save_data_all (notes_plugin);
   gtk_main_quit ();
 }
 
@@ -192,7 +202,7 @@
   gtk_menu_shell_append (GTK_MENU_SHELL (notes_plugin->menu), mi_foo);
   gtk_menu_shell_append (GTK_MENU_SHELL (notes_plugin->menu), mi_sep);
 
-  while ((notes_window = (NotesWindow *)g_slist_nth_data (notes_plugin->windows, i++)) != NULL)
+  while (NULL != (notes_window = (NotesWindow *)g_slist_nth_data (notes_plugin->windows, i++)))
     {
       TRACE ("notes_window (%d): %p", (i-1), notes_window);
       GtkWidget *mi_foo = gtk_image_menu_item_new_with_label (notes_window->name);




More information about the Goodies-commits mailing list