summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Kamil Kozar <dkk089@gmail.com>2017-11-29 21:13:54 +0100
committerDaniel Kamil Kozar <dkk089@gmail.com>2017-11-29 21:13:54 +0100
commitcdc8cb79cd02adc844716562eb01d1db85aa416b (patch)
tree9bd89098e0af0a63d2d09cf214a0a280bd8b5cad
parentb1538a9d1369dcd3155f8560c671d56112a2ccc3 (diff)
downloadpidgin-cdc8cb79cd02adc844716562eb01d1db85aa416b.tar.gz
Use gtk_status_icon_get_icon_name instead of a new boolean variable
-rw-r--r--pidgin/gtkdocklet-gtk.c7
-rw-r--r--pidgin/gtkdocklet.c14
-rw-r--r--pidgin/gtkdocklet.h4
-rw-r--r--pidgin/win32/gtkdocklet-win32.c2
4 files changed, 14 insertions, 13 deletions
diff --git a/pidgin/gtkdocklet-gtk.c b/pidgin/gtkdocklet-gtk.c
index 460d1c8473..a948a0d7d5 100644
--- a/pidgin/gtkdocklet-gtk.c
+++ b/pidgin/gtkdocklet-gtk.c
@@ -134,9 +134,10 @@ docklet_gtk_status_clicked_cb(GtkStatusIcon *status_icon, guint button, guint ac
}
static void
-docklet_gtk_status_update_icon(PurpleStatusPrimitive status, gboolean connecting, gboolean pending, gboolean blinked)
+docklet_gtk_status_update_icon(PurpleStatusPrimitive status, gboolean connecting, gboolean pending)
{
const gchar *icon_name = NULL;
+ const gchar *current_icon_name = gtk_status_icon_get_icon_name(docklet);
switch (status) {
case PURPLE_STATUS_OFFLINE:
@@ -159,11 +160,11 @@ docklet_gtk_status_update_icon(PurpleStatusPrimitive status, gboolean connecting
break;
}
- if (connecting) {
+ if (connecting && strcmp(current_icon_name, PIDGIN_STOCK_TRAY_CONNECT) != 0) {
icon_name = PIDGIN_STOCK_TRAY_CONNECT;
}
- if (!blinked && pending) {
+ if (pending && strcmp(current_icon_name, PIDGIN_STOCK_TRAY_PENDING) != 0) {
icon_name = PIDGIN_STOCK_TRAY_PENDING;
}
diff --git a/pidgin/gtkdocklet.c b/pidgin/gtkdocklet.c
index 489ccbc557..6a1d608ef4 100644
--- a/pidgin/gtkdocklet.c
+++ b/pidgin/gtkdocklet.c
@@ -74,16 +74,16 @@ docklet_blink_icon(gpointer data)
if (blinked) {
ui_ops->blank_icon();
} else {
- pidgin_docklet_update_icon(blinked);
+ pidgin_docklet_update_icon();
}
} else {
- pidgin_docklet_update_icon(blinked);
+ pidgin_docklet_update_icon();
}
ret = TRUE; /* keep blinking */
} else {
docklet_blinking_timer = 0;
blinked = FALSE;
- pidgin_docklet_update_icon(FALSE);
+ pidgin_docklet_update_icon();
}
return ret;
@@ -211,7 +211,7 @@ docklet_update_status(void)
pending = newpending;
connecting = newconnecting;
- pidgin_docklet_update_icon(FALSE);
+ pidgin_docklet_update_icon();
/* and schedule the blinker function if messages are pending */
if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/docklet/blink")
@@ -762,10 +762,10 @@ docklet_menu(void)
* public api for ui_ops
**************************************************************************/
void
-pidgin_docklet_update_icon(gboolean blinked)
+pidgin_docklet_update_icon()
{
if (ui_ops && ui_ops->update_icon)
- ui_ops->update_icon(status, connecting, pending, blinked);
+ ui_ops->update_icon(status, connecting, pending);
}
void
@@ -799,7 +799,7 @@ pidgin_docklet_embedded()
}
visible = TRUE;
docklet_update_status();
- pidgin_docklet_update_icon(FALSE);
+ pidgin_docklet_update_icon();
}
void
diff --git a/pidgin/gtkdocklet.h b/pidgin/gtkdocklet.h
index 7f188b92a2..34f88a14f5 100644
--- a/pidgin/gtkdocklet.h
+++ b/pidgin/gtkdocklet.h
@@ -31,7 +31,7 @@ struct docklet_ui_ops
{
void (*create)(void);
void (*destroy)(void);
- void (*update_icon)(PurpleStatusPrimitive, gboolean, gboolean, gboolean);
+ void (*update_icon)(PurpleStatusPrimitive, gboolean, gboolean);
void (*blank_icon)(void);
void (*set_tooltip)(gchar *);
GtkMenuPositionFunc position_menu;
@@ -39,7 +39,7 @@ struct docklet_ui_ops
/* functions in gtkdocklet.c */
-void pidgin_docklet_update_icon(gboolean blinked);
+void pidgin_docklet_update_icon(void);
void pidgin_docklet_clicked(int);
void pidgin_docklet_embedded(void);
void pidgin_docklet_remove(void);
diff --git a/pidgin/win32/gtkdocklet-win32.c b/pidgin/win32/gtkdocklet-win32.c
index 84609f111d..b02666078e 100644
--- a/pidgin/win32/gtkdocklet-win32.c
+++ b/pidgin/win32/gtkdocklet-win32.c
@@ -497,7 +497,7 @@ static void systray_remove_nid(void) {
}
static void winpidgin_tray_update_icon(PurpleStatusPrimitive status,
- gboolean connecting, gboolean pending, gboolean blinked) {
+ gboolean connecting, gboolean pending) {
int icon_index;
g_return_if_fail(image != NULL);