[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