aboutsummaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorhrxi <hrrrxi@gmail.com>2023-03-20 02:01:22 +0100
committerfiaxh <fiaxh@users.noreply.github.com>2023-03-24 19:32:50 +0100
commit5a90e793ddec723677f2b715b967f29f046e16d2 (patch)
tree6a96f142526990010635607cb547b79b9c3f060e /main
parentb617bf7cc4ac2aa083bcf889816d0479fa353e10 (diff)
downloaddino-5a90e793ddec723677f2b715b967f29f046e16d2.tar.gz
dino-5a90e793ddec723677f2b715b967f29f046e16d2.zip
First steps of meson support
Basic configuration of qlite, xmpp-vala, the Dino library and the Dino application are supported. There's no support for the plugins. This e.g. enables using the Vala language server.
Diffstat (limited to 'main')
-rw-r--r--main/data/gresource.xml74
-rw-r--r--main/meson.build104
2 files changed, 178 insertions, 0 deletions
diff --git a/main/data/gresource.xml b/main/data/gresource.xml
new file mode 100644
index 00000000..6d9febab
--- /dev/null
+++ b/main/data/gresource.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gresources>
+ <gresource prefix="/im/dino/Dino">
+ <file>add_conversation/add_contact_dialog.ui</file>
+ <file>add_conversation/add_groupchat_dialog.ui</file>
+ <file>add_conversation/conference_details_fragment.ui</file>
+ <file>add_conversation/list_row.ui</file>
+ <file>add_conversation/select_jid_fragment.ui</file>
+ <file>call_widget.ui</file>
+ <file>chat_input.ui</file>
+ <file>contact_details_dialog.ui</file>
+ <file>conversation_content_view/item_metadata_header.ui</file>
+ <file>conversation_content_view/view.ui</file>
+ <file>conversation_item_widget.ui</file>
+ <file>conversation_list_titlebar.ui</file>
+ <file>conversation_list_titlebar_csd.ui</file>
+ <file>conversation_row.ui</file>
+ <file>conversation_view.ui</file>
+ <file>dino-conversation-list-placeholder-arrow.svg</file>
+ <file>file_default_widget.ui</file>
+ <file>file_send_overlay.ui</file>
+ <file>global_search.ui</file>
+ <file>icons/scalable/actions/dino-account-plus-symbolic.svg</file>
+ <file>icons/scalable/actions/dino-emoticon-add-symbolic.svg</file>
+ <file>icons/scalable/actions/dino-emoticon-symbolic.svg</file>
+ <file>icons/scalable/actions/dino-qr-code-symbolic.svg</file>
+ <file>icons/scalable/apps/im.dino.Dino-symbolic.svg</file>
+ <file>icons/scalable/apps/im.dino.Dino.svg</file>
+ <file>icons/scalable/devices/dino-device-desktop-symbolic.svg</file>
+ <file>icons/scalable/devices/dino-device-phone-symbolic.svg</file>
+ <file>icons/scalable/devices/dino-phone-hangup-symbolic.svg</file>
+ <file>icons/scalable/devices/dino-phone-in-talk-symbolic.svg</file>
+ <file>icons/scalable/devices/dino-phone-missed-symbolic.svg</file>
+ <file>icons/scalable/devices/dino-phone-ring-symbolic.svg</file>
+ <file>icons/scalable/devices/dino-phone-symbolic.svg</file>
+ <file>icons/scalable/mimetypes/dino-file-document-symbolic.svg</file>
+ <file>icons/scalable/mimetypes/dino-file-download-symbolic.svg</file>
+ <file>icons/scalable/mimetypes/dino-file-image-symbolic.svg</file>
+ <file>icons/scalable/mimetypes/dino-file-music-symbolic.svg</file>
+ <file>icons/scalable/mimetypes/dino-file-symbolic.svg</file>
+ <file>icons/scalable/mimetypes/dino-file-table-symbolic.svg</file>
+ <file>icons/scalable/mimetypes/dino-file-video-symbolic.svg</file>
+ <file>icons/scalable/status/dino-double-tick-symbolic.svg</file>
+ <file>icons/scalable/status/dino-microphone-off-symbolic.svg</file>
+ <file>icons/scalable/status/dino-microphone-symbolic.svg</file>
+ <file>icons/scalable/status/dino-party-popper-symbolic.svg</file>
+ <file>icons/scalable/status/dino-security-high-symbolic.svg</file>
+ <file>icons/scalable/status/dino-status-away.svg</file>
+ <file>icons/scalable/status/dino-status-chat.svg</file>
+ <file>icons/scalable/status/dino-status-dnd.svg</file>
+ <file>icons/scalable/status/dino-status-online.svg</file>
+ <file>icons/scalable/status/dino-tick-symbolic.svg</file>
+ <file>icons/scalable/status/dino-video-off-symbolic.svg</file>
+ <file>icons/scalable/status/dino-video-symbolic.svg</file>
+ <file>manage_accounts/account_row.ui</file>
+ <file>manage_accounts/add_account_dialog.ui</file>
+ <file>manage_accounts/dialog.ui</file>
+ <file>menu_add.ui</file>
+ <file>menu_app.ui</file>
+ <file>menu_conversation.ui</file>
+ <file>menu_encryption.ui</file>
+ <file>message_item_widget_edit_mode.ui</file>
+ <file>occupant_list.ui</file>
+ <file>occupant_list_item.ui</file>
+ <file>quote.ui</file>
+ <file>search_autocomplete.ui</file>
+ <file>settings_dialog.ui</file>
+ <file>shortcuts.ui</file>
+ <file>style-dark.css</file>
+ <file>style.css</file>
+ <file>unified_main_content.ui</file>
+ <file>unified_window_placeholder.ui</file>
+ </gresource>
+</gresources>
diff --git a/main/meson.build b/main/meson.build
new file mode 100644
index 00000000..a38e15b8
--- /dev/null
+++ b/main/meson.build
@@ -0,0 +1,104 @@
+dependencies = [
+ dep_dino,
+ dep_gee,
+ dep_glib,
+ dep_gmodule,
+ dep_gtk4,
+ dep_icu_uc,
+ dep_libadwaita,
+ dep_m,
+ dep_qlite,
+ dep_xmpp_vala,
+]
+sources = files(
+ 'src/main.vala',
+ 'src/ui/add_conversation/add_conference_dialog.vala',
+ 'src/ui/add_conversation/add_contact_dialog.vala',
+ 'src/ui/add_conversation/add_groupchat_dialog.vala',
+ 'src/ui/add_conversation/conference_details_fragment.vala',
+ 'src/ui/add_conversation/conference_list.vala',
+ 'src/ui/add_conversation/list_row.vala',
+ 'src/ui/add_conversation/roster_list.vala',
+ 'src/ui/add_conversation/select_contact_dialog.vala',
+ 'src/ui/add_conversation/select_jid_fragment.vala',
+ 'src/ui/application.vala',
+ 'src/ui/call_window/audio_settings_popover.vala',
+ 'src/ui/call_window/call_bottom_bar.vala',
+ 'src/ui/call_window/call_connection_details_window.vala',
+ 'src/ui/call_window/call_encryption_button.vala',
+ 'src/ui/call_window/call_window.vala',
+ 'src/ui/call_window/call_window_controller.vala',
+ 'src/ui/call_window/participant_widget.vala',
+ 'src/ui/call_window/video_settings_popover.vala',
+ 'src/ui/chat_input/chat_input_controller.vala',
+ 'src/ui/chat_input/chat_text_view.vala',
+ 'src/ui/chat_input/encryption_button.vala',
+ 'src/ui/chat_input/occupants_tab_completer.vala',
+ 'src/ui/chat_input/smiley_converter.vala',
+ 'src/ui/chat_input/view.vala',
+ 'src/ui/contact_details/blocking_provider.vala',
+ 'src/ui/contact_details/dialog.vala',
+ 'src/ui/contact_details/muc_config_form_provider.vala',
+ 'src/ui/contact_details/permissions_provider.vala',
+ 'src/ui/contact_details/settings_provider.vala',
+ 'src/ui/conversation_content_view/call_widget.vala',
+ 'src/ui/conversation_content_view/chat_state_populator.vala',
+ 'src/ui/conversation_content_view/content_populator.vala',
+ 'src/ui/conversation_content_view/conversation_item_skeleton.vala',
+ 'src/ui/conversation_content_view/conversation_view.vala',
+ 'src/ui/conversation_content_view/date_separator_populator.vala',
+ 'src/ui/conversation_content_view/file_default_widget.vala',
+ 'src/ui/conversation_content_view/file_image_widget.vala',
+ 'src/ui/conversation_content_view/file_widget.vala',
+ 'src/ui/conversation_content_view/item_actions.vala',
+ 'src/ui/conversation_content_view/message_widget.vala',
+ 'src/ui/conversation_content_view/quote_widget.vala',
+ 'src/ui/conversation_content_view/reactions_widget.vala',
+ 'src/ui/conversation_content_view/subscription_notification.vala',
+ 'src/ui/conversation_list_titlebar.vala',
+ 'src/ui/conversation_selector/conversation_selector.vala',
+ 'src/ui/conversation_selector/conversation_selector_row.vala',
+ 'src/ui/conversation_titlebar/call_entry.vala',
+ 'src/ui/conversation_titlebar/conversation_titlebar.vala',
+ 'src/ui/conversation_titlebar/menu_entry.vala',
+ 'src/ui/conversation_titlebar/occupants_entry.vala',
+ 'src/ui/conversation_titlebar/search_entry.vala',
+ 'src/ui/conversation_view.vala',
+ 'src/ui/conversation_view_controller.vala',
+ 'src/ui/file_send_overlay.vala',
+ 'src/ui/global_search.vala',
+ 'src/ui/main_window.vala',
+ 'src/ui/main_window_controller.vala',
+ 'src/ui/manage_accounts/account_row.vala',
+ 'src/ui/manage_accounts/add_account_dialog.vala',
+ 'src/ui/manage_accounts/dialog.vala',
+ 'src/ui/notifier_freedesktop.vala',
+ 'src/ui/notifier_gnotifications.vala',
+ 'src/ui/occupant_menu/list.vala',
+ 'src/ui/occupant_menu/list_row.vala',
+ 'src/ui/occupant_menu/view.vala',
+ 'src/ui/settings_dialog.vala',
+ 'src/ui/util/accounts_combo_box.vala',
+ 'src/ui/util/config.vala',
+ 'src/ui/util/data_forms.vala',
+ 'src/ui/util/helper.vala',
+ 'src/ui/util/label_hybrid.vala',
+ 'src/ui/util/size_request_box.vala',
+ 'src/ui/util/sizing_bin.vala',
+ 'src/ui/widgets/avatar_picture.vala',
+ 'src/ui/widgets/date_separator.vala',
+ 'src/ui/widgets/fixed_ratio_picture.vala',
+ 'src/ui/widgets/natural_size_increase.vala',
+)
+sources += import('gnome').compile_resources(
+ 'dino-resources',
+ 'data/gresource.xml',
+ source_dir: 'data',
+)
+
+c_args = [
+ '-DG_LOG_DOMAIN="dino"',
+ '-DGETTEXT_PACKAGE="dino"',
+ '-DLOCALE_INSTALL_DIR="@0@"'.format(get_option('prefix') / get_option('localedir')),
+]
+exe_dino = executable('dino', sources, c_args: c_args, vala_args: ['--vapidir', meson.current_source_dir() / 'vapi'], dependencies: dependencies)