diff options
author | Christian Persch <[email protected]> | 2012-06-12 20:02:34 +0200 |
---|---|---|
committer | raveit65 <[email protected]> | 2018-03-22 21:44:49 +0100 |
commit | c7fcfa103e9313d67fd4a956a4cae7163c54b204 (patch) | |
tree | b400c16a1594440347bdee616a50bd0ddeb840cc | |
parent | e0f26b9dbe29642ea37c6c95e14f355e155e1608 (diff) | |
download | atril-c7fcfa103e9313d67fd4a956a4cae7163c54b204.tar.bz2 atril-c7fcfa103e9313d67fd4a956a4cae7163c54b204.tar.xz |
shell: Use GResource for data files
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-6&id=ba06a5e
-rw-r--r-- | data/Makefile.am | 2 | ||||
-rw-r--r-- | shell/Makefile.am | 12 | ||||
-rw-r--r-- | shell/atril-toolbar.xml | 41 | ||||
-rw-r--r-- | shell/atril-ui.xml | 149 | ||||
-rw-r--r-- | shell/atril.gresource.xml | 24 | ||||
-rw-r--r-- | shell/ev-application.c | 9 | ||||
-rw-r--r-- | shell/ev-application.h | 1 | ||||
-rw-r--r-- | shell/ev-window.c | 24 |
8 files changed, 233 insertions, 29 deletions
diff --git a/data/Makefile.am b/data/Makefile.am index c442a575..a230ccbb 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -15,8 +15,6 @@ man_MANS=atril.1 uidir = $(pkgdatadir) ui_DATA = \ - atril-ui.xml \ - atril-toolbar.xml \ hand-open.png # diff --git a/shell/Makefile.am b/shell/Makefile.am index 1bf3cba4..ea8d91d8 100644 --- a/shell/Makefile.am +++ b/shell/Makefile.am @@ -65,6 +65,8 @@ atril_SOURCES= \ ev-properties-license.h \ ev-open-recent-action.c \ ev-open-recent-action.h \ + ev-resources.c \ + ev-resources.h \ ev-utils.c \ ev-utils.h \ ev-window.c \ @@ -115,7 +117,8 @@ atril_LDADD= \ $(top_builddir)/libmisc/libevmisc.la \ $(SHELL_LIBS) -BUILT_SOURCES = +BUILT_SOURCES = \ + ev-resources.c if ENABLE_DBUS BUILT_SOURCES += \ @@ -150,9 +153,13 @@ atrild_LDADD= \ endif EXTRA_DIST = \ + atril-ui.xml \ + atril-toolbar.xml \ + atril.gresource.xml \ ev-gdbus.xml \ ev-daemon-gdbus.xml + ev-gdbus-generated.c ev-gdbus-generated.h: ev-gdbus.xml Makefile $(AM_V_GEN) $(GDBUS_CODEGEN) \ --interface-prefix=org.mate.atril \ @@ -169,6 +176,9 @@ ev-daemon-gdbus-generated.c ev-daemon-gdbus-generated.h: ev-daemon-gdbus.xml Mak --generate-c-code ev-daemon-gdbus-generated \ $< +ev-resources.c: atril.gresource.xml Makefile $(shell $(GLIB_COMPILE_RESOURCES) --generate-dependencies --sourcedir $(srcdir) $(srcdir)/atril.gresource.xml) + $(AM_V_GEN) XMLLINT=$(XMLLINT) $(GLIB_COMPILE_RESOURCES) --target $@ --sourcedir $(srcdir) --generate-source --c-name ev $< + DISTCLEANFILES = $(BUILT_SOURCES) -include $(top_srcdir)/git.mk diff --git a/shell/atril-toolbar.xml b/shell/atril-toolbar.xml new file mode 100644 index 00000000..eb641581 --- /dev/null +++ b/shell/atril-toolbar.xml @@ -0,0 +1,41 @@ +<?xml version="1.0"?> +<toolbars version="1.0"> +<available> + <toolitem name="FileOpenRecent"/> + <toolitem name="FilePrint"/> + <toolitem name="FileSaveAs"/> + <toolitem name="FileSendTo"/> + <toolitem name="ViewContinuous"/> + <toolitem name="ViewDual"/> + <toolitem name="ViewInvertedColors"/> + <toolitem name="ViewReload"/> + <toolitem name="ViewAutoscroll"/> + <toolitem name="ViewSidebar"/> + <toolitem name="ViewZoom"/> + <toolitem name="ViewZoomIn"/> + <toolitem name="ViewZoomOut"/> + <toolitem name="ViewZoomReset"/> + <toolitem name="ViewFitPage"/> + <toolitem name="ViewFitWidth"/> + <toolitem name="ViewFullscreen"/> + <toolitem name="ViewPresentation"/> + <toolitem name="GoPreviousPage"/> + <toolitem name="GoNextPage"/> + <toolitem name="GoFirstPage"/> + <toolitem name="GoLastPage"/> + <toolitem name="EditRotateLeft"/> + <toolitem name="EditRotateRight"/> + <toolitem name="EditSelectAll"/> + <toolitem name="EditFind"/> + <toolitem name="PageSelector"/> + <toolitem name="Navigation"/> +</available> + <toolbar name="DefaultToolBar"> + <toolitem name="GoPreviousPage"/> + <toolitem name="GoNextPage"/> + <separator/> + <toolitem name="PageSelector"/> + <separator/> + <toolitem name="ViewZoom"/> + </toolbar> +</toolbars> diff --git a/shell/atril-ui.xml b/shell/atril-ui.xml new file mode 100644 index 00000000..851a014c --- /dev/null +++ b/shell/atril-ui.xml @@ -0,0 +1,149 @@ +<ui> + <menubar name="MainMenu"> + <menu name="FileMenu" action="File"> + <menuitem name="FileOpenMenu" action="FileOpen"/> + <menuitem name="FileOpenCopyMenu" action="FileOpenCopy"/> + <menuitem name="FileSaveAsMenu" action="FileSaveAs"/> + <menuitem name="FileSendToMenu" action="FileSendTo"/> + <separator/> + <menuitem name="FilePrintMenu" action="FilePrint"/> + <separator/> + <menuitem name="FilePropertiesMenu" action="FileProperties"/> + <separator/> + <placeholder name="RecentFilesMenu"/> + <separator/> + <menuitem name="FileCloseWindowMenu" action="FileCloseWindow"/> + </menu> + + <menu name="EditMenu" action="Edit"> + <menuitem name="EditCopyMenu" action="EditCopy"/> + <separator/> + <menuitem name="EditSelectAllMenu" action="EditSelectAll"/> + <separator/> + <menuitem name="EditFindMenu" action="EditFind"/> + <menuitem name="EditFindNextMenu" action="EditFindNext"/> + <menuitem name="EditFindPreviousMenu" action="EditFindPrevious"/> + <separator/> + <menuitem name="EditRotateLeftMenu" action="EditRotateLeft"/> + <menuitem name="EditRotateRightMenu" action="EditRotateRight"/> + <separator/> + <menuitem name="EditToolbarMenu" action="EditToolbar"/> + <separator/> + <menuitem name="EditSaveSettingsMenu" action="EditSaveSettings"/> + </menu> + + <menu name="ViewMenu" action="View"> + <menuitem name="ViewToolbarMenu" action="ViewToolbar"/> + <menuitem name="ViewSidebarMenu" action="ViewSidebar"/> + <separator/> + <menuitem name="ViewFullscreenMenu" action="ViewFullscreen"/> + <menuitem name="ViewPresentationMenu" action="ViewPresentation"/> + <separator/> + <menuitem name="ViewContinuousMenu" action="ViewContinuous"/> + <menuitem name="ViewDualMenu" action="ViewDual"/> + <menuitem name="ViewDualOddLeftMenu" action="ViewDualOddLeft"/> + <separator/> + <menuitem name="ViewInvertedColors" action="ViewInvertedColors"/> + <separator/> + <menuitem name="ViewCaretNavigationMenu" action="ViewCaretNavigation"/> + <separator/> + <menuitem name="ViewZoomInMenu" action="ViewZoomIn"/> + <menuitem name="ViewZoomOutMenu" action="ViewZoomOut"/> + <menuitem name="ViewZoomResetMenu" action="ViewZoomReset"/> + <menuitem name="ViewFitPageMenu" action="ViewFitPage"/> + <menuitem name="ViewFitWidthMenu" action="ViewFitWidth"/> + <menuitem name="ViewExpandWindowMenu" action="ViewExpandWindow"/> + <separator/> + <menuitem name="ViewReload" action="ViewReload"/> + </menu> + + <menu name="GoMenu" action="Go"> + <menuitem name="GoPreviousPageMenu" action="GoPreviousPage"/> + <menuitem name="GoNextPageMenu" action="GoNextPage"/> + <separator/> + <menuitem name="GoFirstPageMenu" action="GoFirstPage"/> + <menuitem name="GoLastPageMenu" action="GoLastPage"/> + </menu> + + <menu name="BookmarksMenu" action="Bookmarks"> + <menuitem name="BookmarksAddMenu" action="BookmarksAdd"/> + <separator/> + <placeholder name="BookmarksItems"/> + </menu> + + <menu name="HelpMenu" action="Help"> + <menuitem name="HelpContentsMenu" action="HelpContents"/> + <menuitem name="HelpAboutMenu" action="HelpAbout"/> + </menu> + </menubar> + + <popup name="DocumentPopup" action="DocumentPopupAction"> + <menuitem name="OpenLink" action="OpenLink"/> + <menuitem name="CopyLinkAddress" action="CopyLinkAddress"/> + <menuitem name="GoLink" action="GoLink"/> + <menuitem name="OpenLinkNewWindow" action="OpenLinkNewWindow"/> + <separator/> + <menuitem name="GoPreviousPage" action="GoPreviousPage"/> + <menuitem name="GoNextPage" action="GoNextPage"/> + <menuitem name="ViewReload" action="ViewReload"/> + <menuitem name="ViewAutoscroll" action="ViewAutoscroll"/> + <separator/> + <menuitem name="EditCopy" action="EditCopy"/> + <menuitem name="EditSelectAllPopup" action="EditSelectAll"/> + <separator/> + <menuitem name="SaveImageAs" action="SaveImageAs"/> + <menuitem name="CopyImage" action="CopyImage"/> + <separator/> + <menuitem name="OpenAttachment" action="OpenAttachment"/> + <menuitem name="SaveAttachmentAs" action="SaveAttachmentAs"/> + <separator/> + <menuitem name="AnnotProperties" action="AnnotProperties"/> + <menuitem name="RemoveAnnot" action="RemoveAnnot"/> + </popup> + + <popup name="AttachmentPopup" action="AttachmentPopupAction"> + <menuitem name="OpenAttachment" action="OpenAttachment"/> + <separator/> + <menuitem name="SaveAttachmentAs" action="SaveAttachmentAs"/> + </popup> + + <popup name="ToolbarPopup" action="ToolbarPopupAction"> + <menuitem name="EditToolbarMenu" action="EditToolbar"/> + </popup> + + <accelerator name="PageDownAccel" action="PageDown"/> + <accelerator name="PageUpAccel" action="PageUp"/> + <accelerator name="GoBackwardFastAccel" action="GoBackwardFast"/> + <accelerator name="GoForwardFastAccel" action="GoForwardFast"/> + <accelerator name="EscapeAccel" action="Escape"/> + <accelerator name="SlashAccel" action="Slash"/> + <accelerator name="F3Accel" action="F3"/> + <accelerator name="pAccel" action="p"/> + <accelerator name="nAccel" action="n"/> + <accelerator name="FocusPageSelectorAccel" action="FocusPageSelector"/> + <accelerator name="PlusAccel" action="Plus"/> + <accelerator name="MinusAccel" action="Minus"/> + <accelerator name="Equal" action="Equal"/> + <accelerator name="CtrlEqualAccel" action="CtrlEqual"/> + <accelerator name="KpPlusAccel" action="KpPlus"/> + <accelerator name="KpMinusAccel" action="KpMinus"/> + <accelerator name="CtrlKpPlusAccel" action="CtrlKpPlus"/> + <accelerator name="CtrlKpMinusAccel" action="CtrlKpMinus"/> + <accelerator name="CtrlKpZeroAccel" action="CtrlKpZero"/> + <accelerator name="CtrlInsertAccel" action="CtrlInsert" /> + <accelerator name="FitPageAccel" action ="FitPage" /> + <accelerator name="FitWidthAccel" action ="FitWidth" /> + <accelerator name="F7Accel" action="F7" /> + + <toolbar name="FullscreenToolbar"> + <toolitem name="GoPreviousPage" action="GoPreviousPage"/> + <toolitem name="GoNextPage" action="GoNextPage"/> + <separator/> + <toolitem name="PageSelector" action="PageSelector"/> + <separator/> + <toolitem name="ViewZoom" action="ViewZoom"/> + <separator expand="true"/> + <toolitem name="StartPresentation" action="StartPresentation"/> + <toolitem name="LeaveFullscreen" action="LeaveFullscreen"/> + </toolbar> +</ui> diff --git a/shell/atril.gresource.xml b/shell/atril.gresource.xml new file mode 100644 index 00000000..f66c2a10 --- /dev/null +++ b/shell/atril.gresource.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright © 2012 Christian Persch + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope conf it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +--> +<gresources> + <gresource prefix="/org/mate/atril/shell"> + <file alias="ui/atril.xml" compressed="true" preprocess="xml-stripblanks">atril-ui.xml</file> + <file alias="ui/toolbar.xml" compressed="true" preprocess="xml-stripblanks">atril-toolbar.xml</file> + </gresource> +</gresources> + diff --git a/shell/ev-application.c b/shell/ev-application.c index 601a09a6..6307c7fe 100644 --- a/shell/ev-application.c +++ b/shell/ev-application.c @@ -49,7 +49,6 @@ struct _EvApplication { gchar *uri; gchar *dot_dir; - gchar *data_dir; #ifdef ENABLE_DBUS EvAtrilApplication *skeleton; @@ -990,8 +989,6 @@ static void ev_application_init(EvApplication* ev_application) ev_application->dot_dir = g_build_filename(g_get_user_config_dir(), "atril", NULL); } - ev_application->data_dir = g_strdup (ATRILDATADIR); - ev_application_init_session (ev_application); ev_application_accel_map_load (ev_application); @@ -1063,9 +1060,3 @@ ev_application_get_dot_dir (EvApplication *application, return application->dot_dir; } - -const gchar * -ev_application_get_data_dir (EvApplication *application) -{ - return application->data_dir; -} diff --git a/shell/ev-application.h b/shell/ev-application.h index d8d9cff1..b5187509 100644 --- a/shell/ev-application.h +++ b/shell/ev-application.h @@ -70,7 +70,6 @@ const gchar * ev_application_get_uri (EvApplication *applicati GObject *ev_application_get_media_keys (EvApplication *application); const gchar *ev_application_get_dot_dir (EvApplication *application, gboolean create); -const gchar *ev_application_get_data_dir (EvApplication *application); G_END_DECLS diff --git a/shell/ev-window.c b/shell/ev-window.c index f323a4f9..065ada89 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -288,6 +288,8 @@ struct _EvWindowPrivate { #define MAX_RECENT_ITEM_LEN (40) +#define TOOLBAR_RESOURCE_PATH "/org/mate/atril/shell/ui/toolbar.xml" + static const gchar *document_print_settings[] = { GTK_PRINT_SETTINGS_N_COPIES, GTK_PRINT_SETTINGS_COLLATE, @@ -7520,19 +7522,16 @@ get_toolbars_model (void) { EggToolbarsModel *toolbars_model; gchar *toolbars_file; - gchar *toolbars_path; gint i; toolbars_model = egg_toolbars_model_new (); toolbars_file = g_build_filename (ev_application_get_dot_dir (EV_APP, FALSE), "atril_toolbar.xml", NULL); - toolbars_path = g_build_filename (ev_application_get_data_dir (EV_APP), - "atril-toolbar.xml", NULL); - egg_toolbars_model_load_names (toolbars_model, toolbars_path); + egg_toolbars_model_load_names_from_resource (toolbars_model, TOOLBAR_RESOURCE_PATH); if (!egg_toolbars_model_load_toolbars (toolbars_model, toolbars_file)) { - egg_toolbars_model_load_toolbars (toolbars_model, toolbars_path); + egg_toolbars_model_load_toolbars_from_resource (toolbars_model, TOOLBAR_RESOURCE_PATH); goto skip_conversion; } @@ -7554,7 +7553,6 @@ get_toolbars_model (void) skip_conversion: g_free (toolbars_file); - g_free (toolbars_path); egg_toolbars_model_set_flags (toolbars_model, 0, EGG_TB_MODEL_NOT_REMOVABLE); @@ -7660,7 +7658,6 @@ ev_window_init (EvWindow *ev_window) GtkWidget *overlay; GObject *mpkeys; guint page_cache_mb; - gchar *ui_path; #ifdef ENABLE_DBUS GDBusConnection *connection; static gint window_id = 0; @@ -7756,15 +7753,10 @@ ev_window_init (EvWindow *ev_window) gtk_ui_manager_insert_action_group (ev_window->priv->ui_manager, action_group, 0); - ui_path = g_build_filename (ev_application_get_data_dir (EV_APP), - "atril-ui.xml", NULL); - if (!gtk_ui_manager_add_ui_from_file ( - ev_window->priv->ui_manager, ui_path, &error)) - { - g_warning ("building menus failed: %s", error->message); - g_error_free (error); - } - g_free (ui_path); + gtk_ui_manager_add_ui_from_resource (ev_window->priv->ui_manager, + "/org/mate/atril/shell/ui/atril.xml", + &error); + g_assert_no_error (error); ev_window->priv->recent_manager = gtk_recent_manager_get_default (); ev_window->priv->recent_action_group = NULL; |