]> www.fi.muni.cz Git - evince.git/blobdiff - shell/ev-application.c
[build] Rename DATADIR with EVINCEDATADIR
[evince.git] / shell / ev-application.c
index ed4fb194d58083feea7aab656c953cde6d7e8a94..5327825d5b705860832b4476571c13ccc8de07d8 100644 (file)
@@ -985,7 +985,7 @@ ev_application_init (EvApplication *ev_application)
        g_free (dir);
 }
 #else
-       ev_application->data_dir = g_strdup (DATADIR);
+       ev_application->data_dir = g_strdup (EVINCEDATADIR);
 #endif
 
        ev_application_init_session (ev_application);
@@ -1036,10 +1036,35 @@ ev_application_get_dbus_connection (EvApplication *application)
 gboolean
 ev_application_has_window (EvApplication *application)
 {
-       GList   *windows = ev_application_get_windows (application);
-       gboolean retval = windows != NULL;
+       GList    *l, *toplevels;
+       gboolean  retval = FALSE;
 
-       g_list_free (windows);
+       toplevels = gtk_window_list_toplevels ();
+
+       for (l = toplevels; l != NULL && !retval; l = l->next) {
+               if (EV_IS_WINDOW (l->data))
+                       retval = TRUE;
+       }
+
+       g_list_free (toplevels);
+
+       return retval;
+}
+
+guint
+ev_application_get_n_windows (EvApplication *application)
+{
+       GList *l, *toplevels;
+       guint  retval = 0;
+
+       toplevels = gtk_window_list_toplevels ();
+
+       for (l = toplevels; l != NULL; l = l->next) {
+               if (EV_IS_WINDOW (l->data))
+                       retval++;
+       }
+
+       g_list_free (toplevels);
 
        return retval;
 }