Skip to content

Commit

Permalink
shell: Use GResource for data files
Browse files Browse the repository at this point in the history
  • Loading branch information
Christian Persch authored and raveit65 committed Mar 22, 2018
1 parent e0f26b9 commit c7fcfa1
Show file tree
Hide file tree
Showing 8 changed files with 233 additions and 29 deletions.
2 changes: 0 additions & 2 deletions data/Makefile.am
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ man_MANS=atril.1


uidir = $(pkgdatadir) uidir = $(pkgdatadir)
ui_DATA = \ ui_DATA = \
atril-ui.xml \
atril-toolbar.xml \
hand-open.png hand-open.png


# #
Expand Down
12 changes: 11 additions & 1 deletion shell/Makefile.am
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -65,6 +65,8 @@ atril_SOURCES= \
ev-properties-license.h \ ev-properties-license.h \
ev-open-recent-action.c \ ev-open-recent-action.c \
ev-open-recent-action.h \ ev-open-recent-action.h \
ev-resources.c \
ev-resources.h \
ev-utils.c \ ev-utils.c \
ev-utils.h \ ev-utils.h \
ev-window.c \ ev-window.c \
Expand Down Expand Up @@ -115,7 +117,8 @@ atril_LDADD= \
$(top_builddir)/libmisc/libevmisc.la \ $(top_builddir)/libmisc/libevmisc.la \
$(SHELL_LIBS) $(SHELL_LIBS)


BUILT_SOURCES = BUILT_SOURCES = \
ev-resources.c


if ENABLE_DBUS if ENABLE_DBUS
BUILT_SOURCES += \ BUILT_SOURCES += \
Expand Down Expand Up @@ -150,9 +153,13 @@ atrild_LDADD= \
endif endif


EXTRA_DIST = \ EXTRA_DIST = \
atril-ui.xml \
atril-toolbar.xml \
atril.gresource.xml \
ev-gdbus.xml \ ev-gdbus.xml \
ev-daemon-gdbus.xml ev-daemon-gdbus.xml



ev-gdbus-generated.c ev-gdbus-generated.h: ev-gdbus.xml Makefile ev-gdbus-generated.c ev-gdbus-generated.h: ev-gdbus.xml Makefile
$(AM_V_GEN) $(GDBUS_CODEGEN) \ $(AM_V_GEN) $(GDBUS_CODEGEN) \
--interface-prefix=org.mate.atril \ --interface-prefix=org.mate.atril \
Expand All @@ -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 \ --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) DISTCLEANFILES = $(BUILT_SOURCES)


-include $(top_srcdir)/git.mk -include $(top_srcdir)/git.mk
41 changes: 41 additions & 0 deletions shell/atril-toolbar.xml
Original file line number Original file line Diff line number Diff line change
@@ -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>
149 changes: 149 additions & 0 deletions shell/atril-ui.xml
Original file line number Original file line Diff line number Diff line change
@@ -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>
24 changes: 24 additions & 0 deletions shell/atril.gresource.xml
Original file line number Original file line Diff line number Diff line change
@@ -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>

9 changes: 0 additions & 9 deletions shell/ev-application.c
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ struct _EvApplication {
gchar *uri; gchar *uri;


gchar *dot_dir; gchar *dot_dir;
gchar *data_dir;


#ifdef ENABLE_DBUS #ifdef ENABLE_DBUS
EvAtrilApplication *skeleton; EvAtrilApplication *skeleton;
Expand Down Expand Up @@ -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->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_init_session (ev_application);


ev_application_accel_map_load (ev_application); ev_application_accel_map_load (ev_application);
Expand Down Expand Up @@ -1063,9 +1060,3 @@ ev_application_get_dot_dir (EvApplication *application,


return application->dot_dir; return application->dot_dir;
} }

const gchar *
ev_application_get_data_dir (EvApplication *application)
{
return application->data_dir;
}
1 change: 0 additions & 1 deletion shell/ev-application.h
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -70,7 +70,6 @@ const gchar * ev_application_get_uri (EvApplication *applicati
GObject *ev_application_get_media_keys (EvApplication *application); GObject *ev_application_get_media_keys (EvApplication *application);
const gchar *ev_application_get_dot_dir (EvApplication *application, const gchar *ev_application_get_dot_dir (EvApplication *application,
gboolean create); gboolean create);
const gchar *ev_application_get_data_dir (EvApplication *application);


G_END_DECLS G_END_DECLS


Expand Down
24 changes: 8 additions & 16 deletions shell/ev-window.c
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -288,6 +288,8 @@ struct _EvWindowPrivate {


#define MAX_RECENT_ITEM_LEN (40) #define MAX_RECENT_ITEM_LEN (40)


#define TOOLBAR_RESOURCE_PATH "/org/mate/atril/shell/ui/toolbar.xml"

static const gchar *document_print_settings[] = { static const gchar *document_print_settings[] = {
GTK_PRINT_SETTINGS_N_COPIES, GTK_PRINT_SETTINGS_N_COPIES,
GTK_PRINT_SETTINGS_COLLATE, GTK_PRINT_SETTINGS_COLLATE,
Expand Down Expand Up @@ -7520,19 +7522,16 @@ get_toolbars_model (void)
{ {
EggToolbarsModel *toolbars_model; EggToolbarsModel *toolbars_model;
gchar *toolbars_file; gchar *toolbars_file;
gchar *toolbars_path;
gint i; gint i;


toolbars_model = egg_toolbars_model_new (); toolbars_model = egg_toolbars_model_new ();


toolbars_file = g_build_filename (ev_application_get_dot_dir (EV_APP, FALSE), toolbars_file = g_build_filename (ev_application_get_dot_dir (EV_APP, FALSE),
"atril_toolbar.xml", NULL); "atril_toolbar.xml", NULL);
toolbars_path = g_build_filename (ev_application_get_data_dir (EV_APP), egg_toolbars_model_load_names_from_resource (toolbars_model, TOOLBAR_RESOURCE_PATH);
"atril-toolbar.xml", NULL);
egg_toolbars_model_load_names (toolbars_model, toolbars_path);


if (!egg_toolbars_model_load_toolbars (toolbars_model, toolbars_file)) { 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; goto skip_conversion;
} }


Expand All @@ -7554,7 +7553,6 @@ get_toolbars_model (void)


skip_conversion: skip_conversion:
g_free (toolbars_file); g_free (toolbars_file);
g_free (toolbars_path);


egg_toolbars_model_set_flags (toolbars_model, 0, EGG_TB_MODEL_NOT_REMOVABLE); egg_toolbars_model_set_flags (toolbars_model, 0, EGG_TB_MODEL_NOT_REMOVABLE);


Expand Down Expand Up @@ -7660,7 +7658,6 @@ ev_window_init (EvWindow *ev_window)
GtkWidget *overlay; GtkWidget *overlay;
GObject *mpkeys; GObject *mpkeys;
guint page_cache_mb; guint page_cache_mb;
gchar *ui_path;
#ifdef ENABLE_DBUS #ifdef ENABLE_DBUS
GDBusConnection *connection; GDBusConnection *connection;
static gint window_id = 0; static gint window_id = 0;
Expand Down Expand Up @@ -7756,15 +7753,10 @@ ev_window_init (EvWindow *ev_window)
gtk_ui_manager_insert_action_group (ev_window->priv->ui_manager, gtk_ui_manager_insert_action_group (ev_window->priv->ui_manager,
action_group, 0); action_group, 0);


ui_path = g_build_filename (ev_application_get_data_dir (EV_APP), gtk_ui_manager_add_ui_from_resource (ev_window->priv->ui_manager,
"atril-ui.xml", NULL); "/org/mate/atril/shell/ui/atril.xml",
if (!gtk_ui_manager_add_ui_from_file ( &error);
ev_window->priv->ui_manager, ui_path, &error)) g_assert_no_error (error);
{
g_warning ("building menus failed: %s", error->message);
g_error_free (error);
}
g_free (ui_path);


ev_window->priv->recent_manager = gtk_recent_manager_get_default (); ev_window->priv->recent_manager = gtk_recent_manager_get_default ();
ev_window->priv->recent_action_group = NULL; ev_window->priv->recent_action_group = NULL;
Expand Down

0 comments on commit c7fcfa1

Please sign in to comment.