Put all menu definitions into one resource
authorThomas White <taw@bitwiz.me.uk>
Sat, 21 Apr 2018 20:31:32 +0000 (22:31 +0200)
committerThomas White <taw@bitwiz.me.uk>
Sun, 22 Apr 2018 21:21:12 +0000 (23:21 +0200)
data/app-menu.ui [deleted file]
data/colloquium.gresource.xml
data/menu-bar.ui [deleted file]
data/menus.ui [new file with mode: 0644]
po/POTFILES
po/colloquium.pot
po/de.po
src/colloquium.c
src/colloquium.h

diff --git a/data/app-menu.ui b/data/app-menu.ui
deleted file mode 100644 (file)
index 9742170..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0"?>
-<interface>
-  <menu id='app-menu'>
-    <section>
-      <item>
-        <attribute name='label' translatable='yes'>_New</attribute>
-        <attribute name='action'>app.new</attribute>
-        <attribute name='accel'>&lt;Primary&gt;n</attribute>
-      </item>
-      <item>
-        <attribute name='label' translatable='yes'>_Open...</attribute>
-        <attribute name='action'>app.open</attribute>
-        <attribute name='accel'>&lt;Primary&gt;o</attribute>
-      </item>
-      <item>
-        <attribute name='label' translatable='yes'>Preferences</attribute>
-        <attribute name='action'>app.prefs</attribute>
-      </item>
-    </section>
-    <section>
-      <item>
-        <attribute name='label' translatable='yes'>_About</attribute>
-        <attribute name='action'>app.about</attribute>
-      </item>
-      <item>
-        <attribute name='label' translatable='yes'>Basic introduction</attribute>
-        <attribute name='action'>app.intro</attribute>
-      </item>
-      <item>
-        <attribute name='label' translatable='yes'>_Quit</attribute>
-        <attribute name='action'>app.quit</attribute>
-        <attribute name='accel'>&lt;Primary&gt;q</attribute>
-      </item>
-    </section>
-  </menu>
-</interface>
index 15f244f..5c8b4b0 100644 (file)
@@ -2,8 +2,7 @@
 <gresources>
   <gresource prefix="/uk/me/bitwiz/Colloquium">
     <file>sky.png</file>
-    <file>app-menu.ui</file>
-    <file>menu-bar.ui</file>
+    <file>menus.ui</file>
     <file>demo.sc</file>
     <file>canvas.png</file>
     <file>alpha_warning.svg</file>
diff --git a/data/menu-bar.ui b/data/menu-bar.ui
deleted file mode 100644 (file)
index fc5b663..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-<?xml version="1.0"?>
-<interface>
-  <menu id='menubar'>
-
-    <submenu>
-      <attribute name='label' translatable='yes'>File</attribute>
-      <section>
-        <item>
-          <attribute name='label' translatable='yes'>_New</attribute>
-          <attribute name='action'>app.new</attribute>
-          <attribute name='accel'>&lt;Primary&gt;n</attribute>
-        </item>
-        <item>
-          <attribute name='label' translatable='yes'>_Open...</attribute>
-          <attribute name='action'>app.open</attribute>
-          <attribute name='accel'>&lt;Primary&gt;o</attribute>
-        </item>
-      </section>
-      <section>
-        <item>
-          <attribute name='label' translatable='yes'>_Save</attribute>
-          <attribute name='action'>win.save</attribute>
-          <attribute name='accel'>&lt;Primary&gt;s</attribute>
-        </item>
-        <item>
-          <attribute name='label' translatable='yes'>Save As...</attribute>
-          <attribute name='action'>win.saveas</attribute>
-        </item>
-      </section>
-      <section>
-        <item>
-          <attribute name='label' translatable='yes'>Print...</attribute>
-          <attribute name='action'>win.print</attribute>
-        </item>
-        <item>
-          <attribute name='label' translatable='yes'>Export slides as PDF...</attribute>
-          <attribute name='action'>win.exportpdf</attribute>
-        </item>
-      </section>
-      <section>
-        <item>
-          <attribute name='label' translatable='yes'>Load stylesheet...</attribute>
-          <attribute name='action'>win.loadstyle</attribute>
-        </item>
-        <item>
-          <attribute name='label' translatable='yes'>Save stylesheet...</attribute>
-          <attribute name='action'>win.savestyle</attribute>
-        </item>
-      </section>
-      <section>
-        <item>
-          <attribute name='label' translatable='yes'>_Quit</attribute>
-          <attribute name='action'>app.quit</attribute>
-          <attribute name='accel'>&lt;Primary&gt;q</attribute>
-        </item>
-      </section>
-    </submenu>
-
-    <submenu>
-      <attribute name='label' translatable='yes'>Edit</attribute>
-      <section>
-        <item>
-          <attribute name='label' translatable='yes'>Undo</attribute>
-          <attribute name='action'>win.undo</attribute>
-        </item>
-        <item>
-          <attribute name='label' translatable='yes'>Redo</attribute>
-          <attribute name='action'>win.redo</attribute>
-        </item>
-      </section>
-      <section>
-        <item>
-          <attribute name='label' translatable='yes'>Cut</attribute>
-          <attribute name='action'>win.cut</attribute>
-        </item>
-        <item>
-          <attribute name='label' translatable='yes'>Copy</attribute>
-          <attribute name='action'>win.copy</attribute>
-        </item>
-        <item>
-          <attribute name='label' translatable='yes'>Paste</attribute>
-          <attribute name='action'>win.paste</attribute>
-        </item>
-      </section>
-      <section>
-        <item>
-          <attribute name='label' translatable='yes'>Delete frame</attribute>
-          <attribute name='action'>win.deleteframe</attribute>
-        </item>
-        <item>
-          <attribute name='label' translatable='yes'>Copy Frame</attribute>
-          <attribute name='action'>win.copyframe</attribute>
-        </item>
-        <item>
-          <attribute name='label' translatable='yes'>Delete slide</attribute>
-          <attribute name='action'>win.deleteslide</attribute>
-        </item>
-      </section>
-      <section>
-        <item>
-          <attribute name='label' translatable='yes'>Edit stylesheet...</attribute>
-          <attribute name='action'>win.stylesheet</attribute>
-        </item>
-      </section>
-      <section>
-        <item>
-          <attribute name='label' translatable='yes'>Preferences</attribute>
-          <attribute name='action'>app.prefs</attribute>
-        </item>
-      </section>
-    </submenu>
-
-    <submenu>
-      <attribute name='label' translatable='yes'>Insert</attribute>
-      <section>
-        <item>
-          <attribute name='label' translatable='yes'>Slide</attribute>
-          <attribute name='action'>win.slide</attribute>
-        </item>
-        <item>
-          <attribute name='label' translatable='yes'>Slide title</attribute>
-          <attribute name='action'>win.slidetitle</attribute>
-        </item>
-      </section>
-    </submenu>
-
-    <submenu>
-      <attribute name='label' translatable='yes'>Tools</attribute>
-      <section>
-        <item>
-          <attribute name='label' translatable='yes'>Start slideshow</attribute>
-          <attribute name='action'>win.startslideshow</attribute>
-        </item>
-        <item>
-          <attribute name='label' translatable='yes'>Start slideshow here</attribute>
-          <attribute name='action'>win.startslideshowhere</attribute>
-        </item>
-        <item>
-          <attribute name='label' translatable='yes'>Start slideshow without slides</attribute>
-          <attribute name='action'>win.startslideshownoslides</attribute>
-        </item>
-        <item>
-          <attribute name='label' translatable='yes'>Presentation clock</attribute>
-          <attribute name='action'>win.clock</attribute>
-        </item>
-        <item>
-          <attribute name='label' translatable='yes'>Test card</attribute>
-          <attribute name='action'>win.testcard</attribute>
-        </item>
-      </section>
-    </submenu>
-
-    <submenu>
-      <attribute name='label' translatable='yes'>Help</attribute>
-      <section>
-        <item>
-          <attribute name='label' translatable='yes'>Basic introduction</attribute>
-          <attribute name='action'>app.intro</attribute>
-        </item>
-        <item>
-          <attribute name='label' translatable='yes'>About</attribute>
-          <attribute name='action'>win.about</attribute>
-        </item>
-      </section>
-    </submenu>
-
-  </menu>
-</interface>
diff --git a/data/menus.ui b/data/menus.ui
new file mode 100644 (file)
index 0000000..2f587db
--- /dev/null
@@ -0,0 +1,207 @@
+<?xml version="1.0"?>
+<interface>
+
+  <!-- Main menu bar -->
+
+  <menu id='menubar'>
+
+    <submenu>
+      <attribute name='label' translatable='yes'>File</attribute>
+      <section>
+        <item>
+          <attribute name='label' translatable='yes'>_New</attribute>
+          <attribute name='action'>app.new</attribute>
+          <attribute name='accel'>&lt;Primary&gt;n</attribute>
+        </item>
+        <item>
+          <attribute name='label' translatable='yes'>_Open...</attribute>
+          <attribute name='action'>app.open</attribute>
+          <attribute name='accel'>&lt;Primary&gt;o</attribute>
+        </item>
+      </section>
+      <section>
+        <item>
+          <attribute name='label' translatable='yes'>_Save</attribute>
+          <attribute name='action'>win.save</attribute>
+          <attribute name='accel'>&lt;Primary&gt;s</attribute>
+        </item>
+        <item>
+          <attribute name='label' translatable='yes'>Save As...</attribute>
+          <attribute name='action'>win.saveas</attribute>
+        </item>
+      </section>
+      <section>
+        <item>
+          <attribute name='label' translatable='yes'>Print...</attribute>
+          <attribute name='action'>win.print</attribute>
+        </item>
+        <item>
+          <attribute name='label' translatable='yes'>Export slides as PDF...</attribute>
+          <attribute name='action'>win.exportpdf</attribute>
+        </item>
+      </section>
+      <section>
+        <item>
+          <attribute name='label' translatable='yes'>Load stylesheet...</attribute>
+          <attribute name='action'>win.loadstyle</attribute>
+        </item>
+        <item>
+          <attribute name='label' translatable='yes'>Save stylesheet...</attribute>
+          <attribute name='action'>win.savestyle</attribute>
+        </item>
+      </section>
+      <section>
+        <item>
+          <attribute name='label' translatable='yes'>_Quit</attribute>
+          <attribute name='action'>app.quit</attribute>
+          <attribute name='accel'>&lt;Primary&gt;q</attribute>
+        </item>
+      </section>
+    </submenu>
+
+    <submenu>
+      <attribute name='label' translatable='yes'>Edit</attribute>
+      <section>
+        <item>
+          <attribute name='label' translatable='yes'>Undo</attribute>
+          <attribute name='action'>win.undo</attribute>
+        </item>
+        <item>
+          <attribute name='label' translatable='yes'>Redo</attribute>
+          <attribute name='action'>win.redo</attribute>
+        </item>
+      </section>
+      <section>
+        <item>
+          <attribute name='label' translatable='yes'>Cut</attribute>
+          <attribute name='action'>win.cut</attribute>
+        </item>
+        <item>
+          <attribute name='label' translatable='yes'>Copy</attribute>
+          <attribute name='action'>win.copy</attribute>
+        </item>
+        <item>
+          <attribute name='label' translatable='yes'>Paste</attribute>
+          <attribute name='action'>win.paste</attribute>
+        </item>
+      </section>
+      <section>
+        <item>
+          <attribute name='label' translatable='yes'>Delete frame</attribute>
+          <attribute name='action'>win.deleteframe</attribute>
+        </item>
+        <item>
+          <attribute name='label' translatable='yes'>Copy Frame</attribute>
+          <attribute name='action'>win.copyframe</attribute>
+        </item>
+        <item>
+          <attribute name='label' translatable='yes'>Delete slide</attribute>
+          <attribute name='action'>win.deleteslide</attribute>
+        </item>
+      </section>
+      <section>
+        <item>
+          <attribute name='label' translatable='yes'>Edit stylesheet...</attribute>
+          <attribute name='action'>win.stylesheet</attribute>
+        </item>
+      </section>
+      <section>
+        <item>
+          <attribute name='label' translatable='yes'>Preferences</attribute>
+          <attribute name='action'>app.prefs</attribute>
+        </item>
+      </section>
+    </submenu>
+
+    <submenu>
+      <attribute name='label' translatable='yes'>Insert</attribute>
+      <section>
+        <item>
+          <attribute name='label' translatable='yes'>Slide</attribute>
+          <attribute name='action'>win.slide</attribute>
+        </item>
+        <item>
+          <attribute name='label' translatable='yes'>Slide title</attribute>
+          <attribute name='action'>win.slidetitle</attribute>
+        </item>
+      </section>
+    </submenu>
+
+    <submenu>
+      <attribute name='label' translatable='yes'>Tools</attribute>
+      <section>
+        <item>
+          <attribute name='label' translatable='yes'>Start slideshow</attribute>
+          <attribute name='action'>win.startslideshow</attribute>
+        </item>
+        <item>
+          <attribute name='label' translatable='yes'>Start slideshow here</attribute>
+          <attribute name='action'>win.startslideshowhere</attribute>
+        </item>
+        <item>
+          <attribute name='label' translatable='yes'>Start slideshow without slides</attribute>
+          <attribute name='action'>win.startslideshownoslides</attribute>
+        </item>
+        <item>
+          <attribute name='label' translatable='yes'>Presentation clock</attribute>
+          <attribute name='action'>win.clock</attribute>
+        </item>
+        <item>
+          <attribute name='label' translatable='yes'>Test card</attribute>
+          <attribute name='action'>win.testcard</attribute>
+        </item>
+      </section>
+    </submenu>
+
+    <submenu>
+      <attribute name='label' translatable='yes'>Help</attribute>
+      <section>
+        <item>
+          <attribute name='label' translatable='yes'>Basic introduction</attribute>
+          <attribute name='action'>app.intro</attribute>
+        </item>
+        <item>
+          <attribute name='label' translatable='yes'>About</attribute>
+          <attribute name='action'>win.about</attribute>
+        </item>
+      </section>
+    </submenu>
+
+  </menu>
+
+  <!-- Application menu (only used for some DEs) -->
+  <menu id='app-menu'>
+    <section>
+      <item>
+        <attribute name='label' translatable='yes'>_New</attribute>
+        <attribute name='action'>app.new</attribute>
+        <attribute name='accel'>&lt;Primary&gt;n</attribute>
+      </item>
+      <item>
+        <attribute name='label' translatable='yes'>_Open...</attribute>
+        <attribute name='action'>app.open</attribute>
+        <attribute name='accel'>&lt;Primary&gt;o</attribute>
+      </item>
+      <item>
+        <attribute name='label' translatable='yes'>Preferences</attribute>
+        <attribute name='action'>app.prefs</attribute>
+      </item>
+    </section>
+    <section>
+      <item>
+        <attribute name='label' translatable='yes'>_About</attribute>
+        <attribute name='action'>app.about</attribute>
+      </item>
+      <item>
+        <attribute name='label' translatable='yes'>Basic introduction</attribute>
+        <attribute name='action'>app.intro</attribute>
+      </item>
+      <item>
+        <attribute name='label' translatable='yes'>_Quit</attribute>
+        <attribute name='action'>app.quit</attribute>
+        <attribute name='accel'>&lt;Primary&gt;q</attribute>
+      </item>
+    </section>
+  </menu>
+
+</interface>
index 044c7d4..0d736d9 100644 (file)
@@ -14,5 +14,4 @@ src/slideshow.c
 src/slide_window.c
 src/testcard.c
 src/utils.c
-data/menu-bar.ui
-data/app-menu.ui
+data/menus.ui
index 572f3ef..67114d4 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: colloquium\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-04-15 17:17+0200\n"
+"POT-Creation-Date: 2018-04-22 12:15+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,53 +18,53 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 
 #. Description of the program
-#: src/colloquium.c:112
+#: src/colloquium.c:114
 msgid "Narrative-based presentation system"
 msgstr ""
 
-#: src/colloquium.c:135
+#: src/colloquium.c:122
 msgid "translator-credits"
 msgstr ""
 
-#: src/colloquium.c:161
+#: src/colloquium.c:148
 #, c-format
 msgid "WTF? Too many files\n"
 msgstr ""
 
-#: src/colloquium.c:185
+#: src/colloquium.c:172
 #, c-format
 msgid "Failed to convert file list\n"
 msgstr ""
 
-#: src/colloquium.c:208
+#: src/colloquium.c:195
 msgid "Open Presentation"
 msgstr ""
 
-#: src/colloquium.c:211 src/narrative_window.c:129 src/narrative_window.c:326
-#: src/narrative_window.c:486
+#: src/colloquium.c:198 src/narrative_window.c:129 src/narrative_window.c:341
+#: src/narrative_window.c:508
 msgid "_Cancel"
 msgstr ""
 
-#: src/colloquium.c:212 src/narrative_window.c:327
+#: src/colloquium.c:199 src/narrative_window.c:342
 msgid "_Open"
 msgstr ""
 
-#: src/colloquium.c:247
+#: src/colloquium.c:233
 #, c-format
 msgid "Failed to load presentation '%s'\n"
 msgstr ""
 
-#: src/colloquium.c:267
+#: src/colloquium.c:253
 #, c-format
 msgid "Failed to create config\n"
 msgstr ""
 
-#: src/colloquium.c:291
+#: src/colloquium.c:277
 #, c-format
 msgid "Don't understand '%s', assuming false\n"
 msgstr ""
 
-#: src/colloquium.c:303
+#: src/colloquium.c:289
 #, c-format
 msgid "Failed to open config %s\n"
 msgstr ""
@@ -73,27 +73,27 @@ msgstr ""
 #. * desktop environment.  All the entries are already in the
 #. * normal menus, so don't let GTK create a fallback menu in the
 #. * menu bar.
-#: src/colloquium.c:359
+#: src/colloquium.c:350
 #, c-format
 msgid "Using app menu\n"
 msgstr ""
 
-#: src/colloquium.c:378
+#: src/colloquium.c:367
 #, c-format
 msgid "Failed to create config folder\n"
 msgstr ""
 
-#: src/colloquium.c:447
+#: src/colloquium.c:436
 #, c-format
 msgid ""
 "Syntax: %s [options] [<file.sc>]\n"
 "\n"
 msgstr ""
 
-#: src/colloquium.c:448
+#: src/colloquium.c:437
 #, c-format
 msgid ""
-"A tiny presentation program.\n"
+"Narrative-based presentation system.\n"
 "\n"
 "  -h, --help    Display this help message.\n"
 msgstr ""
@@ -371,7 +371,7 @@ msgstr ""
 msgid "  Other paragraph type\n"
 msgstr ""
 
-#: src/frame.c:1632 src/sc_editor.c:844
+#: src/frame.c:1632 src/sc_editor.c:1001
 #, c-format
 msgid "Failed to insert paragraph\n"
 msgstr ""
@@ -399,68 +399,68 @@ msgstr ""
 msgid "Save Presentation"
 msgstr ""
 
-#: src/narrative_window.c:130 data/menu-bar.ui:21
+#: src/narrative_window.c:130 data/menus.ui:24
 msgid "_Save"
 msgstr ""
 
-#: src/narrative_window.c:172
+#: src/narrative_window.c:173
 #, c-format
 msgid "Not a slide!\n"
 msgstr ""
 
-#: src/narrative_window.c:299
+#: src/narrative_window.c:300
 #, c-format
 msgid "Not a style sheet\n"
 msgstr ""
 
-#: src/narrative_window.c:302
+#: src/narrative_window.c:303
 #, c-format
 msgid "Failed to load\n"
 msgstr ""
 
-#: src/narrative_window.c:323
+#: src/narrative_window.c:338
 msgid "Load stylesheet"
 msgstr ""
 
-#: src/narrative_window.c:357
+#: src/narrative_window.c:372
 #, c-format
 msgid "Failed to split paragraph\n"
 msgstr ""
 
-#: src/narrative_window.c:483
+#: src/narrative_window.c:505
 msgid "Export PDF"
 msgstr ""
 
-#: src/narrative_window.c:487
+#: src/narrative_window.c:509
 msgid "_Export"
 msgstr ""
 
-#: src/narrative_window.c:784
+#: src/narrative_window.c:803
 #, c-format
 msgid "Narrative window is already open!\n"
 msgstr ""
 
-#: src/narrative_window.c:836 data/menu-bar.ui:131
+#: src/narrative_window.c:853 data/menus.ui:134
 msgid "Start slideshow"
 msgstr ""
 
-#: src/narrative_window.c:847
+#: src/narrative_window.c:864
 msgid "Add slide"
 msgstr ""
 
-#: src/narrative_window.c:857
+#: src/narrative_window.c:874
 msgid "First slide"
 msgstr ""
 
-#: src/narrative_window.c:864
+#: src/narrative_window.c:881
 msgid "Previous slide"
 msgstr ""
 
-#: src/narrative_window.c:871
+#: src/narrative_window.c:888
 msgid "Next slide"
 msgstr ""
 
-#: src/narrative_window.c:878
+#: src/narrative_window.c:895
 msgid "Last slide"
 msgstr ""
 
@@ -513,7 +513,7 @@ msgstr ""
 msgid "<b>Time remaining</b>"
 msgstr ""
 
-#: src/pr_clock.c:434 data/menu-bar.ui:143
+#: src/pr_clock.c:434 data/menus.ui:146
 msgid "Presentation clock"
 msgstr ""
 
@@ -589,63 +589,68 @@ msgstr ""
 msgid "Paragraphs in current frame:\n"
 msgstr ""
 
+#: src/sc_editor.c:481
+#, c-format
+msgid "No frame selected for paste\n"
+msgstr ""
+
 #. FIXME: Implement this
-#: src/sc_editor.c:769
+#: src/sc_editor.c:926
 #, c-format
 msgid "Deleting non-text paragraph\n"
 msgstr ""
 
-#: src/sc_editor.c:810
+#: src/sc_editor.c:967
 #, c-format
 msgid "Position not editable\n"
 msgstr ""
 
-#: src/sc_editor.c:831
+#: src/sc_editor.c:988
 #, c-format
 msgid "No SCBlock for para\n"
 msgstr ""
 
-#: src/sc_editor.c:838
+#: src/sc_editor.c:995
 #, c-format
 msgid "Failed to add SCBlock\n"
 msgstr ""
 
-#: src/sc_editor.c:1424
+#: src/sc_editor.c:1581
 #, c-format
 msgid "Release on pointless drag.\n"
 msgstr ""
 
-#: src/sc_editor.c:1439
+#: src/sc_editor.c:1596
 #, c-format
 msgid "Failed to create frame!\n"
 msgstr ""
 
-#: src/sc_editor.c:1592
+#: src/sc_editor.c:1705
 #, c-format
 msgid "Cursor frame block = %p\n"
 msgstr ""
 
-#: src/sc_editor.c:1593 src/sc_editor.c:1601
+#: src/sc_editor.c:1706 src/sc_editor.c:1714
 #, c-format
 msgid "Editor top block = %p\n"
 msgstr ""
 
-#: src/sc_editor.c:1600
+#: src/sc_editor.c:1713
 #, c-format
 msgid "Debugging the top frame:\n"
 msgstr ""
 
-#: src/sc_editor.c:1805
+#: src/sc_editor.c:1918
 #, c-format
 msgid "Failed to allocate SC\n"
 msgstr ""
 
-#: src/sc_editor.c:2036
+#: src/sc_editor.c:2149
 #, c-format
 msgid "WARNING: Changing imagestore\n"
 msgstr ""
 
-#: src/sc_editor.c:2080
+#: src/sc_editor.c:2193
 #, c-format
 msgid "Failed to load background: %s\n"
 msgstr ""
@@ -876,126 +881,126 @@ msgstr ""
 msgid "Failed to allocate memory\n"
 msgstr ""
 
-#: data/menu-bar.ui:6
+#: data/menus.ui:9
 msgid "File"
 msgstr ""
 
-#: data/menu-bar.ui:9 data/app-menu.ui:6
+#: data/menus.ui:12 data/menus.ui:176
 msgid "_New"
 msgstr ""
 
-#: data/menu-bar.ui:14 data/app-menu.ui:11
+#: data/menus.ui:17 data/menus.ui:181
 msgid "_Open..."
 msgstr ""
 
-#: data/menu-bar.ui:26
+#: data/menus.ui:29
 msgid "Save As..."
 msgstr ""
 
-#: data/menu-bar.ui:32
+#: data/menus.ui:35
 msgid "Print..."
 msgstr ""
 
-#: data/menu-bar.ui:36
+#: data/menus.ui:39
 msgid "Export slides as PDF..."
 msgstr ""
 
-#: data/menu-bar.ui:42
+#: data/menus.ui:45
 msgid "Load stylesheet..."
 msgstr ""
 
-#: data/menu-bar.ui:46
+#: data/menus.ui:49
 msgid "Save stylesheet..."
 msgstr ""
 
-#: data/menu-bar.ui:52 data/app-menu.ui:30
+#: data/menus.ui:55 data/menus.ui:200
 msgid "_Quit"
 msgstr ""
 
-#: data/menu-bar.ui:60
+#: data/menus.ui:63
 msgid "Edit"
 msgstr ""
 
-#: data/menu-bar.ui:63
+#: data/menus.ui:66
 msgid "Undo"
 msgstr ""
 
-#: data/menu-bar.ui:67
+#: data/menus.ui:70
 msgid "Redo"
 msgstr ""
 
-#: data/menu-bar.ui:73
+#: data/menus.ui:76
 msgid "Cut"
 msgstr ""
 
-#: data/menu-bar.ui:77
+#: data/menus.ui:80
 msgid "Copy"
 msgstr ""
 
-#: data/menu-bar.ui:81
+#: data/menus.ui:84
 msgid "Paste"
 msgstr ""
 
-#: data/menu-bar.ui:87
+#: data/menus.ui:90
 msgid "Delete frame"
 msgstr ""
 
-#: data/menu-bar.ui:91
+#: data/menus.ui:94
 msgid "Copy Frame"
 msgstr ""
 
-#: data/menu-bar.ui:95
+#: data/menus.ui:98
 msgid "Delete slide"
 msgstr ""
 
-#: data/menu-bar.ui:101
+#: data/menus.ui:104
 msgid "Edit stylesheet..."
 msgstr ""
 
-#: data/menu-bar.ui:107 data/app-menu.ui:16
+#: data/menus.ui:110 data/menus.ui:186
 msgid "Preferences"
 msgstr ""
 
-#: data/menu-bar.ui:114
+#: data/menus.ui:117
 msgid "Insert"
 msgstr ""
 
-#: data/menu-bar.ui:117
+#: data/menus.ui:120
 msgid "Slide"
 msgstr ""
 
-#: data/menu-bar.ui:121
+#: data/menus.ui:124
 msgid "Slide title"
 msgstr ""
 
-#: data/menu-bar.ui:128
+#: data/menus.ui:131
 msgid "Tools"
 msgstr ""
 
-#: data/menu-bar.ui:135
+#: data/menus.ui:138
 msgid "Start slideshow here"
 msgstr ""
 
-#: data/menu-bar.ui:139
+#: data/menus.ui:142
 msgid "Start slideshow without slides"
 msgstr ""
 
-#: data/menu-bar.ui:147
+#: data/menus.ui:150
 msgid "Test card"
 msgstr ""
 
-#: data/menu-bar.ui:154
+#: data/menus.ui:157
 msgid "Help"
 msgstr ""
 
-#: data/menu-bar.ui:157 data/app-menu.ui:26
+#: data/menus.ui:160 data/menus.ui:196
 msgid "Basic introduction"
 msgstr ""
 
-#: data/menu-bar.ui:161
+#: data/menus.ui:164
 msgid "About"
 msgstr ""
 
-#: data/app-menu.ui:22
+#: data/menus.ui:192
 msgid "_About"
 msgstr ""
index 91e5d20..7e019a0 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: colloquium\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-04-15 17:17+0200\n"
+"POT-Creation-Date: 2018-04-22 12:15+0200\n"
 "PO-Revision-Date: 2018-04-10 23:10+0200\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -18,53 +18,53 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 #. Description of the program
-#: src/colloquium.c:112
+#: src/colloquium.c:114
 msgid "Narrative-based presentation system"
 msgstr "Erzählungsbasiertes Präsentationssystem"
 
-#: src/colloquium.c:135
+#: src/colloquium.c:122
 msgid "translator-credits"
 msgstr "A. N. Other"
 
-#: src/colloquium.c:161
+#: src/colloquium.c:148
 #, c-format
 msgid "WTF? Too many files\n"
 msgstr ""
 
-#: src/colloquium.c:185
+#: src/colloquium.c:172
 #, c-format
 msgid "Failed to convert file list\n"
 msgstr ""
 
-#: src/colloquium.c:208
+#: src/colloquium.c:195
 msgid "Open Presentation"
 msgstr ""
 
-#: src/colloquium.c:211 src/narrative_window.c:129 src/narrative_window.c:326
-#: src/narrative_window.c:486
+#: src/colloquium.c:198 src/narrative_window.c:129 src/narrative_window.c:341
+#: src/narrative_window.c:508
 msgid "_Cancel"
 msgstr ""
 
-#: src/colloquium.c:212 src/narrative_window.c:327
+#: src/colloquium.c:199 src/narrative_window.c:342
 msgid "_Open"
 msgstr ""
 
-#: src/colloquium.c:247
+#: src/colloquium.c:233
 #, c-format
 msgid "Failed to load presentation '%s'\n"
 msgstr ""
 
-#: src/colloquium.c:267
+#: src/colloquium.c:253
 #, c-format
 msgid "Failed to create config\n"
 msgstr ""
 
-#: src/colloquium.c:291
+#: src/colloquium.c:277
 #, c-format
 msgid "Don't understand '%s', assuming false\n"
 msgstr ""
 
-#: src/colloquium.c:303
+#: src/colloquium.c:289
 #, c-format
 msgid "Failed to open config %s\n"
 msgstr ""
@@ -73,30 +73,30 @@ msgstr ""
 #. * desktop environment.  All the entries are already in the
 #. * normal menus, so don't let GTK create a fallback menu in the
 #. * menu bar.
-#: src/colloquium.c:359
+#: src/colloquium.c:350
 #, c-format
 msgid "Using app menu\n"
 msgstr ""
 
-#: src/colloquium.c:378
+#: src/colloquium.c:367
 #, c-format
 msgid "Failed to create config folder\n"
 msgstr ""
 
-#: src/colloquium.c:447
+#: src/colloquium.c:436
 #, c-format
 msgid ""
 "Syntax: %s [options] [<file.sc>]\n"
 "\n"
 msgstr ""
 
-#: src/colloquium.c:448
-#, c-format
+#: src/colloquium.c:437
+#, fuzzy, c-format
 msgid ""
-"A tiny presentation program.\n"
+"Narrative-based presentation system.\n"
 "\n"
 "  -h, --help    Display this help message.\n"
-msgstr ""
+msgstr "Erzählungsbasiertes Präsentationssystem"
 
 #. Text paragraph
 #: src/debugger.c:89
@@ -371,7 +371,7 @@ msgstr ""
 msgid "  Other paragraph type\n"
 msgstr ""
 
-#: src/frame.c:1632 src/sc_editor.c:844
+#: src/frame.c:1632 src/sc_editor.c:1001
 #, c-format
 msgid "Failed to insert paragraph\n"
 msgstr ""
@@ -399,68 +399,68 @@ msgstr ""
 msgid "Save Presentation"
 msgstr ""
 
-#: src/narrative_window.c:130 data/menu-bar.ui:21
+#: src/narrative_window.c:130 data/menus.ui:24
 msgid "_Save"
 msgstr ""
 
-#: src/narrative_window.c:172
+#: src/narrative_window.c:173
 #, c-format
 msgid "Not a slide!\n"
 msgstr ""
 
-#: src/narrative_window.c:299
+#: src/narrative_window.c:300
 #, c-format
 msgid "Not a style sheet\n"
 msgstr ""
 
-#: src/narrative_window.c:302
+#: src/narrative_window.c:303
 #, c-format
 msgid "Failed to load\n"
 msgstr ""
 
-#: src/narrative_window.c:323
+#: src/narrative_window.c:338
 msgid "Load stylesheet"
 msgstr ""
 
-#: src/narrative_window.c:357
+#: src/narrative_window.c:372
 #, c-format
 msgid "Failed to split paragraph\n"
 msgstr ""
 
-#: src/narrative_window.c:483
+#: src/narrative_window.c:505
 msgid "Export PDF"
 msgstr ""
 
-#: src/narrative_window.c:487
+#: src/narrative_window.c:509
 msgid "_Export"
 msgstr ""
 
-#: src/narrative_window.c:784
+#: src/narrative_window.c:803
 #, c-format
 msgid "Narrative window is already open!\n"
 msgstr ""
 
-#: src/narrative_window.c:836 data/menu-bar.ui:131
+#: src/narrative_window.c:853 data/menus.ui:134
 msgid "Start slideshow"
 msgstr ""
 
-#: src/narrative_window.c:847
+#: src/narrative_window.c:864
 msgid "Add slide"
 msgstr ""
 
-#: src/narrative_window.c:857
+#: src/narrative_window.c:874
 msgid "First slide"
 msgstr ""
 
-#: src/narrative_window.c:864
+#: src/narrative_window.c:881
 msgid "Previous slide"
 msgstr ""
 
-#: src/narrative_window.c:871
+#: src/narrative_window.c:888
 msgid "Next slide"
 msgstr ""
 
-#: src/narrative_window.c:878
+#: src/narrative_window.c:895
 msgid "Last slide"
 msgstr ""
 
@@ -513,7 +513,7 @@ msgstr ""
 msgid "<b>Time remaining</b>"
 msgstr ""
 
-#: src/pr_clock.c:434 data/menu-bar.ui:143
+#: src/pr_clock.c:434 data/menus.ui:146
 msgid "Presentation clock"
 msgstr ""
 
@@ -589,63 +589,68 @@ msgstr ""
 msgid "Paragraphs in current frame:\n"
 msgstr ""
 
+#: src/sc_editor.c:481
+#, c-format
+msgid "No frame selected for paste\n"
+msgstr ""
+
 #. FIXME: Implement this
-#: src/sc_editor.c:769
+#: src/sc_editor.c:926
 #, c-format
 msgid "Deleting non-text paragraph\n"
 msgstr ""
 
-#: src/sc_editor.c:810
+#: src/sc_editor.c:967
 #, c-format
 msgid "Position not editable\n"
 msgstr ""
 
-#: src/sc_editor.c:831
+#: src/sc_editor.c:988
 #, c-format
 msgid "No SCBlock for para\n"
 msgstr ""
 
-#: src/sc_editor.c:838
+#: src/sc_editor.c:995
 #, c-format
 msgid "Failed to add SCBlock\n"
 msgstr ""
 
-#: src/sc_editor.c:1424
+#: src/sc_editor.c:1581
 #, c-format
 msgid "Release on pointless drag.\n"
 msgstr ""
 
-#: src/sc_editor.c:1439
+#: src/sc_editor.c:1596
 #, c-format
 msgid "Failed to create frame!\n"
 msgstr ""
 
-#: src/sc_editor.c:1592
+#: src/sc_editor.c:1705
 #, c-format
 msgid "Cursor frame block = %p\n"
 msgstr ""
 
-#: src/sc_editor.c:1593 src/sc_editor.c:1601
+#: src/sc_editor.c:1706 src/sc_editor.c:1714
 #, c-format
 msgid "Editor top block = %p\n"
 msgstr ""
 
-#: src/sc_editor.c:1600
+#: src/sc_editor.c:1713
 #, c-format
 msgid "Debugging the top frame:\n"
 msgstr ""
 
-#: src/sc_editor.c:1805
+#: src/sc_editor.c:1918
 #, c-format
 msgid "Failed to allocate SC\n"
 msgstr ""
 
-#: src/sc_editor.c:2036
+#: src/sc_editor.c:2149
 #, c-format
 msgid "WARNING: Changing imagestore\n"
 msgstr ""
 
-#: src/sc_editor.c:2080
+#: src/sc_editor.c:2193
 #, c-format
 msgid "Failed to load background: %s\n"
 msgstr ""
@@ -876,126 +881,126 @@ msgstr ""
 msgid "Failed to allocate memory\n"
 msgstr ""
 
-#: data/menu-bar.ui:6
+#: data/menus.ui:9
 msgid "File"
 msgstr ""
 
-#: data/menu-bar.ui:9 data/app-menu.ui:6
+#: data/menus.ui:12 data/menus.ui:176
 msgid "_New"
 msgstr ""
 
-#: data/menu-bar.ui:14 data/app-menu.ui:11
+#: data/menus.ui:17 data/menus.ui:181
 msgid "_Open..."
 msgstr ""
 
-#: data/menu-bar.ui:26
+#: data/menus.ui:29
 msgid "Save As..."
 msgstr ""
 
-#: data/menu-bar.ui:32
+#: data/menus.ui:35
 msgid "Print..."
 msgstr ""
 
-#: data/menu-bar.ui:36
+#: data/menus.ui:39
 msgid "Export slides as PDF..."
 msgstr ""
 
-#: data/menu-bar.ui:42
+#: data/menus.ui:45
 msgid "Load stylesheet..."
 msgstr ""
 
-#: data/menu-bar.ui:46
+#: data/menus.ui:49
 msgid "Save stylesheet..."
 msgstr ""
 
-#: data/menu-bar.ui:52 data/app-menu.ui:30
+#: data/menus.ui:55 data/menus.ui:200
 msgid "_Quit"
 msgstr ""
 
-#: data/menu-bar.ui:60
+#: data/menus.ui:63
 msgid "Edit"
 msgstr ""
 
-#: data/menu-bar.ui:63
+#: data/menus.ui:66
 msgid "Undo"
 msgstr ""
 
-#: data/menu-bar.ui:67
+#: data/menus.ui:70
 msgid "Redo"
 msgstr ""
 
-#: data/menu-bar.ui:73
+#: data/menus.ui:76
 msgid "Cut"
 msgstr ""
 
-#: data/menu-bar.ui:77
+#: data/menus.ui:80
 msgid "Copy"
 msgstr ""
 
-#: data/menu-bar.ui:81
+#: data/menus.ui:84
 msgid "Paste"
 msgstr ""
 
-#: data/menu-bar.ui:87
+#: data/menus.ui:90
 msgid "Delete frame"
 msgstr ""
 
-#: data/menu-bar.ui:91
+#: data/menus.ui:94
 msgid "Copy Frame"
 msgstr ""
 
-#: data/menu-bar.ui:95
+#: data/menus.ui:98
 msgid "Delete slide"
 msgstr ""
 
-#: data/menu-bar.ui:101
+#: data/menus.ui:104
 msgid "Edit stylesheet..."
 msgstr ""
 
-#: data/menu-bar.ui:107 data/app-menu.ui:16
+#: data/menus.ui:110 data/menus.ui:186
 msgid "Preferences"
 msgstr ""
 
-#: data/menu-bar.ui:114
+#: data/menus.ui:117
 msgid "Insert"
 msgstr ""
 
-#: data/menu-bar.ui:117
+#: data/menus.ui:120
 msgid "Slide"
 msgstr ""
 
-#: data/menu-bar.ui:121
+#: data/menus.ui:124
 msgid "Slide title"
 msgstr ""
 
-#: data/menu-bar.ui:128
+#: data/menus.ui:131
 msgid "Tools"
 msgstr ""
 
-#: data/menu-bar.ui:135
+#: data/menus.ui:138
 msgid "Start slideshow here"
 msgstr ""
 
-#: data/menu-bar.ui:139
+#: data/menus.ui:142
 msgid "Start slideshow without slides"
 msgstr ""
 
-#: data/menu-bar.ui:147
+#: data/menus.ui:150
 msgid "Test card"
 msgstr ""
 
-#: data/menu-bar.ui:154
+#: data/menus.ui:157
 msgid "Help"
 msgstr ""
 
-#: data/menu-bar.ui:157 data/app-menu.ui:26
+#: data/menus.ui:160 data/menus.ui:196
 msgid "Basic introduction"
 msgstr ""
 
-#: data/menu-bar.ui:161
+#: data/menus.ui:164
 msgid "About"
 msgstr ""
 
-#: data/app-menu.ui:22
+#: data/menus.ui:192
 msgid "_About"
 msgstr ""
index 11ac241..3b1caa3 100644 (file)
@@ -42,6 +42,7 @@
 struct _colloquium
 {
        GtkApplication parent_instance;
+       GtkBuilder *builder;
        char *mydir;
        int first_run;
        char *imagestore;
@@ -319,10 +320,15 @@ int colloquium_get_hidepointer(Colloquium *app)
 }
 
 
+GtkBuilder *colloquium_get_uibuilder(Colloquium *app)
+{
+       return app->builder;
+}
+
+
 static void colloquium_startup(GApplication *papp)
 {
        Colloquium *app = COLLOQUIUM(papp);
-       GtkBuilder *builder;
        const char *configdir;
        char *tmp;
 
@@ -331,10 +337,9 @@ static void colloquium_startup(GApplication *papp)
        g_action_map_add_action_entries(G_ACTION_MAP(app), app_entries,
                                         G_N_ELEMENTS(app_entries), app);
 
-       builder = gtk_builder_new_from_resource("/uk/me/bitwiz/Colloquium/menu-bar.ui");
+       app->builder = gtk_builder_new_from_resource("/uk/me/bitwiz/Colloquium/menus.ui");
        gtk_application_set_menubar(GTK_APPLICATION(app),
-           G_MENU_MODEL(gtk_builder_get_object(builder, "menubar")));
-       g_object_unref(builder);
+           G_MENU_MODEL(gtk_builder_get_object(app->builder, "menubar")));
 
        if ( gtk_application_prefers_app_menu(GTK_APPLICATION(app)) ) {
                /* Set the application menu only if it will be shown by the
@@ -342,10 +347,8 @@ static void colloquium_startup(GApplication *papp)
                 * normal menus, so don't let GTK create a fallback menu in the
                 * menu bar. */
                printf(_("Using app menu\n"));
-               builder = gtk_builder_new_from_resource("/uk/me/bitwiz/Colloquium/app-menu.ui");
-               GMenuModel *mmodel = G_MENU_MODEL(gtk_builder_get_object(builder, "app-menu"));
+               GMenuModel *mmodel = G_MENU_MODEL(gtk_builder_get_object(app->builder, "app-menu"));
                gtk_application_set_app_menu(GTK_APPLICATION(app), mmodel);
-               g_object_unref(builder);
        }
 
        configdir = g_get_user_config_dir();
index 71bae1c..4c8133f 100644 (file)
@@ -37,8 +37,9 @@ typedef struct _colloquium Colloquium;
 
 
 extern const char *colloquium_get_imagestore(Colloquium *app);
-
 extern int colloquium_get_hidepointer(Colloquium *app);
+extern GtkBuilder *colloquium_get_uibuilder(Colloquium *app);
+
 extern void open_about_dialog(GtkWidget *parent);