pidgin/gtkutils.c

changeset 41277
1b6374960c08
parent 41270
8b773de09aaf
child 41312
c39de96b3daf
equal deleted inserted replaced
41276:03f98ece6b26 41277:1b6374960c08
97 void (*callback)(const char*,gpointer); 97 void (*callback)(const char*,gpointer);
98 gpointer data; 98 gpointer data;
99 }; 99 };
100 100
101 /****************************************************************************** 101 /******************************************************************************
102 * Globals
103 *****************************************************************************/
104
105 static guint accels_save_timer = 0;
106
107 /******************************************************************************
108 * Code 102 * Code
109 *****************************************************************************/ 103 *****************************************************************************/
110 104
111 GtkWidget *pidgin_separator(GtkWidget *menu) 105 GtkWidget *pidgin_separator(GtkWidget *menu)
112 { 106 {
278 } 272 }
279 } while (gtk_tree_model_iter_next(model, &iter)); 273 } while (gtk_tree_model_iter_next(model, &iter));
280 } 274 }
281 } 275 }
282 276
283 void
284 pidgin_save_accels_cb(GtkAccelGroup *accel_group, guint arg1,
285 GdkModifierType arg2, GClosure *arg3,
286 gpointer data)
287 {
288 purple_debug_misc("accels", "accel changed, scheduling save.");
289
290 if (!accels_save_timer)
291 accels_save_timer = g_timeout_add_seconds(5, pidgin_save_accels,
292 NULL);
293 }
294
295 gboolean
296 pidgin_save_accels(gpointer data)
297 {
298 char *filename = NULL;
299
300 filename = g_build_filename(purple_config_dir(), "accels", NULL);
301 purple_debug_misc("accels", "saving accels to %s", filename);
302 gtk_accel_map_save(filename);
303 g_free(filename);
304
305 accels_save_timer = 0;
306 return FALSE;
307 }
308
309 void
310 pidgin_load_accels()
311 {
312 char *filename = NULL;
313
314 filename = g_build_filename(purple_config_dir(), "accels", NULL);
315 gtk_accel_map_load(filename);
316 g_free(filename);
317 }
318
319 static void 277 static void
320 show_retrieveing_info(PurpleConnection *conn, const char *name) 278 show_retrieveing_info(PurpleConnection *conn, const char *name)
321 { 279 {
322 PurpleNotifyUserInfo *info = purple_notify_user_info_new(); 280 PurpleNotifyUserInfo *info = purple_notify_user_info_new();
323 purple_notify_user_info_add_pair_plaintext(info, _("Information"), _("Retrieving...")); 281 purple_notify_user_info_add_pair_plaintext(info, _("Information"), _("Retrieving..."));
936 gboolean 894 gboolean
937 pidgin_screenname_autocomplete_default_filter(const PidginBuddyCompletionEntry *completion_entry, gpointer all_accounts) { 895 pidgin_screenname_autocomplete_default_filter(const PidginBuddyCompletionEntry *completion_entry, gpointer all_accounts) {
938 gboolean all = GPOINTER_TO_INT(all_accounts); 896 gboolean all = GPOINTER_TO_INT(all_accounts);
939 897
940 return all || purple_account_is_connected(purple_buddy_get_account(completion_entry->buddy)); 898 return all || purple_account_is_connected(purple_buddy_get_account(completion_entry->buddy));
941 }
942
943 void pidgin_set_cursor(GtkWidget *widget, GdkCursorType cursor_type)
944 {
945 GdkDisplay *display;
946 GdkCursor *cursor;
947
948 g_return_if_fail(widget != NULL);
949 if (gtk_widget_get_window(widget) == NULL)
950 return;
951
952 display = gtk_widget_get_display(widget);
953 cursor = gdk_cursor_new_for_display(display, cursor_type);
954 gdk_window_set_cursor(gtk_widget_get_window(widget), cursor);
955
956 g_object_unref(cursor);
957
958 gdk_display_flush(gdk_window_get_display(gtk_widget_get_window(widget)));
959 }
960
961 void pidgin_clear_cursor(GtkWidget *widget)
962 {
963 g_return_if_fail(widget != NULL);
964 if (gtk_widget_get_window(widget) == NULL)
965 return;
966
967 gdk_window_set_cursor(gtk_widget_get_window(widget), NULL);
968 } 899 }
969 900
970 static void 901 static void
971 icon_filesel_choose_cb(GtkWidget *widget, gint response, struct _icon_chooser *dialog) 902 icon_filesel_choose_cb(GtkWidget *widget, gint response, struct _icon_chooser *dialog)
972 { 903 {

mercurial