[Goodies-commits] r6345 - in sion/trunk: . src
Enrico Troeger
enrico at xfce.org
Sun Dec 21 02:12:04 CET 2008
Author: enrico
Date: 2008-12-21 01:12:04 +0000 (Sun, 21 Dec 2008)
New Revision: 6345
Modified:
sion/trunk/ChangeLog
sion/trunk/src/window.c
Log:
Minimise to tray if enabled.
Modified: sion/trunk/ChangeLog
===================================================================
--- sion/trunk/ChangeLog 2008-12-21 00:47:34 UTC (rev 6344)
+++ sion/trunk/ChangeLog 2008-12-21 01:12:04 UTC (rev 6345)
@@ -2,6 +2,8 @@
* src/bookmark.c:
Fix crash when parsing an URI without a proper scheme (bug #4730).
+ * src/window.c:
+ Minimise to tray if enabled.
2008-12-19 Enrico Tröger <enrico(at)xfce(dot)org>
Modified: sion/trunk/src/window.c
===================================================================
--- sion/trunk/src/window.c 2008-12-21 00:47:34 UTC (rev 6344)
+++ sion/trunk/src/window.c 2008-12-21 01:12:04 UTC (rev 6345)
@@ -122,6 +122,20 @@
}
+static gboolean sion_window_state_event(GtkWidget *widget, GdkEventWindowState *event)
+{
+ SionWindowPrivate *priv = SION_WINDOW_GET_PRIVATE(widget);
+
+ if ((event->new_window_state & GDK_WINDOW_STATE_ICONIFIED) &&
+ sion_settings_get_boolean(priv->settings, "show-trayicon"))
+ {
+ gtk_widget_hide(widget);
+ }
+
+ return FALSE;
+}
+
+
static gboolean sion_window_delete_event(GtkWidget *widget, GdkEventAny *event)
{
SionWindowPrivate *priv = SION_WINDOW_GET_PRIVATE(widget);
@@ -139,12 +153,13 @@
sion_settings_set_geometry(priv->settings, geo, 5);
}
gtk_widget_destroy(priv->tree_popup_menu);
+ gtk_widget_destroy(priv->trayicon_popup_menu);
+ gtk_widget_destroy(priv->swin_treeview);
+ gtk_widget_destroy(priv->swin_iconview);
+ gtk_widget_destroy(priv->toolbar);
g_object_unref(priv->action_group);
g_object_unref(priv->trayicon);
g_object_unref(priv->trayicon_popup_menu);
- g_object_unref(priv->toolbar);
- g_object_unref(priv->swin_treeview);
- g_object_unref(priv->swin_iconview);
g_object_unref(priv->backend_gvfs);
return FALSE;
@@ -155,6 +170,7 @@
{
GtkWidgetClass *gtkwidget_class = GTK_WIDGET_CLASS(klass);
gtkwidget_class->delete_event = sion_window_delete_event;
+ gtkwidget_class->window_state_event = sion_window_state_event;
parent_class =(GtkWindowClass*)g_type_class_peek(GTK_TYPE_WINDOW);
g_type_class_add_private((gpointer)klass, sizeof(SionWindowPrivate));
@@ -191,7 +207,10 @@
if (gtk_window_is_active(window))
gtk_widget_hide(GTK_WIDGET(window));
else
+ {
+ gtk_window_deiconify(window);
gtk_window_present(window);
+ }
}
More information about the Goodies-commits
mailing list