aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorguidog <guidog@517b70f8-ed25-0410-8bf6-f5db08f7b76e>2009-01-10 13:25:40 +0000
committerguidog <guidog@517b70f8-ed25-0410-8bf6-f5db08f7b76e>2009-01-10 13:25:40 +0000
commitb34cfa0d399f1478ffa11f27e99d796bb78bd699 (patch)
tree1faeb7d39fd24a638f65263494562b41369c4981
parenta1275b6432e6da3b1675275aa1c8d22d9f43e7ab (diff)
add "expiring" tray icon
shown when credentials are about to expire git-svn-id: http://svn.gnome.org/svn/krb5-auth-dialog/trunk@109 517b70f8-ed25-0410-8bf6-f5db08f7b76e
-rw-r--r--ChangeLog11
-rw-r--r--icons/Makefile.am1
-rw-r--r--icons/krb-expiring-ticket.pngbin0 -> 1341 bytes
-rw-r--r--src/krb5-auth-applet.c19
-rw-r--r--src/krb5-auth-applet.h2
-rw-r--r--src/krb5-auth-dialog.c1
6 files changed, 27 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index cab56f2..74a7f19 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+Sun Jan 4 16:43:32 CET 2009 Guido Günther <agx@sigxcpu.org>
+
+ add "expiring" tray icon
+ * icons/krb5-expiring-ticket.png: new icon
+ * icons/Makefile.am (smallicon_DATA): add new icon
+ * src/krb5-auth-applet.[ch] (ka_icons): new enum, new icon
+ (ka_update_status): use ka_icons
+ (ka_create_applet): call gtk_window_set_default_icon_name
+ * src/krb5-auth-dialog.c (main): don't call
+ gtk_window_set_default_icon_name
+
Sun Jan 4 16:37:35 CET 2009 Guido Günther <agx@sigxcpu.org>
* src/krb5-auth-applet.c (ka_update_status): don't show a tooltip
diff --git a/icons/Makefile.am b/icons/Makefile.am
index b771676..d13dbbf 100644
--- a/icons/Makefile.am
+++ b/icons/Makefile.am
@@ -4,6 +4,7 @@ smallicondir=${datadir}/icons/hicolor/22x22/apps
smallicon_DATA= \
krb-valid-ticket.png \
krb-no-valid-ticket.png \
+ krb-expiring-ticket.png \
$(NULL)
EXTRA_DIST=\
diff --git a/icons/krb-expiring-ticket.png b/icons/krb-expiring-ticket.png
new file mode 100644
index 0000000..cd03697
--- /dev/null
+++ b/icons/krb-expiring-ticket.png
Binary files differ
diff --git a/src/krb5-auth-applet.c b/src/krb5-auth-applet.c
index cffa81c..4f2215d 100644
--- a/src/krb5-auth-applet.c
+++ b/src/krb5-auth-applet.c
@@ -30,6 +30,12 @@
#define NOTIFY_SECONDS 300
+enum ka_icons {
+ inv_icon = 0,
+ exp_icon,
+ val_icon,
+};
+
/* update the tray icon's tooltip and icon */
int
ka_update_status(Krb5AuthApplet* applet, krb5_timestamp expiry)
@@ -46,14 +52,15 @@ ka_update_status(Krb5AuthApplet* applet, krb5_timestamp expiry)
hours = remaining / 3600;
minutes = (remaining % 3600) / 60;
expiry_text = g_strdup_printf (_("Your credentials expire in %.2d:%.2dh"), hours, minutes);
+ gtk_status_icon_set_from_icon_name (applet->tray_icon, applet->icons[val_icon]);
} else {
minutes = remaining / 60;
expiry_text = g_strdup_printf (ngettext(
"Your credentials expire in %d minute",
"Your credentials expire in %d minutes",
minutes), minutes);
+ gtk_status_icon_set_from_icon_name (applet->tray_icon, applet->icons[exp_icon]);
}
- gtk_status_icon_set_from_icon_name (applet->tray_icon, applet->icons[1]);
#ifdef HAVE_LIBNOTIFY
if (expiry_notified) {
ka_send_event_notification (applet, NOTIFY_URGENCY_NORMAL,
@@ -70,7 +77,7 @@ ka_update_status(Krb5AuthApplet* applet, krb5_timestamp expiry)
#endif
} else {
expiry_text = g_strdup (_("Your credentials have expired"));
- gtk_status_icon_set_from_icon_name (applet->tray_icon, applet->icons[0]);
+ gtk_status_icon_set_from_icon_name (applet->tray_icon, applet->icons[inv_icon]);
#ifdef HAVE_LIBNOTIFY
if (!expiry_notified) {
ka_send_event_notification (applet, NOTIFY_URGENCY_NORMAL,
@@ -214,7 +221,7 @@ ka_create_tray_icon (Krb5AuthApplet* applet)
g_signal_connect (G_OBJECT(tray_icon),
"popup-menu",
G_CALLBACK(ka_tray_icon_on_menu), applet);
- gtk_status_icon_set_from_icon_name (tray_icon, applet->icons[0]);
+ gtk_status_icon_set_from_icon_name (tray_icon, applet->icons[exp_icon]);
gtk_status_icon_set_tooltip (tray_icon, PACKAGE);
return tray_icon;
}
@@ -223,8 +230,9 @@ ka_create_tray_icon (Krb5AuthApplet* applet)
int
ka_setup_icons (Krb5AuthApplet* applet)
{
- applet->icons[0] = "krb-no-valid-ticket";
- applet->icons[1] = "krb-valid-ticket";
+ applet->icons[val_icon] = "krb-valid-ticket";
+ applet->icons[exp_icon] = "krb-expiring-ticket";
+ applet->icons[inv_icon] = "krb-no-valid-ticket";
return TRUE;
}
@@ -241,6 +249,7 @@ ka_create_applet()
g_error ("Failure to create tray icon");
if (!(applet->context_menu = ka_create_context_menu (applet)))
g_error ("Failure to create context menu");
+ gtk_window_set_default_icon_name (applet->icons[val_icon]);
ka_show_tray_icon (applet);
return applet;
diff --git a/src/krb5-auth-applet.h b/src/krb5-auth-applet.h
index 18937b7..e137794 100644
--- a/src/krb5-auth-applet.h
+++ b/src/krb5-auth-applet.h
@@ -35,7 +35,7 @@
typedef struct {
GtkStatusIcon* tray_icon; /* the tray icon */
GtkWidget* context_menu; /* the tray icon's context menu */
- const char* icons[2]; /* for expired and valid tickts */
+ const char* icons[3]; /* for invalid, expiring and valid tickts */
gboolean show_trayicon; /* show the trayicon */
/* The password dialog */
diff --git a/src/krb5-auth-dialog.c b/src/krb5-auth-dialog.c
index 62cbef4..3beaa8b 100644
--- a/src/krb5-auth-dialog.c
+++ b/src/krb5-auth-dialog.c
@@ -891,7 +891,6 @@ main (int argc, char *argv[])
applet->pw_dialog = glade_xml_get_widget (applet->pw_xml, "krb5_dialog");
g_set_application_name (_("Network Authentication"));
- gtk_window_set_default_icon_name (applet->icons[1]);
#ifdef ENABLE_NETWORK_MANAGER
nm_context = libnm_glib_init ();