pidgin/pidgindisplayitem.c

changeset 43192
e690274aee75
parent 42797
767b7685a4a4
equal deleted inserted replaced
43191:ba72c5b3582b 43192:e690274aee75
20 * along with this program; if not, see <https://www.gnu.org/licenses/>. 20 * along with this program; if not, see <https://www.gnu.org/licenses/>.
21 */ 21 */
22 22
23 #include "pidgindisplayitem.h" 23 #include "pidgindisplayitem.h"
24 24
25 #include "pidginnotifiable.h"
26
25 struct _PidginDisplayItem { 27 struct _PidginDisplayItem {
26 GObject parent; 28 GObject parent;
27 29
28 GtkWidget *widget; 30 GtkWidget *widget;
29 31
62 static void 64 static void
63 pidgin_display_item_set_widget(PidginDisplayItem *item, GtkWidget *widget) { 65 pidgin_display_item_set_widget(PidginDisplayItem *item, GtkWidget *widget) {
64 g_return_if_fail(PIDGIN_IS_DISPLAY_ITEM(item)); 66 g_return_if_fail(PIDGIN_IS_DISPLAY_ITEM(item));
65 67
66 if(g_set_object(&item->widget, widget)) { 68 if(g_set_object(&item->widget, widget)) {
69 if(PIDGIN_IS_NOTIFIABLE(item->widget)) {
70 g_object_bind_property(item->widget, "needs-attention",
71 item, "needs-attention",
72 G_BINDING_SYNC_CREATE);
73
74 g_object_bind_property(item->widget, "notification-count",
75 item, "badge-number",
76 G_BINDING_SYNC_CREATE);
77 }
78
67 g_object_notify_by_pspec(G_OBJECT(item), properties[PROP_WIDGET]); 79 g_object_notify_by_pspec(G_OBJECT(item), properties[PROP_WIDGET]);
68 } 80 }
69 } 81 }
70 82
71 static void 83 static void

mercurial