From e0e6980cf2710ed3a4b21ab6f957537ae98843d4 Mon Sep 17 00:00:00 2001
From: Nico Alt <nicoalt@posteo.org>
Date: Thu, 28 Feb 2019 23:40:43 +0100
Subject: [PATCH] Revise project structure

---
 meson.build                                       |  7 ++++---
 {data => res}/app.briar.gtk.appdata.xml.in        |  0
 {data => res}/app.briar.gtk.desktop.in            |  0
 {data => res}/app.briar.gtk.gschema.xml           |  0
 {data => res}/meson.build                         | 12 +++++++++++-
 .../ui/gresource.xml                              |  2 +-
 src/window.ui => res/ui/setup.ui                  | 15 ++++++++-------
 src/main.py                                       |  4 ++--
 src/meson.build                                   | 12 ++----------
 src/{ => ui}/gi_composites.py                     |  0
 src/{window.py => ui/setup.py}                    |  4 ++--
 11 files changed, 30 insertions(+), 26 deletions(-)
 rename {data => res}/app.briar.gtk.appdata.xml.in (100%)
 rename {data => res}/app.briar.gtk.desktop.in (100%)
 rename {data => res}/app.briar.gtk.gschema.xml (100%)
 rename {data => res}/meson.build (81%)
 rename src/briar-gtk.gresource.xml => res/ui/gresource.xml (80%)
 rename src/window.ui => res/ui/setup.ui (91%)
 rename src/{ => ui}/gi_composites.py (100%)
 rename src/{window.py => ui/setup.py} (93%)

diff --git a/meson.build b/meson.build
index e60def8..63ef097 100644
--- a/meson.build
+++ b/meson.build
@@ -1,11 +1,12 @@
-project('briar-gtk',         version: '0.1.0',
+project(
+  'briar-gtk',
+  version: '0.1.0',
   meson_version: '>= 0.40.0',
 )
 
 i18n = import('i18n')
 
-
-subdir('data')
+subdir('res')
 subdir('src')
 subdir('po')
 
diff --git a/data/app.briar.gtk.appdata.xml.in b/res/app.briar.gtk.appdata.xml.in
similarity index 100%
rename from data/app.briar.gtk.appdata.xml.in
rename to res/app.briar.gtk.appdata.xml.in
diff --git a/data/app.briar.gtk.desktop.in b/res/app.briar.gtk.desktop.in
similarity index 100%
rename from data/app.briar.gtk.desktop.in
rename to res/app.briar.gtk.desktop.in
diff --git a/data/app.briar.gtk.gschema.xml b/res/app.briar.gtk.gschema.xml
similarity index 100%
rename from data/app.briar.gtk.gschema.xml
rename to res/app.briar.gtk.gschema.xml
diff --git a/data/meson.build b/res/meson.build
similarity index 81%
rename from data/meson.build
rename to res/meson.build
index 23e11ab..a8cb8c3 100644
--- a/data/meson.build
+++ b/res/meson.build
@@ -38,4 +38,14 @@ if compile_schemas.found()
   test('Validate schema file', compile_schemas,
     args: ['--strict', '--dry-run', meson.current_source_dir()]
   )
-endif
\ No newline at end of file
+endif
+
+pkgdatadir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name())
+gnome = import('gnome')
+
+gnome.compile_resources('briar-gtk',
+  'ui/gresource.xml',
+  gresource_bundle: true,
+  install: true,
+  install_dir: pkgdatadir,
+)
\ No newline at end of file
diff --git a/src/briar-gtk.gresource.xml b/res/ui/gresource.xml
similarity index 80%
rename from src/briar-gtk.gresource.xml
rename to res/ui/gresource.xml
index 3479e86..247afd5 100644
--- a/src/briar-gtk.gresource.xml
+++ b/res/ui/gresource.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <gresources>
   <gresource prefix="/app/briar/gtk">
-    <file>window.ui</file>
+    <file>ui/setup.ui</file>
   </gresource>
 </gresources>
diff --git a/src/window.ui b/res/ui/setup.ui
similarity index 91%
rename from src/window.ui
rename to res/ui/setup.ui
index f57dfac..59da619 100644
--- a/src/window.ui
+++ b/res/ui/setup.ui
@@ -28,7 +28,7 @@
             <property name="row_spacing">6</property>
             <property name="column_spacing">12</property>
             <child>
-              <object class="GtkLabel" id="username-label">
+              <object class="GtkLabel" id="username_label">
                 <property name="visible">True</property>
                 <property name="halign">center</property>
                 <property name="label" translatable="yes">Nickname</property>
@@ -39,7 +39,7 @@
               </packing>
             </child>
             <child>
-              <object class="GtkEntry" id="username">
+              <object class="GtkEntry" id="username_entry">
                 <property name="visible">True</property>
                 <property name="placeholder_text" translatable="yes">Choose your nickname</property>
               </object>
@@ -49,7 +49,7 @@
               </packing>
             </child>
             <child>
-              <object class="GtkButton" id="username-next">
+              <object class="GtkButton" id="username_next">
                 <property name="visible">True</property>
                 <property name="halign">center</property>
                 <property name="label" translatable="yes">Next</property>
@@ -69,7 +69,7 @@
             <property name="row_spacing">6</property>
             <property name="column_spacing">12</property>
             <child>
-              <object class="GtkLabel" id="password-label">
+              <object class="GtkLabel" id="password_label">
                 <property name="visible">True</property>
                 <property name="halign">center</property>
                 <property name="label" translatable="yes">Password</property>
@@ -80,7 +80,7 @@
               </packing>
             </child>
             <child>
-              <object class="GtkEntry" id="password">
+              <object class="GtkEntry" id="password_entry">
                 <property name="visible">True</property>
                 <property name="placeholder_text" translatable="yes">Choose your password</property>
               </object>
@@ -90,7 +90,7 @@
               </packing>
             </child>
             <child>
-              <object class="GtkEntry" id="password_confirm">
+              <object class="GtkEntry" id="password_confirm_entry">
                 <property name="visible">True</property>
                 <property name="placeholder_text" translatable="yes">Confirm your password</property>
               </object>
@@ -100,7 +100,7 @@
               </packing>
             </child>
             <child>
-              <object class="GtkButton" id="password-next">
+              <object class="GtkButton" id="password_next">
                 <property name="visible">True</property>
                 <property name="halign">center</property>
                 <property name="label" translatable="yes">Next</property>
@@ -118,3 +118,4 @@
   </template>
 </interface>
 
+
diff --git a/src/main.py b/src/main.py
index a2b5ec2..96e76a5 100644
--- a/src/main.py
+++ b/src/main.py
@@ -22,7 +22,7 @@ gi.require_version('Gtk', '3.0')
 
 from gi.repository import Gtk, Gio
 
-from .window import BriarGtkWindow
+from .setup import BriarSetupWindow
 
 
 class Application(Gtk.Application):
@@ -33,7 +33,7 @@ class Application(Gtk.Application):
     def do_activate(self):
         win = self.props.active_window
         if not win:
-            win = BriarGtkWindow(application=self)
+            win = BriarSetupWindow(application=self)
         win.present()
 
 
diff --git a/src/meson.build b/src/meson.build
index 1551bbb..7faa3ba 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -1,13 +1,5 @@
 pkgdatadir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name())
 moduledir = join_paths(pkgdatadir, 'briar_gtk')
-gnome = import('gnome')
-
-gnome.compile_resources('briar-gtk',
-  'briar-gtk.gresource.xml',
-  gresource_bundle: true,
-  install: true,
-  install_dir: pkgdatadir,
-)
 
 python3 = import('python3')
 
@@ -27,9 +19,9 @@ configure_file(
 
 briar_gtk_sources = [
   '__init__.py',
-  'gi_composites.py',
   'main.py',
-  'window.py',
+  'ui/gi_composites.py',
+  'ui/setup.py',
 ]
 
 install_data(briar_gtk_sources, install_dir: moduledir)
diff --git a/src/gi_composites.py b/src/ui/gi_composites.py
similarity index 100%
rename from src/gi_composites.py
rename to src/ui/gi_composites.py
diff --git a/src/window.py b/src/ui/setup.py
similarity index 93%
rename from src/window.py
rename to src/ui/setup.py
index 5a47da7..58e37e7 100644
--- a/src/window.py
+++ b/src/ui/setup.py
@@ -19,8 +19,8 @@ from gi.repository import Gtk
 from .gi_composites import GtkTemplate
 
 
-@GtkTemplate(ui='/app/briar/gtk/window.ui')
-class BriarGtkWindow(Gtk.ApplicationWindow):
+@GtkTemplate(ui='/app/briar/gtk/ui/setup.ui')
+class BriarSetupWindow(Gtk.ApplicationWindow):
     __gtype_name__ = 'BriarGtkWindow'
 
     username_grid = GtkTemplate.Child()
-- 
GitLab