/* Called when a timeout occurs. */ static gboolean timeout_happened (gpointer data) { if (GPOINTER_TO_UINT (data) == stickynotes->last_timeout_data) stickynotes_save (); return FALSE; }
/* Sticky Window Callback : Store settings when resizing/moving the window */ gboolean stickynote_configure_cb(GtkWidget *widget, GdkEventConfigure *event, StickyNote *note) { note->x = event->x; note->y = event->y; note->w = event->width; note->h = event->height; stickynotes_save(); return FALSE; }
/* Change the sticky note title and color */ void stickynote_change_properties (StickyNote *note) { char *color_str = NULL; gtk_entry_set_text(GTK_ENTRY(note->w_entry), gtk_label_get_text (GTK_LABEL (note->w_title))); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(note->w_def_color), note->color == NULL); if (note->color) color_str = g_strdup (note->color); else { color_str = g_settings_get_string (stickynotes->settings, "default-color"); } if (color_str) { GdkRGBA color; gdk_rgba_parse (&color, color_str); gtk_color_chooser_set_rgba (GTK_COLOR_CHOOSER (note->w_color), &color); g_free (color_str); } if (note->font_color) color_str = g_strdup (note->font_color); else { color_str = g_settings_get_string (stickynotes->settings, "default-font-color"); } if (color_str) { GdkRGBA font_color; gdk_rgba_parse (&font_color, color_str); gtk_color_chooser_set_rgba (GTK_COLOR_CHOOSER (note->w_font_color), &font_color); g_free (color_str); } gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(note->w_def_font), note->font == NULL); if (note->font) gtk_font_button_set_font_name (GTK_FONT_BUTTON (note->w_font), note->font); gtk_widget_show (note->w_properties); stickynotes_save(); }
/* Destroy all response Callback: Callback for the destroy all dialog */ static void destroy_all_response_cb (GtkDialog *dialog, gint id, StickyNotesApplet *applet) { if (id == GTK_RESPONSE_OK) { while (g_list_length(stickynotes->notes) > 0) { StickyNote *note = g_list_nth_data(stickynotes->notes, 0); stickynote_free(note); stickynotes->notes = g_list_remove(stickynotes->notes, note); } } stickynotes_applet_update_tooltips(); stickynotes_save(); gtk_widget_destroy (GTK_WIDGET (dialog)); applet->destroy_all_dialog = NULL; }
/* Preferences Callback : Apply to existing notes. */ void preferences_apply_cb(GSettings *settings, gchar *key, gpointer data) { GList *l; StickyNote *note; if (!strcmp (key, "sticky")) { if (g_settings_get_boolean (settings, key)) for (l = stickynotes->notes; l; l = l->next) { note = l->data; gtk_window_stick (GTK_WINDOW (note->w_window)); } else for (l= stickynotes->notes; l; l = l->next) { note = l->data; gtk_window_unstick (GTK_WINDOW ( note->w_window)); } } else if (!strcmp (key, "locked")) { for (l = stickynotes->notes; l; l = l->next) { note = l->data; stickynote_set_locked (note, g_settings_get_boolean (settings, key)); } stickynotes_save(); } else if (!strcmp (key, "use-system-color") || !strcmp (key, "default-color")) { for (l = stickynotes->notes; l; l = l->next) { note = l->data; stickynote_set_color (note, note->color, note->font_color, FALSE); } } else if (!strcmp (key, "use-system-font") || !strcmp (key, "default-font")) { for (l = stickynotes->notes; l; l = l->next) { note = l->data; stickynote_set_font (note, note->font, FALSE); } } else if (!strcmp (key, "force-default")) { for (l = stickynotes->notes; l; l = l->next) { note = l->data; stickynote_set_color(note, note->color, note->font_color, FALSE); stickynote_set_font(note, note->font, FALSE); } } stickynotes_applet_update_prefs(); stickynotes_applet_update_menus(); }
/* Preferences Callback : Apply to existing notes. */ void preferences_apply_cb(GConfClient *client, guint cnxn_id, GConfEntry *entry, gpointer data) { GList *l; StickyNote *note; if (!strcmp (entry->key, GCONF_PATH "/settings/sticky")) { if (gconf_value_get_bool(entry->value)) for (l = stickynotes->notes; l; l = l->next) { note = l->data; gtk_window_stick (GTK_WINDOW (note->w_window)); } else for (l= stickynotes->notes; l; l = l->next) { note = l->data; gtk_window_unstick (GTK_WINDOW ( note->w_window)); } } else if (!strcmp (entry->key, GCONF_PATH "/settings/locked")) { for (l = stickynotes->notes; l; l = l->next) { note = l->data; stickynote_set_locked (note, gconf_value_get_bool (entry->value)); } stickynotes_save(); } else if (!strcmp (entry->key, GCONF_PATH "/settings/use_system_color") || !strcmp (entry->key, GCONF_PATH "/defaults/color")) { for (l = stickynotes->notes; l; l = l->next) { note = l->data; stickynote_set_color (note, note->color, note->font_color, FALSE); } } else if (!strcmp (entry->key, GCONF_PATH "/settings/use_system_font") || !strcmp (entry->key, GCONF_PATH "/defaults/font")) { for (l = stickynotes->notes; l; l = l->next) { note = l->data; stickynote_set_font (note, note->font, FALSE); } } else if (!strcmp (entry->key, GCONF_PATH "/settings/force_default")) { for (l = stickynotes->notes; l; l = l->next) { note = l->data; stickynote_set_color(note, note->color, note->font_color, FALSE); stickynote_set_font(note, note->font, FALSE); } } stickynotes_applet_update_prefs(); stickynotes_applet_update_menus(); }