Skip to content

Commit c7fcfa1

Browse files
Christian Perschraveit65
authored andcommitted
shell: Use GResource for data files
origin commit: https://git.gnome.org/browse/evince/commit/?h=gnome-3-6&id=ba06a5e
1 parent e0f26b9 commit c7fcfa1

File tree

8 files changed

+233
-29
lines changed

8 files changed

+233
-29
lines changed

data/Makefile.am

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ man_MANS=atril.1
1515

1616
uidir = $(pkgdatadir)
1717
ui_DATA = \
18-
atril-ui.xml \
19-
atril-toolbar.xml \
2018
hand-open.png
2119

2220
#

shell/Makefile.am

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ atril_SOURCES= \
6565
ev-properties-license.h \
6666
ev-open-recent-action.c \
6767
ev-open-recent-action.h \
68+
ev-resources.c \
69+
ev-resources.h \
6870
ev-utils.c \
6971
ev-utils.h \
7072
ev-window.c \
@@ -115,7 +117,8 @@ atril_LDADD= \
115117
$(top_builddir)/libmisc/libevmisc.la \
116118
$(SHELL_LIBS)
117119

118-
BUILT_SOURCES =
120+
BUILT_SOURCES = \
121+
ev-resources.c
119122

120123
if ENABLE_DBUS
121124
BUILT_SOURCES += \
@@ -150,9 +153,13 @@ atrild_LDADD= \
150153
endif
151154

152155
EXTRA_DIST = \
156+
atril-ui.xml \
157+
atril-toolbar.xml \
158+
atril.gresource.xml \
153159
ev-gdbus.xml \
154160
ev-daemon-gdbus.xml
155161

162+
156163
ev-gdbus-generated.c ev-gdbus-generated.h: ev-gdbus.xml Makefile
157164
$(AM_V_GEN) $(GDBUS_CODEGEN) \
158165
--interface-prefix=org.mate.atril \
@@ -169,6 +176,9 @@ ev-daemon-gdbus-generated.c ev-daemon-gdbus-generated.h: ev-daemon-gdbus.xml Mak
169176
--generate-c-code ev-daemon-gdbus-generated \
170177
$<
171178

179+
ev-resources.c: atril.gresource.xml Makefile $(shell $(GLIB_COMPILE_RESOURCES) --generate-dependencies --sourcedir $(srcdir) $(srcdir)/atril.gresource.xml)
180+
$(AM_V_GEN) XMLLINT=$(XMLLINT) $(GLIB_COMPILE_RESOURCES) --target $@ --sourcedir $(srcdir) --generate-source --c-name ev $<
181+
172182
DISTCLEANFILES = $(BUILT_SOURCES)
173183

174184
-include $(top_srcdir)/git.mk

shell/atril-toolbar.xml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<?xml version="1.0"?>
2+
<toolbars version="1.0">
3+
<available>
4+
<toolitem name="FileOpenRecent"/>
5+
<toolitem name="FilePrint"/>
6+
<toolitem name="FileSaveAs"/>
7+
<toolitem name="FileSendTo"/>
8+
<toolitem name="ViewContinuous"/>
9+
<toolitem name="ViewDual"/>
10+
<toolitem name="ViewInvertedColors"/>
11+
<toolitem name="ViewReload"/>
12+
<toolitem name="ViewAutoscroll"/>
13+
<toolitem name="ViewSidebar"/>
14+
<toolitem name="ViewZoom"/>
15+
<toolitem name="ViewZoomIn"/>
16+
<toolitem name="ViewZoomOut"/>
17+
<toolitem name="ViewZoomReset"/>
18+
<toolitem name="ViewFitPage"/>
19+
<toolitem name="ViewFitWidth"/>
20+
<toolitem name="ViewFullscreen"/>
21+
<toolitem name="ViewPresentation"/>
22+
<toolitem name="GoPreviousPage"/>
23+
<toolitem name="GoNextPage"/>
24+
<toolitem name="GoFirstPage"/>
25+
<toolitem name="GoLastPage"/>
26+
<toolitem name="EditRotateLeft"/>
27+
<toolitem name="EditRotateRight"/>
28+
<toolitem name="EditSelectAll"/>
29+
<toolitem name="EditFind"/>
30+
<toolitem name="PageSelector"/>
31+
<toolitem name="Navigation"/>
32+
</available>
33+
<toolbar name="DefaultToolBar">
34+
<toolitem name="GoPreviousPage"/>
35+
<toolitem name="GoNextPage"/>
36+
<separator/>
37+
<toolitem name="PageSelector"/>
38+
<separator/>
39+
<toolitem name="ViewZoom"/>
40+
</toolbar>
41+
</toolbars>

shell/atril-ui.xml

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
<ui>
2+
<menubar name="MainMenu">
3+
<menu name="FileMenu" action="File">
4+
<menuitem name="FileOpenMenu" action="FileOpen"/>
5+
<menuitem name="FileOpenCopyMenu" action="FileOpenCopy"/>
6+
<menuitem name="FileSaveAsMenu" action="FileSaveAs"/>
7+
<menuitem name="FileSendToMenu" action="FileSendTo"/>
8+
<separator/>
9+
<menuitem name="FilePrintMenu" action="FilePrint"/>
10+
<separator/>
11+
<menuitem name="FilePropertiesMenu" action="FileProperties"/>
12+
<separator/>
13+
<placeholder name="RecentFilesMenu"/>
14+
<separator/>
15+
<menuitem name="FileCloseWindowMenu" action="FileCloseWindow"/>
16+
</menu>
17+
18+
<menu name="EditMenu" action="Edit">
19+
<menuitem name="EditCopyMenu" action="EditCopy"/>
20+
<separator/>
21+
<menuitem name="EditSelectAllMenu" action="EditSelectAll"/>
22+
<separator/>
23+
<menuitem name="EditFindMenu" action="EditFind"/>
24+
<menuitem name="EditFindNextMenu" action="EditFindNext"/>
25+
<menuitem name="EditFindPreviousMenu" action="EditFindPrevious"/>
26+
<separator/>
27+
<menuitem name="EditRotateLeftMenu" action="EditRotateLeft"/>
28+
<menuitem name="EditRotateRightMenu" action="EditRotateRight"/>
29+
<separator/>
30+
<menuitem name="EditToolbarMenu" action="EditToolbar"/>
31+
<separator/>
32+
<menuitem name="EditSaveSettingsMenu" action="EditSaveSettings"/>
33+
</menu>
34+
35+
<menu name="ViewMenu" action="View">
36+
<menuitem name="ViewToolbarMenu" action="ViewToolbar"/>
37+
<menuitem name="ViewSidebarMenu" action="ViewSidebar"/>
38+
<separator/>
39+
<menuitem name="ViewFullscreenMenu" action="ViewFullscreen"/>
40+
<menuitem name="ViewPresentationMenu" action="ViewPresentation"/>
41+
<separator/>
42+
<menuitem name="ViewContinuousMenu" action="ViewContinuous"/>
43+
<menuitem name="ViewDualMenu" action="ViewDual"/>
44+
<menuitem name="ViewDualOddLeftMenu" action="ViewDualOddLeft"/>
45+
<separator/>
46+
<menuitem name="ViewInvertedColors" action="ViewInvertedColors"/>
47+
<separator/>
48+
<menuitem name="ViewCaretNavigationMenu" action="ViewCaretNavigation"/>
49+
<separator/>
50+
<menuitem name="ViewZoomInMenu" action="ViewZoomIn"/>
51+
<menuitem name="ViewZoomOutMenu" action="ViewZoomOut"/>
52+
<menuitem name="ViewZoomResetMenu" action="ViewZoomReset"/>
53+
<menuitem name="ViewFitPageMenu" action="ViewFitPage"/>
54+
<menuitem name="ViewFitWidthMenu" action="ViewFitWidth"/>
55+
<menuitem name="ViewExpandWindowMenu" action="ViewExpandWindow"/>
56+
<separator/>
57+
<menuitem name="ViewReload" action="ViewReload"/>
58+
</menu>
59+
60+
<menu name="GoMenu" action="Go">
61+
<menuitem name="GoPreviousPageMenu" action="GoPreviousPage"/>
62+
<menuitem name="GoNextPageMenu" action="GoNextPage"/>
63+
<separator/>
64+
<menuitem name="GoFirstPageMenu" action="GoFirstPage"/>
65+
<menuitem name="GoLastPageMenu" action="GoLastPage"/>
66+
</menu>
67+
68+
<menu name="BookmarksMenu" action="Bookmarks">
69+
<menuitem name="BookmarksAddMenu" action="BookmarksAdd"/>
70+
<separator/>
71+
<placeholder name="BookmarksItems"/>
72+
</menu>
73+
74+
<menu name="HelpMenu" action="Help">
75+
<menuitem name="HelpContentsMenu" action="HelpContents"/>
76+
<menuitem name="HelpAboutMenu" action="HelpAbout"/>
77+
</menu>
78+
</menubar>
79+
80+
<popup name="DocumentPopup" action="DocumentPopupAction">
81+
<menuitem name="OpenLink" action="OpenLink"/>
82+
<menuitem name="CopyLinkAddress" action="CopyLinkAddress"/>
83+
<menuitem name="GoLink" action="GoLink"/>
84+
<menuitem name="OpenLinkNewWindow" action="OpenLinkNewWindow"/>
85+
<separator/>
86+
<menuitem name="GoPreviousPage" action="GoPreviousPage"/>
87+
<menuitem name="GoNextPage" action="GoNextPage"/>
88+
<menuitem name="ViewReload" action="ViewReload"/>
89+
<menuitem name="ViewAutoscroll" action="ViewAutoscroll"/>
90+
<separator/>
91+
<menuitem name="EditCopy" action="EditCopy"/>
92+
<menuitem name="EditSelectAllPopup" action="EditSelectAll"/>
93+
<separator/>
94+
<menuitem name="SaveImageAs" action="SaveImageAs"/>
95+
<menuitem name="CopyImage" action="CopyImage"/>
96+
<separator/>
97+
<menuitem name="OpenAttachment" action="OpenAttachment"/>
98+
<menuitem name="SaveAttachmentAs" action="SaveAttachmentAs"/>
99+
<separator/>
100+
<menuitem name="AnnotProperties" action="AnnotProperties"/>
101+
<menuitem name="RemoveAnnot" action="RemoveAnnot"/>
102+
</popup>
103+
104+
<popup name="AttachmentPopup" action="AttachmentPopupAction">
105+
<menuitem name="OpenAttachment" action="OpenAttachment"/>
106+
<separator/>
107+
<menuitem name="SaveAttachmentAs" action="SaveAttachmentAs"/>
108+
</popup>
109+
110+
<popup name="ToolbarPopup" action="ToolbarPopupAction">
111+
<menuitem name="EditToolbarMenu" action="EditToolbar"/>
112+
</popup>
113+
114+
<accelerator name="PageDownAccel" action="PageDown"/>
115+
<accelerator name="PageUpAccel" action="PageUp"/>
116+
<accelerator name="GoBackwardFastAccel" action="GoBackwardFast"/>
117+
<accelerator name="GoForwardFastAccel" action="GoForwardFast"/>
118+
<accelerator name="EscapeAccel" action="Escape"/>
119+
<accelerator name="SlashAccel" action="Slash"/>
120+
<accelerator name="F3Accel" action="F3"/>
121+
<accelerator name="pAccel" action="p"/>
122+
<accelerator name="nAccel" action="n"/>
123+
<accelerator name="FocusPageSelectorAccel" action="FocusPageSelector"/>
124+
<accelerator name="PlusAccel" action="Plus"/>
125+
<accelerator name="MinusAccel" action="Minus"/>
126+
<accelerator name="Equal" action="Equal"/>
127+
<accelerator name="CtrlEqualAccel" action="CtrlEqual"/>
128+
<accelerator name="KpPlusAccel" action="KpPlus"/>
129+
<accelerator name="KpMinusAccel" action="KpMinus"/>
130+
<accelerator name="CtrlKpPlusAccel" action="CtrlKpPlus"/>
131+
<accelerator name="CtrlKpMinusAccel" action="CtrlKpMinus"/>
132+
<accelerator name="CtrlKpZeroAccel" action="CtrlKpZero"/>
133+
<accelerator name="CtrlInsertAccel" action="CtrlInsert" />
134+
<accelerator name="FitPageAccel" action ="FitPage" />
135+
<accelerator name="FitWidthAccel" action ="FitWidth" />
136+
<accelerator name="F7Accel" action="F7" />
137+
138+
<toolbar name="FullscreenToolbar">
139+
<toolitem name="GoPreviousPage" action="GoPreviousPage"/>
140+
<toolitem name="GoNextPage" action="GoNextPage"/>
141+
<separator/>
142+
<toolitem name="PageSelector" action="PageSelector"/>
143+
<separator/>
144+
<toolitem name="ViewZoom" action="ViewZoom"/>
145+
<separator expand="true"/>
146+
<toolitem name="StartPresentation" action="StartPresentation"/>
147+
<toolitem name="LeaveFullscreen" action="LeaveFullscreen"/>
148+
</toolbar>
149+
</ui>

shell/atril.gresource.xml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
Copyright © 2012 Christian Persch
4+
5+
This program is free software; you can redistribute it and/or modify
6+
it under the terms of the GNU General Public License as published by
7+
the Free Software Foundation; either version 3, or (at your option)
8+
any later version.
9+
10+
This program is distributed in the hope conf it will be useful,
11+
but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
GNU General Public License for more details.
14+
15+
You should have received a copy of the GNU General Public License
16+
along with this program. If not, see <http://www.gnu.org/licenses/>.
17+
-->
18+
<gresources>
19+
<gresource prefix="/org/mate/atril/shell">
20+
<file alias="ui/atril.xml" compressed="true" preprocess="xml-stripblanks">atril-ui.xml</file>
21+
<file alias="ui/toolbar.xml" compressed="true" preprocess="xml-stripblanks">atril-toolbar.xml</file>
22+
</gresource>
23+
</gresources>
24+

shell/ev-application.c

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ struct _EvApplication {
4949
gchar *uri;
5050

5151
gchar *dot_dir;
52-
gchar *data_dir;
5352

5453
#ifdef ENABLE_DBUS
5554
EvAtrilApplication *skeleton;
@@ -990,8 +989,6 @@ static void ev_application_init(EvApplication* ev_application)
990989
ev_application->dot_dir = g_build_filename(g_get_user_config_dir(), "atril", NULL);
991990
}
992991

993-
ev_application->data_dir = g_strdup (ATRILDATADIR);
994-
995992
ev_application_init_session (ev_application);
996993

997994
ev_application_accel_map_load (ev_application);
@@ -1063,9 +1060,3 @@ ev_application_get_dot_dir (EvApplication *application,
10631060

10641061
return application->dot_dir;
10651062
}
1066-
1067-
const gchar *
1068-
ev_application_get_data_dir (EvApplication *application)
1069-
{
1070-
return application->data_dir;
1071-
}

shell/ev-application.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ const gchar * ev_application_get_uri (EvApplication *applicati
7070
GObject *ev_application_get_media_keys (EvApplication *application);
7171
const gchar *ev_application_get_dot_dir (EvApplication *application,
7272
gboolean create);
73-
const gchar *ev_application_get_data_dir (EvApplication *application);
7473

7574
G_END_DECLS
7675

shell/ev-window.c

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,8 @@ struct _EvWindowPrivate {
288288

289289
#define MAX_RECENT_ITEM_LEN (40)
290290

291+
#define TOOLBAR_RESOURCE_PATH "/org/mate/atril/shell/ui/toolbar.xml"
292+
291293
static const gchar *document_print_settings[] = {
292294
GTK_PRINT_SETTINGS_N_COPIES,
293295
GTK_PRINT_SETTINGS_COLLATE,
@@ -7520,19 +7522,16 @@ get_toolbars_model (void)
75207522
{
75217523
EggToolbarsModel *toolbars_model;
75227524
gchar *toolbars_file;
7523-
gchar *toolbars_path;
75247525
gint i;
75257526

75267527
toolbars_model = egg_toolbars_model_new ();
75277528

75287529
toolbars_file = g_build_filename (ev_application_get_dot_dir (EV_APP, FALSE),
75297530
"atril_toolbar.xml", NULL);
7530-
toolbars_path = g_build_filename (ev_application_get_data_dir (EV_APP),
7531-
"atril-toolbar.xml", NULL);
7532-
egg_toolbars_model_load_names (toolbars_model, toolbars_path);
7531+
egg_toolbars_model_load_names_from_resource (toolbars_model, TOOLBAR_RESOURCE_PATH);
75337532

75347533
if (!egg_toolbars_model_load_toolbars (toolbars_model, toolbars_file)) {
7535-
egg_toolbars_model_load_toolbars (toolbars_model, toolbars_path);
7534+
egg_toolbars_model_load_toolbars_from_resource (toolbars_model, TOOLBAR_RESOURCE_PATH);
75367535
goto skip_conversion;
75377536
}
75387537

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

75557554
skip_conversion:
75567555
g_free (toolbars_file);
7557-
g_free (toolbars_path);
75587556

75597557
egg_toolbars_model_set_flags (toolbars_model, 0, EGG_TB_MODEL_NOT_REMOVABLE);
75607558

@@ -7660,7 +7658,6 @@ ev_window_init (EvWindow *ev_window)
76607658
GtkWidget *overlay;
76617659
GObject *mpkeys;
76627660
guint page_cache_mb;
7663-
gchar *ui_path;
76647661
#ifdef ENABLE_DBUS
76657662
GDBusConnection *connection;
76667663
static gint window_id = 0;
@@ -7756,15 +7753,10 @@ ev_window_init (EvWindow *ev_window)
77567753
gtk_ui_manager_insert_action_group (ev_window->priv->ui_manager,
77577754
action_group, 0);
77587755

7759-
ui_path = g_build_filename (ev_application_get_data_dir (EV_APP),
7760-
"atril-ui.xml", NULL);
7761-
if (!gtk_ui_manager_add_ui_from_file (
7762-
ev_window->priv->ui_manager, ui_path, &error))
7763-
{
7764-
g_warning ("building menus failed: %s", error->message);
7765-
g_error_free (error);
7766-
}
7767-
g_free (ui_path);
7756+
gtk_ui_manager_add_ui_from_resource (ev_window->priv->ui_manager,
7757+
"/org/mate/atril/shell/ui/atril.xml",
7758+
&error);
7759+
g_assert_no_error (error);
77687760

77697761
ev_window->priv->recent_manager = gtk_recent_manager_get_default ();
77707762
ev_window->priv->recent_action_group = NULL;

0 commit comments

Comments
 (0)