aboutsummaryrefslogtreecommitdiff
path: root/src/gtkutils.c
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2006-02-02 06:24:28 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2006-02-02 06:24:28 +0000
commit99c7931588e047db24b6c3bbfbcdcd462aa7763c (patch)
tree84698845874385b773bea3c489c4dc7a729ba8ee /src/gtkutils.c
parent9277f9708b7f5ce08def8758155fe37352a2e944 (diff)
don't enable trayicon action if modal window exists. Present window on click if main window is obscured.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@962 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src/gtkutils.c')
-rw-r--r--src/gtkutils.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/gtkutils.c b/src/gtkutils.c
index cdeb4c26..691c3712 100644
--- a/src/gtkutils.c
+++ b/src/gtkutils.c
@@ -868,6 +868,26 @@ void gtkut_window_popup(GtkWidget *window)
gtk_window_present(GTK_WINDOW(window));
}
+gboolean gtkut_window_modal_exist(void)
+{
+ GList *window_list, *cur;
+ gboolean exist = FALSE;
+
+ window_list = gtk_window_list_toplevels();
+ for (cur = window_list; cur != NULL; cur = cur->next) {
+ GtkWidget *window = GTK_WIDGET(cur->data);
+
+ if (GTK_WIDGET_VISIBLE(window) &&
+ gtk_window_get_modal(GTK_WINDOW(window))) {
+ exist = TRUE;
+ break;
+ }
+ }
+ g_list_free(window_list);
+
+ return exist;
+}
+
void gtkut_widget_get_uposition(GtkWidget *widget, gint *px, gint *py)
{
gint x, y;