From 5bdbb6000829c762ef53c0407b4401536406f0ee Mon Sep 17 00:00:00 2001
From: Nico Alt <nicoalt@posteo.org>
Date: Sun, 22 Mar 2020 12:00:02 +0000
Subject: [PATCH] Create ui specific meson.build

---
 briar-gtk/briar_gtk/containers/add_contact.py  |  2 +-
 briar-gtk/briar_gtk/containers/login.py        |  2 +-
 briar-gtk/briar_gtk/containers/private_chat.py |  2 +-
 briar-gtk/briar_gtk/containers/registration.py |  2 +-
 briar-gtk/briar_gtk/define.py                  |  2 +-
 briar-gtk/data/meson.build                     | 17 +----------------
 briar-gtk/data/ui/app.briar.gtk.gresource.xml  | 14 ++++++++------
 briar-gtk/data/ui/meson.build                  | 18 ++++++++++++++++++
 tools/generate_data.sh                         |  4 +---
 9 files changed, 33 insertions(+), 30 deletions(-)
 create mode 100644 briar-gtk/data/ui/meson.build

diff --git a/briar-gtk/briar_gtk/containers/add_contact.py b/briar-gtk/briar_gtk/containers/add_contact.py
index 30fe8de..d100ddc 100644
--- a/briar-gtk/briar_gtk/containers/add_contact.py
+++ b/briar-gtk/briar_gtk/containers/add_contact.py
@@ -14,7 +14,7 @@ from briar_gtk.define import APP
 
 class AddContactContainer(Container):
 
-    ADD_CONTACT_UI = "/app/briar/gtk/ui/add_contact.ui"
+    ADD_CONTACT_UI = "/app/briar/gtk/add_contact.ui"
     STACK_NAME = "add_contact_flow_stack"
     HEADERS_NAME = "add_contact_flow_headers"
 
diff --git a/briar-gtk/briar_gtk/containers/login.py b/briar-gtk/briar_gtk/containers/login.py
index c71fc85..7effb99 100644
--- a/briar-gtk/briar_gtk/containers/login.py
+++ b/briar-gtk/briar_gtk/containers/login.py
@@ -10,7 +10,7 @@ from briar_gtk.define import APP
 
 class LoginContainer(Container):
 
-    LOGIN_UI = "/app/briar/gtk/ui/login.ui"
+    LOGIN_UI = "/app/briar/gtk/login.ui"
     STACK_NAME = "login_flow_stack"
     HEADERS_NAME = "login_flow_headers"
 
diff --git a/briar-gtk/briar_gtk/containers/private_chat.py b/briar-gtk/briar_gtk/containers/private_chat.py
index 54c63d9..7bff8bb 100644
--- a/briar-gtk/briar_gtk/containers/private_chat.py
+++ b/briar-gtk/briar_gtk/containers/private_chat.py
@@ -19,7 +19,7 @@ from briar_gtk.widgets.private_message import PrivateMessageWidget
 # pylint: disable=too-few-public-methods
 class PrivateChatContainer(Container):
 
-    CONTAINER_UI = "/app/briar/gtk/ui/private_chat.ui"
+    CONTAINER_UI = "/app/briar/gtk/private_chat.ui"
 
     def __init__(self, contact_name, contact_id):
         super().__init__()
diff --git a/briar-gtk/briar_gtk/containers/registration.py b/briar-gtk/briar_gtk/containers/registration.py
index e4ba235..2ebb65b 100644
--- a/briar-gtk/briar_gtk/containers/registration.py
+++ b/briar-gtk/briar_gtk/containers/registration.py
@@ -12,7 +12,7 @@ from briar_gtk.define import APP
 
 class RegistrationContainer(Container):
 
-    REGISTRATION_UI = "/app/briar/gtk/ui/registration.ui"
+    REGISTRATION_UI = "/app/briar/gtk/registration.ui"
     STACK_NAME = "registration_flow_stack"
     HEADERS_NAME = "registration_flow_headers"
 
diff --git a/briar-gtk/briar_gtk/define.py b/briar-gtk/briar_gtk/define.py
index 4e893da..5ff0172 100644
--- a/briar-gtk/briar_gtk/define.py
+++ b/briar-gtk/briar_gtk/define.py
@@ -10,7 +10,7 @@ from gi.repository import Gio
 
 APPLICATION_ID = "app.briar.gtk"
 APPLICATION_NAME = "Briar"
-APPLICATION_STYLING_PATH = "resource:///app/briar/gtk/ui/application.css"
+APPLICATION_STYLING_PATH = "resource:///app/briar/gtk/application.css"
 BRIAR_HEADLESS_JAR = "/app/briar/briar-headless.jar"
 
 APP = Gio.Application.get_default
diff --git a/briar-gtk/data/meson.build b/briar-gtk/data/meson.build
index 48a1f7f..51cae12 100644
--- a/briar-gtk/data/meson.build
+++ b/briar-gtk/data/meson.build
@@ -44,20 +44,5 @@ if compile_schemas.found()
   )
 endif
 
-pkgdatadir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name())
-gnome = import('gnome')
-
-gnome.compile_resources('briar-gtk',
-  'ui/app.briar.gtk.gresource.xml',
-  gresource_bundle: true,
-  install: true,
-  install_dir: pkgdatadir,
-  dependencies: configure_file(
-    input: 'ui/about_dialog.ui.in',
-    output: 'about_dialog.ui',
-    configuration: conf
-  )
-
-)
-
+subdir('ui')
 subdir('icons')
diff --git a/briar-gtk/data/ui/app.briar.gtk.gresource.xml b/briar-gtk/data/ui/app.briar.gtk.gresource.xml
index 4efc986..ad294a0 100644
--- a/briar-gtk/data/ui/app.briar.gtk.gresource.xml
+++ b/briar-gtk/data/ui/app.briar.gtk.gresource.xml
@@ -1,11 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <gresources>
   <gresource prefix="/app/briar/gtk">
-    <file compressed="true">ui/application.css</file>
-    <file compressed="true" preprocess="xml-stripblanks">ui/add_contact.ui</file>
-    <file compressed="true" preprocess="xml-stripblanks">ui/login.ui</file>
-    <file compressed="true" preprocess="xml-stripblanks">ui/main_window.ui</file>
-    <file compressed="true" preprocess="xml-stripblanks">ui/private_chat.ui</file>
-    <file compressed="true" preprocess="xml-stripblanks">ui/registration.ui</file>
+    <file compressed="true">application.css</file>
+    <file compressed="true" preprocess="xml-stripblanks">add_contact.ui</file>
+    <file compressed="true" preprocess="xml-stripblanks">login.ui</file>
+    <file compressed="true" preprocess="xml-stripblanks">main_menu.ui</file>
+    <file compressed="true" preprocess="xml-stripblanks">main_window.ui</file>
+    <file compressed="true" preprocess="xml-stripblanks">private_chat.ui</file>
+    <file compressed="true" preprocess="xml-stripblanks">registration.ui</file>
+    <file compressed="true" preprocess="xml-stripblanks">about_dialog.ui</file>
   </gresource>
 </gresources>
diff --git a/briar-gtk/data/ui/meson.build b/briar-gtk/data/ui/meson.build
new file mode 100644
index 0000000..cd985db
--- /dev/null
+++ b/briar-gtk/data/ui/meson.build
@@ -0,0 +1,18 @@
+# Copyright (c) 2020 Nico Alt
+# SPDX-License-Identifier: AGPL-3.0-only
+# License-Filename: LICENSE.md
+
+pkgdatadir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name())
+gnome = import('gnome')
+
+gnome.compile_resources('briar-gtk',
+  'app.briar.gtk.gresource.xml',
+  gresource_bundle: true,
+  install: true,
+  install_dir: pkgdatadir,
+  dependencies: configure_file(
+    input: 'about_dialog.ui.in',
+    output: 'about_dialog.ui',
+    configuration: conf
+  )
+)
diff --git a/tools/generate_data.sh b/tools/generate_data.sh
index ae573f8..883f151 100755
--- a/tools/generate_data.sh
+++ b/tools/generate_data.sh
@@ -14,14 +14,12 @@ function generate_resource()
     for file in briar-gtk/data/ui/*.css
     do
         echo -n '    <file compressed="true">'
-        echo -n 'ui/'
         echo -n $(basename $file)
         echo '</file>'
     done
-    for file in briar-gtk/data/ui/*.ui
+    for file in briar-gtk/data/ui/*.ui about_dialog.ui
     do
         echo -n '    <file compressed="true" preprocess="xml-stripblanks">'
-        echo -n 'ui/'
         echo -n $(basename $file)
         echo '</file>'
     done
-- 
GitLab