diff options
author | jstebbins <[email protected]> | 2009-04-02 01:43:29 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2009-04-02 01:43:29 +0000 |
commit | bed742a01f8eeb29951b52ccba3dda0705607492 (patch) | |
tree | 1601fe08d4c4f0560d703604dd9438b2c3ff17a5 /gtk/src | |
parent | 414d6a56cc67f2fa56353ee3ce80adaa8cfeb45f (diff) |
LinGui: add status icon that sits in the system tray
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2292 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'gtk/src')
-rw-r--r-- | gtk/src/callbacks.c | 13 | ||||
-rw-r--r-- | gtk/src/ghb.ui | 4 | ||||
-rw-r--r-- | gtk/src/hb-status-empty.32.png | bin | 0 -> 4976 bytes | |||
-rw-r--r-- | gtk/src/hb-status.32.png | bin | 0 -> 4976 bytes | |||
-rw-r--r-- | gtk/src/queuehandler.c | 6 | ||||
-rw-r--r-- | gtk/src/resources.list | 2 |
6 files changed, 25 insertions, 0 deletions
diff --git a/gtk/src/callbacks.c b/gtk/src/callbacks.c index 456a863f7..ad36f6fa7 100644 --- a/gtk/src/callbacks.c +++ b/gtk/src/callbacks.c @@ -3151,6 +3151,15 @@ check_stable_update(signal_user_data_t *ud) return NULL; } +void +status_activate_cb(GtkStatusIcon *si, signal_user_data_t *ud) +{ + GtkWindow *window; + + window = GTK_WINDOW(GHB_WIDGET(ud->builder, "hb_window")); + gtk_window_present(window); +} + static void notify_closed_cb(NotifyNotification *notification, signal_user_data_t *ud) { @@ -3161,12 +3170,16 @@ void ghb_notify_done(signal_user_data_t *ud) { NotifyNotification *notification; + GtkStatusIcon *si; + si = GTK_STATUS_ICON(GHB_OBJECT(ud->builder, "hb_status")); + gtk_status_icon_set_from_icon_name(si, "hb-status-empty"); notification = notify_notification_new( "Encode Complete", "Put down that cocktail, Your HandBrake queue is done!", "hb-icon", NULL); + notify_notification_attach_to_status_icon(notification, si); g_signal_connect(notification, "closed", (GCallback)notify_closed_cb, ud); notify_notification_show(notification, NULL); } diff --git a/gtk/src/ghb.ui b/gtk/src/ghb.ui index 5266636dd..39964c750 100644 --- a/gtk/src/ghb.ui +++ b/gtk/src/ghb.ui @@ -5267,6 +5267,10 @@ libxvidcore authors: </object> </child> </object> + <object class="GtkStatusIcon" id="hb_status"> + <property name="icon_name">hb-status</property> + <signal handler="status_activate_cb" name="activate"/> + </object> <object class="GtkDialog" id="update_dialog"> <property name="border_width">5</property> <property name="modal">True</property> diff --git a/gtk/src/hb-status-empty.32.png b/gtk/src/hb-status-empty.32.png Binary files differnew file mode 100644 index 000000000..b00800b01 --- /dev/null +++ b/gtk/src/hb-status-empty.32.png diff --git a/gtk/src/hb-status.32.png b/gtk/src/hb-status.32.png Binary files differnew file mode 100644 index 000000000..41b2b57b9 --- /dev/null +++ b/gtk/src/hb-status.32.png diff --git a/gtk/src/queuehandler.c b/gtk/src/queuehandler.c index 2039b5e6e..0231b1449 100644 --- a/gtk/src/queuehandler.c +++ b/gtk/src/queuehandler.c @@ -640,6 +640,12 @@ queue_add(signal_user_data_t *ud) { return FALSE; } + + GtkStatusIcon *si; + + si = GTK_STATUS_ICON(GHB_OBJECT(ud->builder, "hb_status")); + gtk_status_icon_set_from_icon_name(si, "hb-status"); + if (ud->queue == NULL) ud->queue = ghb_array_value_new(32); // Make a copy of current settings to be used for the new job diff --git a/gtk/src/resources.list b/gtk/src/resources.list index ed359bf38..5a06877c9 100644 --- a/gtk/src/resources.list +++ b/gtk/src/resources.list @@ -6,6 +6,8 @@ <icon name="hb-complete" file="hb-complete.16.png" /> <icon name="hb-drawer" file="hb-drawer.32.png" /> <icon name="hb-icon" file="hb-icon.128.png" /> + <icon name="hb-status" file="hb-status.32.png" /> + <icon name="hb-status-empty" file="hb-status-empty.32.png" /> <icon name="hb-pause" file="hb-pause.32.png" /> <icon name="hb-play" file="hb-play.32.png" /> <icon name="hb-pref" file="hb-pref.32.png" /> |