Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/ev-application.c
diff options
context:
space:
mode:
authorCarlos Garcia Campos <carlosgc@gnome.org>2006-07-17 19:44:13 (GMT)
committer Carlos Garcia Campos <carlosgc@src.gnome.org>2006-07-17 19:44:13 (GMT)
commitdb4719bf8f445529477290060d64637f134329b2 (patch)
tree1023e8e97914f62260e0f7efdcbf70cab06526e2 /shell/ev-application.c
parent2d7173f26d1fd901723592e9e56f63c79d4cb985 (diff)
Add preview toolbar (hidden by default)
2006-07-17 Carlos Garcia Campos <carlosgc@gnome.org> * data/evince-toolbar.xml: Add preview toolbar (hidden by default) * shell/ev-application-service.xml: * shell/ev-application.[ch]: * shell/ev-jobs.[ch]: * shell/ev-window.[ch]: (ev_window_run_preview): * shell/main.c: Add preview mode to use evince as a printing previewer. It also adds other command line options for fullscreen and presentation modes. Fixes bugs #347822, #317031
Diffstat (limited to 'shell/ev-application.c')
-rw-r--r--shell/ev-application.c38
1 files changed, 26 insertions, 12 deletions
diff --git a/shell/ev-application.c b/shell/ev-application.c
index 381b4e3..b7002a7 100644
--- a/shell/ev-application.c
+++ b/shell/ev-application.c
@@ -239,6 +239,7 @@ void
ev_application_open_uri_at_dest (EvApplication *application,
const char *uri,
EvLinkDest *dest,
+ EvWindowRunMode mode,
guint timestamp)
{
EvWindow *new_window;
@@ -263,7 +264,7 @@ ev_application_open_uri_at_dest (EvApplication *application,
/* We need to load uri before showing the window, so
we can restore window size without flickering */
- ev_window_open_uri (new_window, uri, dest);
+ ev_window_open_uri (new_window, uri, dest, mode);
gtk_widget_show (GTK_WIDGET (new_window));
@@ -274,21 +275,34 @@ ev_application_open_uri_at_dest (EvApplication *application,
gboolean
ev_application_open_uri (EvApplication *application,
const char *uri,
- const char *page_label,
+ GHashTable *args,
guint timestamp,
GError **error)
{
-
- if (page_label && strcmp (page_label, "") != 0) {
- EvLinkDest *dest;
+ EvLinkDest *dest = NULL;
+ EvWindowRunMode mode = EV_WINDOW_MODE_NORMAL;
+
+ if (args) {
+ GValue *value = NULL;
+
+ value = g_hash_table_lookup (args, "page-label");
+ if (value) {
+ const gchar *page_label;
+
+ page_label = g_value_get_string (value);
+ dest = ev_link_dest_new_page_label (page_label);
+ }
- dest = ev_link_dest_new_page_label (page_label);
+ value = g_hash_table_lookup (args, "mode");
+ if (value) {
+ mode = g_value_get_uint (value);
+ }
+ }
+
+ ev_application_open_uri_at_dest (application, uri, dest, mode, timestamp);
- ev_application_open_uri_at_dest (application, uri, dest, timestamp);
+ if (dest)
g_object_unref (dest);
- } else {
- ev_application_open_uri_at_dest (application, uri, NULL, timestamp);
- }
return TRUE;
}
@@ -346,9 +360,9 @@ ev_application_init (EvApplication *ev_application)
DATADIR "/evince-toolbar.xml");
if (!egg_toolbars_model_load_toolbars (ev_application->toolbars_model,
- ev_application->toolbars_file)) {
+ ev_application->toolbars_file)) {
egg_toolbars_model_load_toolbars (ev_application->toolbars_model,
- DATADIR"/evince-toolbar.xml");
+ DATADIR"/evince-toolbar.xml");
}
egg_toolbars_model_set_flags (ev_application->toolbars_model, 0,