Mercurial > pidgin.yaz
annotate pidgin/gtkdocklet-gtk.c @ 30018:7ed0ddbdd2a8
Use an inline RC style to get rid of some other padding to make the small
buttons even smaller, as suggested by Paradox on trac, and nicked from
nautilus.
Refs #8727.
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Sat, 20 Mar 2010 06:22:53 +0000 |
parents | 5434f768917b |
children | fb0245b8c177 |
rev | line source |
---|---|
29627
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
1 /* |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
2 * System tray icon (aka docklet) plugin for Purple |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
3 * |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
4 * Copyright (C) 2007 Anders Hasselqvist |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
5 * |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
6 * This program is free software; you can redistribute it and/or |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
7 * modify it under the terms of the GNU General Public License as |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
8 * published by the Free Software Foundation; either version 2 of the |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
9 * License, or (at your option) any later version. |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
10 * |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
11 * This program is distributed in the hope that it will be useful, but |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
12 * WITHOUT ANY WARRANTY; without even the implied warranty of |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
14 * General Public License for more details. |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
15 * |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
16 * You should have received a copy of the GNU General Public License |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
17 * along with this program; if not, write to the Free Software |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
19 * 02111-1307, USA. |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
20 */ |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
21 |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
22 #include "internal.h" |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
23 #include "pidgin.h" |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
24 #include "debug.h" |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
25 #include "prefs.h" |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
26 #include "pidginstock.h" |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
27 #include "gtkdocklet.h" |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
28 |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
29 /* globals */ |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
30 GtkStatusIcon *docklet = NULL; |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
31 |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
32 static void |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
33 docklet_gtk_status_activated_cb(GtkStatusIcon *status_icon, gpointer user_data) |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
34 { |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
35 pidgin_docklet_clicked(1); |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
36 } |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
37 |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
38 static void |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
39 docklet_gtk_status_clicked_cb(GtkStatusIcon *status_icon, guint button, guint activate_time, gpointer user_data) |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
40 { |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
41 pidgin_docklet_clicked(button); |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
42 } |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
43 |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
44 static void |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
45 docklet_gtk_status_update_icon(PurpleStatusPrimitive status, gboolean connecting, gboolean pending) |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
46 { |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
47 const gchar *icon_name = NULL; |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
48 |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
49 switch (status) { |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
50 case PURPLE_STATUS_OFFLINE: |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
51 icon_name = PIDGIN_STOCK_TRAY_OFFLINE; |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
52 break; |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
53 case PURPLE_STATUS_AWAY: |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
54 icon_name = PIDGIN_STOCK_TRAY_AWAY; |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
55 break; |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
56 case PURPLE_STATUS_UNAVAILABLE: |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
57 icon_name = PIDGIN_STOCK_TRAY_BUSY; |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
58 break; |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
59 case PURPLE_STATUS_EXTENDED_AWAY: |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
60 icon_name = PIDGIN_STOCK_TRAY_XA; |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
61 break; |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
62 case PURPLE_STATUS_INVISIBLE: |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
63 icon_name = PIDGIN_STOCK_TRAY_INVISIBLE; |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
64 break; |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
65 default: |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
66 icon_name = PIDGIN_STOCK_TRAY_AVAILABLE; |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
67 break; |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
68 } |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
69 |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
70 if (pending) |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
71 icon_name = PIDGIN_STOCK_TRAY_PENDING; |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
72 if (connecting) |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
73 icon_name = PIDGIN_STOCK_TRAY_CONNECT; |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
74 |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
75 if (icon_name) { |
29717
87e124c52a47
Change lookup of docklet icons to use an 'icon name' instead of a stock
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29627
diff
changeset
|
76 gtk_status_icon_set_from_icon_name(docklet, icon_name); |
29627
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
77 } |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
78 } |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
79 |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
80 static void |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
81 docklet_gtk_status_set_tooltip(gchar *tooltip) |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
82 { |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
83 if (tooltip) { |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
84 gtk_status_icon_set_tooltip(docklet, tooltip); |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
85 } else { |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
86 gtk_status_icon_set_tooltip(docklet, NULL); |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
87 } |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
88 } |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
89 |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
90 static void |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
91 docklet_gtk_status_position_menu(GtkMenu *menu, |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
92 int *x, int *y, gboolean *push_in, |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
93 gpointer user_data) |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
94 { |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
95 gtk_status_icon_position_menu(menu, x, y, push_in, docklet); |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
96 } |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
97 |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
98 static void |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
99 docklet_gtk_status_destroy(void) |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
100 { |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
101 g_return_if_fail(docklet != NULL); |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
102 |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
103 pidgin_docklet_remove(); |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
104 |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
105 g_object_unref(G_OBJECT(docklet)); |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
106 docklet = NULL; |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
107 |
29762
5a6c66d4de94
Make it slightly clearer which docklet is in use.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29717
diff
changeset
|
108 purple_debug_info("docklet", "GTK+ destroyed\n"); |
29627
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
109 } |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
110 |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
111 static void |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
112 docklet_gtk_status_create(gboolean recreate) |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
113 { |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
114 if (docklet) { |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
115 /* if this is being called when a tray icon exists, it's because |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
116 something messed up. try destroying it before we proceed, |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
117 although docklet_refcount may be all hosed. hopefully won't happen. */ |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
118 purple_debug_warning("docklet", "trying to create icon but it already exists?\n"); |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
119 docklet_gtk_status_destroy(); |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
120 } |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
121 |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
122 docklet = gtk_status_icon_new(); |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
123 g_return_if_fail(docklet != NULL); |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
124 |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
125 g_signal_connect(G_OBJECT(docklet), "activate", G_CALLBACK(docklet_gtk_status_activated_cb), NULL); |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
126 g_signal_connect(G_OBJECT(docklet), "popup-menu", G_CALLBACK(docklet_gtk_status_clicked_cb), NULL); |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
127 |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
128 pidgin_docklet_embedded(); |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
129 gtk_status_icon_set_visible(docklet, TRUE); |
29762
5a6c66d4de94
Make it slightly clearer which docklet is in use.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29717
diff
changeset
|
130 purple_debug_info("docklet", "GTK+ created\n"); |
29627
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
131 } |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
132 |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
133 static void |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
134 docklet_gtk_status_create_ui_op(void) |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
135 { |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
136 docklet_gtk_status_create(FALSE); |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
137 } |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
138 |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
139 static struct docklet_ui_ops ui_ops = |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
140 { |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
141 docklet_gtk_status_create_ui_op, |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
142 docklet_gtk_status_destroy, |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
143 docklet_gtk_status_update_icon, |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
144 NULL, |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
145 docklet_gtk_status_set_tooltip, |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
146 docklet_gtk_status_position_menu |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
147 }; |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
148 |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
149 void |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
150 docklet_ui_init(void) |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
151 { |
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
152 pidgin_docklet_set_ui_ops(&ui_ops); |
29717
87e124c52a47
Change lookup of docklet icons to use an 'icon name' instead of a stock
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29627
diff
changeset
|
153 gtk_icon_theme_append_search_path(gtk_icon_theme_get_default(), |
87e124c52a47
Change lookup of docklet icons to use an 'icon name' instead of a stock
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29627
diff
changeset
|
154 DATADIR G_DIR_SEPARATOR_S "pixmaps" G_DIR_SEPARATOR_S "pidgin" G_DIR_SEPARATOR_S "tray"); |
29627
6652fdb8baf5
Apparently, I only just imagined adding this file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
155 } |