Mercurial > pidgin
diff plugins/docklet/docklet.c @ 5024:8e55a4d362a3
[gaim-migrate @ 5361]
Patch by Rob McQueen, NEWS and CREDITS updates.
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Sat, 05 Apr 2003 05:01:47 +0000 |
parents | a701ef925850 |
children | fefad67de2c7 |
line wrap: on
line diff
--- a/plugins/docklet/docklet.c Sat Apr 05 04:48:26 2003 +0000 +++ b/plugins/docklet/docklet.c Sat Apr 05 05:01:47 2003 +0000 @@ -20,7 +20,6 @@ */ /* todo (in order of importance): - - check removing the icon factory actually frees the icons - unify the queue so we can have a global away without the dialog - handle and update tooltips to show your current accounts/queued messages? - show a count of queued messages in the unified queue @@ -57,7 +56,6 @@ /* globals */ static EggTrayIcon *docklet = NULL; static GtkWidget *image = NULL; -static GtkIconFactory *icon_factory = NULL; static enum docklet_status status; static enum docklet_status icon; @@ -94,13 +92,11 @@ switch (status) { case offline: case offline_connecting: - entry = gtk_menu_item_new_with_label(_("Auto-login")); - g_signal_connect(G_OBJECT(entry), "activate", G_CALLBACK(auto_login), NULL); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), entry); + gaim_new_item_from_stock(menu, _("Auto-login"), GAIM_STOCK_SIGN_ON, G_CALLBACK(auto_login), NULL, 0, 0, NULL); break; default: - gaim_new_item_from_stock(menu, _("New Message.."), GTK_STOCK_CONVERT, G_CALLBACK(show_im_dialog), NULL, 0, 0, NULL); - gaim_new_item_from_stock(menu, _("Join A Chat..."), GTK_STOCK_JUMP_TO, G_CALLBACK(join_chat), NULL, 0, 0, NULL); + gaim_new_item_from_stock(menu, _("New Message.."), GAIM_STOCK_IM, G_CALLBACK(show_im_dialog), NULL, 0, 0, NULL); + gaim_new_item_from_stock(menu, _("Join A Chat..."), GAIM_STOCK_CHAT, G_CALLBACK(join_chat), NULL, 0, 0, NULL); break; } @@ -154,8 +150,8 @@ g_signal_connect(G_OBJECT(entry), "toggled", G_CALLBACK(docklet_toggle_mute), NULL); gtk_menu_shell_append(GTK_MENU_SHELL(menu), entry); - gaim_new_item_from_stock(menu, _("File Transfers..."), GTK_STOCK_REVERT_TO_SAVED, G_CALLBACK(gaim_show_xfer_dialog), NULL, 0, 0, NULL); - gaim_new_item_from_pixbuf(menu, _("Accounts..."), "accounts-menu.png", G_CALLBACK(account_editor), NULL, 0, 0, NULL); + gaim_new_item_from_stock(menu, _("File Transfers..."), GAIM_STOCK_FILE_TRANSFER, G_CALLBACK(gaim_show_xfer_dialog), NULL, 0, 0, NULL); + gaim_new_item_from_stock(menu, _("Accounts..."), GAIM_STOCK_ACCOUNTS, G_CALLBACK(account_editor), NULL, 0, 0, NULL); gaim_new_item_from_stock(menu, _("Preferences..."), GTK_STOCK_PREFERENCES, G_CALLBACK(show_prefs), NULL, 0, 0, NULL); gaim_separator(menu); @@ -165,9 +161,7 @@ case offline_connecting: break; default: - entry = gtk_menu_item_new_with_label(_("Signoff")); - g_signal_connect(G_OBJECT(entry), "activate", G_CALLBACK(signoff_all), NULL); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), entry); + gaim_new_item_from_stock(menu, _("Signoff"), GTK_STOCK_CLOSE, G_CALLBACK(signoff_all), NULL, 0, 0, 0); break; } @@ -203,23 +197,23 @@ switch (icon) { case offline: - icon_name = "gaim-docklet-offline"; + icon_name = GAIM_STOCK_ICON_OFFLINE; break; case offline_connecting: case online_connecting: - icon_name = "gaim-docklet-connect"; + icon_name = GAIM_STOCK_ICON_CONNECT; break; case online: - icon_name = "gaim-docklet-online"; + icon_name = GAIM_STOCK_ICON_ONLINE; break; case online_pending: - icon_name = "gaim-docklet-msgunread"; + icon_name = GAIM_STOCK_ICON_ONLINE_MSG; break; case away: - icon_name = "gaim-docklet-away"; + icon_name = GAIM_STOCK_ICON_AWAY; break; case away_pending: - icon_name = "gaim-docklet-msgpend"; + icon_name = GAIM_STOCK_ICON_AWAY_MSG; break; } @@ -400,35 +394,7 @@ static void gaim_new_conversation(char *who, void *data) { } */ -static void docklet_register_icon(const char *name, char *fn) { - gchar *filename; - - filename = g_build_filename(DATADIR, "pixmaps", "gaim", fn, NULL); - gtk_icon_factory_add(icon_factory, name, - gtk_icon_set_new_from_pixbuf(gdk_pixbuf_new_from_file(filename, NULL))); - g_free(filename); -} - -static void docklet_register_icon_factory() { - icon_factory = gtk_icon_factory_new(); - - docklet_register_icon("gaim-docklet-offline", "offline.png"); - docklet_register_icon("gaim-docklet-connect", "connect.png"); - docklet_register_icon("gaim-docklet-online", "online.png"); - docklet_register_icon("gaim-docklet-msgunread", "msgunread.png"); - docklet_register_icon("gaim-docklet-away", "away.png"); - docklet_register_icon("gaim-docklet-msgpend", "msgpend.png"); - - gtk_icon_factory_add_default(icon_factory); -} - -static void docklet_unregister_icon_factory() { - gtk_icon_factory_remove_default(icon_factory); -} - char *gaim_plugin_init(GModule *handle) { - docklet_register_icon_factory(); - docklet_create(NULL); gaim_signal_connect(handle, event_signon, gaim_signon, NULL); @@ -459,8 +425,6 @@ g_object_unref(G_OBJECT(docklet)); docklet = NULL; - - docklet_unregister_icon_factory(); /* do this while gaim has no other way to toggle the global mute */ gaim_sound_set_mute(FALSE);