aboutsummaryrefslogtreecommitdiff
path: root/libdino/data
diff options
context:
space:
mode:
authorMarvin W <git@larma.de>2017-03-10 19:34:56 +0100
committerMarvin W <git@larma.de>2017-03-10 19:50:34 +0100
commit29ca70a6d534e1cd79963718c793ae740318cff1 (patch)
tree295bc0a88b9f31f103bc970fbdcd2d940d6c83e2 /libdino/data
parentcf51e1dee22273366700c41a185c4bea343dddfe (diff)
downloaddino-29ca70a6d534e1cd79963718c793ae740318cff1.tar.gz
dino-29ca70a6d534e1cd79963718c793ae740318cff1.zip
Initial plugin system
Diffstat (limited to 'libdino/data')
-rw-r--r--libdino/data/add_conversation/add_contact_dialog.ui150
-rw-r--r--libdino/data/add_conversation/add_groupchat_dialog.ui224
-rw-r--r--libdino/data/add_conversation/conference_details_fragment.ui227
-rw-r--r--libdino/data/add_conversation/list_row.ui61
-rw-r--r--libdino/data/add_conversation/select_jid_fragment.ui109
-rw-r--r--libdino/data/chat_input.ui23
-rw-r--r--libdino/data/conversation_list_titlebar.ui41
-rw-r--r--libdino/data/conversation_selector/chat_row_tooltip.ui23
-rw-r--r--libdino/data/conversation_selector/conversation_row.ui146
-rw-r--r--libdino/data/conversation_selector/view.ui33
-rw-r--r--libdino/data/conversation_summary/message_item.ui98
-rw-r--r--libdino/data/conversation_summary/view.ui33
-rw-r--r--libdino/data/conversation_titlebar.ui63
-rw-r--r--libdino/data/gschemas.compiledbin0 -> 316 bytes
-rw-r--r--libdino/data/img/double_tick.svg190
-rw-r--r--libdino/data/img/send.svg1
-rw-r--r--libdino/data/img/status_away.svg73
-rw-r--r--libdino/data/img/status_chat.svg85
-rw-r--r--libdino/data/img/status_dnd.svg73
-rw-r--r--libdino/data/img/status_online.svg67
-rw-r--r--libdino/data/img/tick.svg184
-rw-r--r--libdino/data/manage_accounts/account_row.ui30
-rw-r--r--libdino/data/manage_accounts/add_account_dialog.ui137
-rw-r--r--libdino/data/manage_accounts/dialog.ui358
-rw-r--r--libdino/data/menu_add.ui16
-rw-r--r--libdino/data/menu_app.ui20
-rw-r--r--libdino/data/menu_conversation.ui9
-rw-r--r--libdino/data/menu_encryption.ui49
-rw-r--r--libdino/data/occupant_list.ui43
-rw-r--r--libdino/data/occupant_list_item.ui44
-rw-r--r--libdino/data/settings.gschema.xml15
-rw-r--r--libdino/data/settings_dialog.ui51
-rw-r--r--libdino/data/style.css3
-rw-r--r--libdino/data/unified_window.ui178
34 files changed, 2857 insertions, 0 deletions
diff --git a/libdino/data/add_conversation/add_contact_dialog.ui b/libdino/data/add_conversation/add_contact_dialog.ui
new file mode 100644
index 00000000..58c13e7f
--- /dev/null
+++ b/libdino/data/add_conversation/add_contact_dialog.ui
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="3.0"/>
+ <template class="DinoUiAddConversationChatAddContactDialog">
+ <property name="default_width">300</property>
+ <property name="modal">True</property>
+ <child type="titlebar">
+ <object class="GtkHeaderBar">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkButton" id="cancel_button">
+ <property name="label">Cancel</property>
+ <property name="sensitive">True</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="pack_type">start</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="ok_button">
+ <property name="has_default">True</property>
+ <property name="can_default">True</property>
+ <property name="label">Add</property>
+ <property name="sensitive">False</property>
+ <property name="visible">True</property>
+ <style>
+ <class name="suggested-action"/>
+ </style>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child internal-child="vbox">
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkGrid" id="info_grid">
+ <property name="orientation">vertical</property>
+ <property name="margin">20</property>
+ <property name="row-spacing">7</property>
+ <property name="column-spacing">10</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="label">Account</property>
+ <property name="xalign">1</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBoxText" id="accounts_comboboxtext">
+ <property name="hexpand">True</property>
+ <property name="width_request">200</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="label">JID</property>
+ <property name="xalign">1</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="jid_entry">
+ <property name="activates_default">True</property>
+ <property name="hexpand">True</property>
+ <property name="width_request">200</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="label">Alias</property>
+ <property name="xalign">1</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="alias_entry">
+ <property name="activates_default">True</property>
+ <property name="hexpand">True</property>
+ <property name="width_request">200</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="subscribe_checkbutton">
+ <property name="active">True</property>
+ <property name="label">Request presence updates</property>
+ <property name="xalign">0</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="cancel">cancel_button</action-widget>
+ <action-widget response="ok" default="true">ok_button</action-widget>
+ </action-widgets>
+ </template>
+</interface>
diff --git a/libdino/data/add_conversation/add_groupchat_dialog.ui b/libdino/data/add_conversation/add_groupchat_dialog.ui
new file mode 100644
index 00000000..c6390374
--- /dev/null
+++ b/libdino/data/add_conversation/add_groupchat_dialog.ui
@@ -0,0 +1,224 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="3.0"/>
+ <template class="DinoUiAddConversationConferenceAddGroupchatDialog">
+ <property name="default_width">400</property>
+ <property name="modal">True</property>
+ <child type="titlebar">
+ <object class="GtkHeaderBar">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkButton" id="cancel_button">
+ <property name="label">Cancel</property>
+ <property name="sensitive">True</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="pack_type">start</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="ok_button">
+ <property name="can_default">True</property>
+ <property name="has_default">True</property>
+ <property name="sensitive">False</property>
+ <property name="visible">True</property>
+ <style>
+ <class name="suggested-action"/>
+ </style>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child internal-child="vbox">
+ <object class="GtkBox" id="main">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkGrid">
+ <property name="orientation">vertical</property>
+ <property name="margin">20</property>
+ <property name="margin_right">40</property>
+ <property name="margin_left">40</property>
+ <property name="row-spacing">7</property>
+ <property name="column-spacing">10</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="label">Account</property>
+ <property name="xalign">1</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkStack" id="accounts_stack">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkComboBoxText" id="accounts_comboboxtext">
+ <property name="hexpand">True</property>
+ <property name="width_request">200</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="name">combobox</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="account_label">
+ <property name="xalign">0</property>
+ <property name="can_focus">True</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="name">label</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="label">JID</property>
+ <property name="xalign">1</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="jid_entry">
+ <property name="activates_default">True</property>
+ <property name="hexpand">True</property>
+ <property name="width_request">200</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="label">Nick</property>
+ <property name="xalign">1</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="nick_entry">
+ <property name="activates_default">True</property>
+ <property name="hexpand">True</property>
+ <property name="width_request">200</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="label">Password</property>
+ <property name="xalign">1</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="password_entry">
+ <property name="activates_default">True</property>
+ <property name="visibility">False</property>
+ <property name="hexpand">True</property>
+ <property name="width_request">200</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="autojoin_checkbutton">
+ <property name="active">False</property>
+ <property name="label">Join on startup</property>
+ <property name="xalign">0</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">5</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="alias_label">
+ <property name="label">Alias</property>
+ <property name="xalign">1</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">6</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="alias_entry">
+ <property name="activates_default">True</property>
+ <property name="hexpand">True</property>
+ <property name="width_request">200</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">6</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="cancel">cancel_button</action-widget>
+ <action-widget response="ok" default="true">ok_button</action-widget>
+ </action-widgets>
+ </template>
+</interface>
diff --git a/libdino/data/add_conversation/conference_details_fragment.ui b/libdino/data/add_conversation/conference_details_fragment.ui
new file mode 100644
index 00000000..403d9a94
--- /dev/null
+++ b/libdino/data/add_conversation/conference_details_fragment.ui
@@ -0,0 +1,227 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="3.0"/>
+ <template class="DinoUiAddConversationConferenceConferenceDetailsFragment">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkGrid">
+ <property name="orientation">vertical</property>
+ <property name="margin">20</property>
+ <property name="margin_right">40</property>
+ <property name="margin_left">40</property>
+ <property name="row-spacing">7</property>
+ <property name="column-spacing">10</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="label">Account</property>
+ <property name="xalign">1</property>
+ <property name="visible">True</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkStack" id="accounts_stack">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkButton" id="accounts_button">
+ <property name="relief">none</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="accounts_label">
+ <property name="xalign">0</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="name">label</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBoxText" id="accounts_comboboxtext">
+ <property name="hexpand">True</property>
+ <property name="width_request">200</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="name">entry</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="label">JID</property>
+ <property name="xalign">1</property>
+ <property name="visible">True</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkStack" id="jid_stack">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkButton" id="jid_button">
+ <property name="relief">none</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="jid_label">
+ <property name="xalign">0</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="name">label</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="jid_entry">
+ <property name="hexpand">True</property>
+ <property name="width_request">200</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="name">entry</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="label">Nick</property>
+ <property name="xalign">1</property>
+ <property name="visible">True</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkStack" id="nick_stack">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkButton" id="nick_button">
+ <property name="relief">none</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="nick_label">
+ <property name="xalign">0</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="name">label</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="nick_entry">
+ <property name="hexpand">True</property>
+ <property name="width_request">200</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="name">entry</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="label">Password</property>
+ <property name="xalign">1</property>
+ <property name="visible">True</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkStack" id="password_stack">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkButton" id="password_button">
+ <property name="relief">none</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="password_label">
+ <property name="xalign">0</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="name">label</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="password_entry">
+ <property name="hexpand">True</property>
+ <property name="width_request">200</property>
+ <property name="visibility">False</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="name">entry</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </template>
+</interface>
diff --git a/libdino/data/add_conversation/list_row.ui b/libdino/data/add_conversation/list_row.ui
new file mode 100644
index 00000000..8f011bb8
--- /dev/null
+++ b/libdino/data/add_conversation/list_row.ui
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="3.0"/>
+ <template class="DinoUiAddConversationListRow" parent="GtkListBoxRow">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkGrid" id="outer_grid">
+ <property name="orientation">horizontal</property>
+ <property name="margin">3</property>
+ <property name="column-spacing">10</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkImage" id="image">
+ <property name="height_request">30</property>
+ <property name="width_request">30</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkGrid">
+ <property name="orientation">vertical</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="name_label">
+ <property name="max_width_chars">1</property>
+ <property name="ellipsize">end</property>
+ <property name="expand">True</property>
+ <property name="xalign">0</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="via_label">
+ <property name="max_width_chars">1</property>
+ <property name="ellipsize">end</property>
+ <property name="expand">True</property>
+ <property name="xalign">0</property>
+ <property name="visible">True</property>
+ <attributes>
+ <attribute name="scale" value="0.8"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </template>
+</interface>
diff --git a/libdino/data/add_conversation/select_jid_fragment.ui b/libdino/data/add_conversation/select_jid_fragment.ui
new file mode 100644
index 00000000..612f1597
--- /dev/null
+++ b/libdino/data/add_conversation/select_jid_fragment.ui
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="3.0"/>
+ <template class="DinoUiAddConversationSelectJidFragment">
+ <property name="height_request">500</property>
+ <property name="width_request">460</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkGrid">
+ <property name="expand">True</property>
+ <property name="margin-top">20</property>
+ <property name="margin-right">80</property>
+ <property name="margin-bottom">20</property>
+ <property name="margin-left">80</property>
+ <property name="orientation">vertical</property>
+ <property name="row-spacing">10</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkEntry" id="entry">
+ <property name="activates_default">True</property>
+ <property name="hexpand">True</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="expand">True</property>
+ <property name="orientation">vertical</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkFrame">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkScrolledWindow" id="scrolled_window">
+ <property name="hscrollbar_policy">never</property>
+ <property name="expand">True</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkBox" id="box">
+ <property name="orientation">vertical</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolbar">
+ <property name="visible">True</property>
+ <style>
+ <class name="inline-toolbar"/>
+ </style>
+ <child>
+ <object class="GtkToolItem">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkButton" id="add_button">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkImage">
+ <property name="icon-name">list-add-symbolic</property>
+ <property name="icon-size">1</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="edit_button">
+ <property name="sensitive">False</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkImage">
+ <property name="icon-name">document-edit-symbolic</property>
+ <property name="icon-size">1</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="remove_button">
+ <property name="sensitive">False</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkImage">
+ <property name="icon-name">list-remove-symbolic</property>
+ <property name="icon-size">1</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </template>
+</interface> \ No newline at end of file
diff --git a/libdino/data/chat_input.ui b/libdino/data/chat_input.ui
new file mode 100644
index 00000000..dac75feb
--- /dev/null
+++ b/libdino/data/chat_input.ui
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <template class="DinoUiChatInput" parent="GtkGrid"> <!-- TODO -->
+ <property name="hexpand">True</property>
+ <property name="orientation">horizontal</property>
+ <property name="visible">True</property>
+ <property name="margin">5</property>
+ <property name="column-spacing">5</property>
+ <child>
+ <object class="GtkFrame">
+ <child>
+ <object class="GtkTextView" id="text_input">
+ <property name="border-width">5</property>
+ <property name="wrap-mode">GTK_WRAP_WORD_CHAR</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </template>
+</interface>
diff --git a/libdino/data/conversation_list_titlebar.ui b/libdino/data/conversation_list_titlebar.ui
new file mode 100644
index 00000000..6a5996df
--- /dev/null
+++ b/libdino/data/conversation_list_titlebar.ui
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="3.0"/>
+ <template class="DinoUiConversationListTitlebar" parent="GtkHeaderBar">
+ <property name="hexpand">False</property>
+ <property name="visible">True</property>
+ <style>
+ <class name="left_toolbar"/>
+ </style>
+ <child>
+ <object class="GtkMenuButton" id="add_button">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">list-add-symbolic</property>
+ <property name="icon-size">1</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="pack_type">start</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToggleButton" id="search_button">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">system-search-symbolic</property>
+ <property name="icon-size">1</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ </template>
+</interface>
diff --git a/libdino/data/conversation_selector/chat_row_tooltip.ui b/libdino/data/conversation_selector/chat_row_tooltip.ui
new file mode 100644
index 00000000..90fbd712
--- /dev/null
+++ b/libdino/data/conversation_selector/chat_row_tooltip.ui
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="3.0"/>
+ <object class="GtkBox" id="main_box">
+ <property name="orientation">vertical</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="jid_label">
+ <property name="xalign">0</property>
+ <property name="visible">True</property>
+ <attributes>
+ <attribute name="weight" value="PANGO_WEIGHT_BOLD"/>
+ </attributes>
+ </object>
+ </child>
+ <child>
+ <object class="GtkBox" id="inner_box">
+ <property name="orientation">vertical</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+</interface>
diff --git a/libdino/data/conversation_selector/conversation_row.ui b/libdino/data/conversation_selector/conversation_row.ui
new file mode 100644
index 00000000..5f8498e9
--- /dev/null
+++ b/libdino/data/conversation_selector/conversation_row.ui
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="3.0"/>
+ <template class="DinoUiConversationSelectorConversationRow">
+ <property name="visible">True</property>
+ <style>
+ <class name="no_padding"/>
+ </style>
+ <child>
+ <object class="GtkRevealer" id="main_revealer">
+ <property name="transition-type">slide-down</property>
+ <property name="transition-duration">200</property>
+ <property name="reveal-child">False</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkGrid">
+ <property name="orientation">horizontal</property>
+ <property name="margin">7</property>
+ <property name="margin-right">14</property>
+ <property name="column-spacing">10</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkImage" id="image">
+ <property name="height_request">40</property>
+ <property name="width_request">40</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkGrid">
+ <property name="orientation">vertical</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="name_label">
+ <property name="max_width_chars">1</property>
+ <property name="ellipsize">end</property>
+ <property name="expand">True</property>
+ <property name="margin-right">7</property>
+ <property name="xalign">0</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRevealer" id="time_revealer">
+ <property name="transition-type">slide-right</property>
+ <property name="transition-duration">100</property>
+ <property name="reveal-child">True</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="time_label">
+ <property name="hexpand">False</property>
+ <property name="xalign">1</property>
+ <attributes>
+ <attribute name="scale" value="0.7"/>
+ </attributes>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="message_label">
+ <property name="max_width_chars">1</property>
+ <property name="ellipsize">end</property>
+ <property name="expand">True</property>
+ <property name="xalign">0</property>
+ <attributes>
+ <attribute name="scale" value="0.8"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="orientation">vertical</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkBox">
+ <property name="vexpand">True</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRevealer" id="xbutton_revealer">
+ <property name="transition-type">slide-left</property>
+ <property name="transition-duration">100</property>
+ <property name="reveal-child">False</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkButton" id="x_button">
+ <property name="vexpand">False</property>
+ <property name="visible">True</property>
+ <style>
+ <class name="conversation_list_row_xbutton"/>
+ <class name="circular"/>
+ <class name="flat"/>
+ </style>
+ <child>
+ <object class="GtkImage">
+ <property name="icon-name">window-close-symbolic</property>
+ <property name="icon-size">1</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="vexpand">True</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </template>
+</interface>
diff --git a/libdino/data/conversation_selector/view.ui b/libdino/data/conversation_selector/view.ui
new file mode 100644
index 00000000..4bac39bc
--- /dev/null
+++ b/libdino/data/conversation_selector/view.ui
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="3.0"/>
+ <template class="DinoUiConversationSelectorView">
+ <property name="can_focus">True</property>
+ <property name="width_request">40</property>
+ <property name="expand">True</property>
+ <property name="orientation">vertical</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkSearchBar" id="search_bar">
+ <property name="hexpand">True</property>
+ <property name="show_close_button">True</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkSearchEntry" id="search_entry">
+ <property name="primary_icon_name">edit-find-symbolic</property>
+ <property name="placeholder_text" translatable="yes">Search</property>
+ <property name="hexpand">True</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow" id="scrolled">
+ <property name="expand">True</property>
+ <property name="hscrollbar_policy">never</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </template>
+</interface>
diff --git a/libdino/data/conversation_summary/message_item.ui b/libdino/data/conversation_summary/message_item.ui
new file mode 100644
index 00000000..f21b4969
--- /dev/null
+++ b/libdino/data/conversation_summary/message_item.ui
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="3.0"/>
+ <template class="DinoUiConversationSummaryMergedMessageItem">
+ <property name="hexpand">True</property>
+ <property name="column-spacing">7</property>
+ <property name="orientation">horizontal</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkImage" id="image">
+ <property name="expand">False</property>
+ <property name="height_request">30</property>
+ <property name="margin_top">2</property>
+ <property name="width_request">30</property>
+ <property name="visible">True</property>
+ <property name="yalign">0</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="name_label">
+ <property name="xalign">0</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="time_label">
+ <property name="visible">True</property>
+ <property name="xalign">1</property>
+ <property name="yalign">0</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage" id="encryption_image">
+ <property name="visible">False</property>
+ <property name="xalign">1</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage" id="received_image">
+ <property name="visible">False</property>
+ <property name="xalign">1</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">4</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkTextView" id="message_text_view">
+ <property name="editable">False</property>
+ <property name="hexpand">True</property>
+ <property name="wrap-mode">GTK_WRAP_WORD_CHAR</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </template>
+</interface> \ No newline at end of file
diff --git a/libdino/data/conversation_summary/view.ui b/libdino/data/conversation_summary/view.ui
new file mode 100644
index 00000000..74fb507e
--- /dev/null
+++ b/libdino/data/conversation_summary/view.ui
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="3.0"/>
+ <template class="DinoUiConversationSummaryView">
+ <property name="expand">True</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkScrolledWindow" id="scrolled">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkBox">
+ <property name="margin">15</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkBox" id="main">
+ <property name="expand">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">15</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkBox" id="filler">
+ <property name="expand">True</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </template>
+</interface>
diff --git a/libdino/data/conversation_titlebar.ui b/libdino/data/conversation_titlebar.ui
new file mode 100644
index 00000000..e173bdf3
--- /dev/null
+++ b/libdino/data/conversation_titlebar.ui
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="3.0"/>
+ <template class="DinoUiConversationTitlebar" parent="GtkHeaderBar">
+ <property name="title"></property>
+ <property name="hexpand">True</property>
+ <property name="show_close_button">True</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkMenuButton" id="menu_button">
+ <property name="visible">True</property>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">open-menu-symbolic</property>
+ <property name="icon-size">1</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="encryption_button">
+ <property name="visible">False</property>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-size">1</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="groupchat_button">
+ <property name="visible">False</property>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">system-users-symbolic</property>
+ <property name="icon-size">1</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ </template>
+</interface>
diff --git a/libdino/data/gschemas.compiled b/libdino/data/gschemas.compiled
new file mode 100644
index 00000000..3a010b95
--- /dev/null
+++ b/libdino/data/gschemas.compiled
Binary files differ
diff --git a/libdino/data/img/double_tick.svg b/libdino/data/img/double_tick.svg
new file mode 100644
index 00000000..d65840f6
--- /dev/null
+++ b/libdino/data/img/double_tick.svg
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ sodipodi:docname="double_tick.svg"
+ inkscape:export-filename="/home/sam/source-symbolic.png"
+ inkscape:export-xdpi="270"
+ inkscape:export-ydpi="270"
+ height="16"
+ id="svg7384"
+ style="enable-background:new"
+ version="1.1"
+ inkscape:version="0.92.0 r"
+ width="16">
+ <sodipodi:namedview
+ inkscape:bbox-nodes="true"
+ inkscape:bbox-paths="true"
+ bordercolor="#666666"
+ borderlayer="false"
+ borderopacity="1"
+ inkscape:current-layer="g8784"
+ inkscape:cx="11.598048"
+ inkscape:cy="11.93762"
+ gridtolerance="10"
+ inkscape:guide-bbox="true"
+ guidetolerance="10"
+ id="namedview88"
+ inkscape:object-nodes="true"
+ inkscape:object-paths="true"
+ objecttolerance="10"
+ pagecolor="#f7f7f7"
+ inkscape:pageopacity="1"
+ inkscape:pageshadow="2"
+ showborder="true"
+ showgrid="false"
+ showguides="true"
+ inkscape:showpageshadow="false"
+ inkscape:snap-bbox="true"
+ inkscape:snap-bbox-edge-midpoints="false"
+ inkscape:snap-bbox-midpoints="false"
+ inkscape:snap-center="false"
+ inkscape:snap-global="true"
+ inkscape:snap-grids="true"
+ inkscape:snap-intersection-paths="true"
+ inkscape:snap-midpoints="true"
+ inkscape:snap-nodes="true"
+ inkscape:snap-object-midpoints="true"
+ inkscape:snap-others="true"
+ inkscape:snap-page="false"
+ inkscape:snap-smooth-nodes="true"
+ inkscape:snap-to-guides="true"
+ inkscape:window-height="845"
+ inkscape:window-maximized="1"
+ inkscape:window-width="1600"
+ inkscape:window-x="0"
+ inkscape:window-y="27"
+ inkscape:zoom="22.627416"
+ units="mm">
+ <inkscape:grid
+ color="#000000"
+ dotted="false"
+ empcolor="#0800ff"
+ empopacity="0.4627451"
+ empspacing="4"
+ enabled="true"
+ id="grid4866"
+ opacity="0.16470588"
+ originx="-104.00001px"
+ originy="-96px"
+ snapvisiblegridlinesonly="true"
+ spacingx="0.25px"
+ spacingy="0.25px"
+ type="xygrid"
+ visible="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata90">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Paper Symbolic Icon Theme</dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <title
+ id="title8473">Paper Symbolic Icon Theme</title>
+ <defs
+ id="defs7386">
+ <linearGradient
+ id="linearGradient5606"
+ osb:paint="solid">
+ <stop
+ id="stop5608"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ </linearGradient>
+ <filter
+ inkscape:collect="always"
+ id="filter7554"
+ color-interpolation-filters="sRGB">
+ <feBlend
+ inkscape:collect="always"
+ id="feBlend7556"
+ in2="BackgroundImage"
+ mode="darken" />
+ </filter>
+ </defs>
+ <g
+ inkscape:groupmode="layer"
+ id="layer9"
+ inkscape:label="status"
+ style="display:inline"
+ transform="translate(-345.00021,-121)" />
+ <g
+ inkscape:groupmode="layer"
+ id="layer10"
+ inkscape:label="devices"
+ style="display:inline;filter:url(#filter7554)"
+ transform="translate(-345.00021,-121)" />
+ <g
+ inkscape:groupmode="layer"
+ id="layer1"
+ inkscape:label="places"
+ style="display:inline"
+ transform="translate(-104.00001,-738)" />
+ <g
+ inkscape:groupmode="layer"
+ id="layer14"
+ inkscape:label="mimetypes"
+ style="display:inline"
+ transform="translate(-345.00021,-121)" />
+ <g
+ inkscape:groupmode="layer"
+ id="layer15"
+ inkscape:label="emblems"
+ style="display:inline"
+ transform="translate(-345.00021,-121)" />
+ <g
+ inkscape:groupmode="layer"
+ id="g71291"
+ inkscape:label="emotes"
+ style="display:inline"
+ transform="translate(-345.00021,-121)" />
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="categories"
+ style="display:inline"
+ transform="translate(-104.00001,-588)" />
+ <g
+ inkscape:groupmode="layer"
+ id="g6058"
+ inkscape:label="apps"
+ style="display:inline"
+ transform="translate(-104.00001,-588)" />
+ <g
+ inkscape:groupmode="layer"
+ id="layer12"
+ inkscape:label="actions"
+ style="display:inline"
+ transform="translate(-345.00021,-121)">
+ <g
+ id="g8784"
+ inkscape:label="object-select">
+ <path
+ inkscape:connector-curvature="0"
+ d="m 356.03145,124.03125 c -0.21888,0.0473 -0.42059,0.17053 -0.5625,0.34375 l -6.28125,7.1875 -2.25,-2.25 c -0.37633,-0.37638 -1.06119,-0.3764 -1.43755,-5e-5 -0.37635,0.37636 -0.37633,1.06122 5e-5,1.43755 l 3,3 0.78125,0.75 0.6875,-0.8125 7,-8 c 0.56742,-0.61773 -0.11583,-1.8248 -0.9375,-1.65625 z"
+ id="path8741"
+ sodipodi:nodetypes="ccccscccccc"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#555555;fill-opacity:1;stroke:none;stroke-width:2;marker:none;enable-background:accumulate" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#555555;fill-opacity:1;stroke:none;stroke-width:2.13333344;marker:none;enable-background:accumulate"
+ sodipodi:nodetypes="cccccccccc"
+ id="path4500"
+ d="m 359.74533,124.03232 c -0.23347,0.0504 -0.44863,0.1819 -0.6,0.36667 l -6.7,7.66666 -0.34583,-0.34583 -1.42592,1.61866 1.03842,1.06051 0.83333,0.8 0.73334,-0.86667 7.46666,-8.53333 c 0.60525,-0.65892 -0.12355,-1.94646 -1,-1.76667 z"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+</svg>
diff --git a/libdino/data/img/send.svg b/libdino/data/img/send.svg
new file mode 100644
index 00000000..8627d4a7
--- /dev/null
+++ b/libdino/data/img/send.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="#6f778c" d="M2,21L23,12L2,3V10L17,12L2,14V21Z" /></svg>
diff --git a/libdino/data/img/status_away.svg b/libdino/data/img/status_away.svg
new file mode 100644
index 00000000..d976d095
--- /dev/null
+++ b/libdino/data/img/status_away.svg
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="28.222221mm"
+ height="28.222221mm"
+ viewBox="0 0 99.999997 99.999997"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.92.0 r"
+ sodipodi:docname="status_away.svg">
+ <defs
+ id="defs4" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.8"
+ inkscape:cx="-2.3899949"
+ inkscape:cy="49.421164"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="873"
+ inkscape:window-x="0"
+ inkscape:window-y="27"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-62.857162,-678.07648)">
+ <circle
+ style="opacity:1;fill:#ffa726;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path4136"
+ cx="112.85716"
+ cy="728.07648"
+ r="50" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:12;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 106.85716,698.38898 v 35.6875 h 35.6875"
+ id="path4157"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccc" />
+ </g>
+</svg>
diff --git a/libdino/data/img/status_chat.svg b/libdino/data/img/status_chat.svg
new file mode 100644
index 00000000..5b427cb6
--- /dev/null
+++ b/libdino/data/img/status_chat.svg
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="28.222221mm"
+ height="28.222221mm"
+ viewBox="0 0 99.999997 99.999997"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.91 r13725"
+ sodipodi:docname="status_chat.svg">
+ <defs
+ id="defs4" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.8"
+ inkscape:cx="-2.3899949"
+ inkscape:cy="49.421164"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="845"
+ inkscape:window-x="0"
+ inkscape:window-y="27"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-62.857162,-678.07648)">
+ <circle
+ style="opacity:1;fill:#81c784;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path4136"
+ cx="112.85716"
+ cy="728.07648"
+ r="50" />
+ <path
+ style="fill:#81c784;fill-rule:evenodd;stroke:#ffffff;stroke-width:7;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
+ d="m 77.857162,738.07648 c 13.92857,35.35715 55.714288,35 69.999998,0"
+ id="path4199"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <circle
+ style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path4203"
+ cx="90.357162"
+ cy="710.57648"
+ r="5" />
+ <circle
+ style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path4203-3"
+ cx="135.35716"
+ cy="710.57648"
+ r="5" />
+ </g>
+</svg>
diff --git a/libdino/data/img/status_dnd.svg b/libdino/data/img/status_dnd.svg
new file mode 100644
index 00000000..e7e17e78
--- /dev/null
+++ b/libdino/data/img/status_dnd.svg
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="28.222221mm"
+ height="28.222221mm"
+ viewBox="0 0 99.999997 99.999997"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.91 r13725"
+ sodipodi:docname="status_dnd.svg">
+ <defs
+ id="defs4" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.8"
+ inkscape:cx="-2.3899949"
+ inkscape:cy="49.421164"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="845"
+ inkscape:window-x="0"
+ inkscape:window-y="27"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-62.857162,-678.07648)">
+ <circle
+ style="opacity:1;fill:#e57373;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path4136"
+ cx="112.85716"
+ cy="728.07648"
+ r="50" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:15;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 82.857162,728.07648 59.999998,0"
+ id="path4178"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ </g>
+</svg>
diff --git a/libdino/data/img/status_online.svg b/libdino/data/img/status_online.svg
new file mode 100644
index 00000000..13cc6592
--- /dev/null
+++ b/libdino/data/img/status_online.svg
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="28.222221mm"
+ height="28.222221mm"
+ viewBox="0 0 99.999997 99.999997"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.91 r13725"
+ sodipodi:docname="status_online.svg">
+ <defs
+ id="defs4" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.8"
+ inkscape:cx="-2.3899949"
+ inkscape:cy="49.421164"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1600"
+ inkscape:window-height="845"
+ inkscape:window-x="0"
+ inkscape:window-y="27"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-62.857162,-678.07648)">
+ <circle
+ style="opacity:1;fill:#81c784;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path4136"
+ cx="112.85716"
+ cy="728.07648"
+ r="50" />
+ </g>
+</svg>
diff --git a/libdino/data/img/tick.svg b/libdino/data/img/tick.svg
new file mode 100644
index 00000000..4a08848c
--- /dev/null
+++ b/libdino/data/img/tick.svg
@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ sodipodi:docname="tick.svg"
+ inkscape:export-filename="/home/sam/source-symbolic.png"
+ inkscape:export-xdpi="270"
+ inkscape:export-ydpi="270"
+ height="16"
+ id="svg7384"
+ style="enable-background:new"
+ version="1.1"
+ inkscape:version="0.92.0 r"
+ width="16">
+ <sodipodi:namedview
+ inkscape:bbox-nodes="true"
+ inkscape:bbox-paths="true"
+ bordercolor="#666666"
+ borderlayer="false"
+ borderopacity="1"
+ inkscape:current-layer="g8784"
+ inkscape:cx="11.077638"
+ inkscape:cy="13.807036"
+ gridtolerance="10"
+ inkscape:guide-bbox="true"
+ guidetolerance="10"
+ id="namedview88"
+ inkscape:object-nodes="true"
+ inkscape:object-paths="true"
+ objecttolerance="10"
+ pagecolor="#f7f7f7"
+ inkscape:pageopacity="1"
+ inkscape:pageshadow="2"
+ showborder="true"
+ showgrid="false"
+ showguides="true"
+ inkscape:showpageshadow="false"
+ inkscape:snap-bbox="true"
+ inkscape:snap-bbox-edge-midpoints="false"
+ inkscape:snap-bbox-midpoints="false"
+ inkscape:snap-center="false"
+ inkscape:snap-global="true"
+ inkscape:snap-grids="true"
+ inkscape:snap-intersection-paths="true"
+ inkscape:snap-midpoints="true"
+ inkscape:snap-nodes="true"
+ inkscape:snap-object-midpoints="true"
+ inkscape:snap-others="true"
+ inkscape:snap-page="false"
+ inkscape:snap-smooth-nodes="true"
+ inkscape:snap-to-guides="true"
+ inkscape:window-height="838"
+ inkscape:window-maximized="0"
+ inkscape:window-width="1290"
+ inkscape:window-x="0"
+ inkscape:window-y="27"
+ inkscape:zoom="11.313708"
+ units="mm">
+ <inkscape:grid
+ color="#000000"
+ dotted="false"
+ empcolor="#0800ff"
+ empopacity="0.4627451"
+ empspacing="4"
+ enabled="true"
+ id="grid4866"
+ opacity="0.16470588"
+ originx="-104.00001px"
+ originy="-96px"
+ snapvisiblegridlinesonly="true"
+ spacingx="0.25px"
+ spacingy="0.25px"
+ type="xygrid"
+ visible="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata90">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Paper Symbolic Icon Theme</dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <title
+ id="title8473">Paper Symbolic Icon Theme</title>
+ <defs
+ id="defs7386">
+ <linearGradient
+ id="linearGradient5606"
+ osb:paint="solid">
+ <stop
+ id="stop5608"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ </linearGradient>
+ <filter
+ inkscape:collect="always"
+ id="filter7554"
+ color-interpolation-filters="sRGB">
+ <feBlend
+ inkscape:collect="always"
+ id="feBlend7556"
+ in2="BackgroundImage"
+ mode="darken" />
+ </filter>
+ </defs>
+ <g
+ inkscape:groupmode="layer"
+ id="layer9"
+ inkscape:label="status"
+ style="display:inline"
+ transform="translate(-345.00021,-121)" />
+ <g
+ inkscape:groupmode="layer"
+ id="layer10"
+ inkscape:label="devices"
+ style="display:inline;filter:url(#filter7554)"
+ transform="translate(-345.00021,-121)" />
+ <g
+ inkscape:groupmode="layer"
+ id="layer1"
+ inkscape:label="places"
+ style="display:inline"
+ transform="translate(-104.00001,-738)" />
+ <g
+ inkscape:groupmode="layer"
+ id="layer14"
+ inkscape:label="mimetypes"
+ style="display:inline"
+ transform="translate(-345.00021,-121)" />
+ <g
+ inkscape:groupmode="layer"
+ id="layer15"
+ inkscape:label="emblems"
+ style="display:inline"
+ transform="translate(-345.00021,-121)" />
+ <g
+ inkscape:groupmode="layer"
+ id="g71291"
+ inkscape:label="emotes"
+ style="display:inline"
+ transform="translate(-345.00021,-121)" />
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="categories"
+ style="display:inline"
+ transform="translate(-104.00001,-588)" />
+ <g
+ inkscape:groupmode="layer"
+ id="g6058"
+ inkscape:label="apps"
+ style="display:inline"
+ transform="translate(-104.00001,-588)" />
+ <g
+ inkscape:groupmode="layer"
+ id="layer12"
+ inkscape:label="actions"
+ style="display:inline"
+ transform="translate(-345.00021,-121)">
+ <g
+ id="g8784"
+ inkscape:label="object-select">
+ <path
+ inkscape:connector-curvature="0"
+ d="m 356.03145,124.03125 c -0.21888,0.0473 -0.42059,0.17053 -0.5625,0.34375 l -6.28125,7.1875 -2.25,-2.25 c -0.37633,-0.37638 -1.06119,-0.3764 -1.43755,-5e-5 -0.37635,0.37636 -0.37633,1.06122 5e-5,1.43755 l 3,3 0.78125,0.75 0.6875,-0.8125 7,-8 c 0.56742,-0.61773 -0.11583,-1.8248 -0.9375,-1.65625 z"
+ id="path8741"
+ sodipodi:nodetypes="ccccscccccc"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#555555;fill-opacity:1;stroke:none;stroke-width:2;marker:none;enable-background:accumulate" />
+ </g>
+ </g>
+</svg>
diff --git a/libdino/data/manage_accounts/account_row.ui b/libdino/data/manage_accounts/account_row.ui
new file mode 100644
index 00000000..ab700daa
--- /dev/null
+++ b/libdino/data/manage_accounts/account_row.ui
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="3.0"/>
+ <template class="DinoUiManageAccountsAccountRow">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkGrid">
+ <property name="orientation">horizontal</property>
+ <property name="margin">6</property>
+ <property name="column-spacing">6</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkImage" id="image">
+ <property name="height_request">40</property>
+ <property name="width_request">40</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="jid_label">
+ <property name="halign">0.5</property>
+ <property name="xalign">0</property>
+ <property name="expand">True</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </template>
+</interface>
diff --git a/libdino/data/manage_accounts/add_account_dialog.ui b/libdino/data/manage_accounts/add_account_dialog.ui
new file mode 100644
index 00000000..dd5264f1
--- /dev/null
+++ b/libdino/data/manage_accounts/add_account_dialog.ui
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="3.0"/>
+ <template class="DinoUiManageAccountsAddAccountDialog">
+ <property name="default_width">300</property>
+ <property name="modal">True</property>
+ <child type="titlebar">
+ <object class="GtkHeaderBar">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkButton" id="cancel_button">
+ <property name="label">Cancel</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="pack_type">start</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="ok_button">
+ <property name="can_default">True</property>
+ <property name="label">Save</property>
+ <property name="sensitive">False</property>
+ <property name="visible">True</property>
+ <style>
+ <class name="suggested-action"/>
+ </style>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child internal-child="vbox">
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkGrid" id="info_grid">
+ <property name="orientation">vertical</property>
+ <property name="margin">20</property>
+ <property name="column-spacing">10</property>
+ <property name="row-spacing">7</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="label">JID</property>
+ <property name="xalign">1</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="jid_entry">
+ <property name="activates_default">True</property>
+ <property name="hexpand">True</property>
+ <property name="width_request">200</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="label">Password</property>
+ <property name="xalign">1</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="password_entry">
+ <property name="activates_default">True</property>
+ <property name="hexpand">True</property>
+ <property name="input_purpose">password</property>
+ <property name="width_request">200</property>
+ <property name="visible">True</property>
+ <property name="visibility">False</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="label">Local alias</property>
+ <property name="xalign">1</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="alias_entry">
+ <property name="activates_default">True</property>
+ <property name="hexpand">True</property>
+ <property name="width_request">200</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="cancel">cancel_button</action-widget>
+ <action-widget response="ok" default="true">ok_button</action-widget>
+ </action-widgets>
+ </template>
+</interface>
diff --git a/libdino/data/manage_accounts/dialog.ui b/libdino/data/manage_accounts/dialog.ui
new file mode 100644
index 00000000..64397fb7
--- /dev/null
+++ b/libdino/data/manage_accounts/dialog.ui
@@ -0,0 +1,358 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <template class="DinoUiManageAccountsDialog">
+ <property name="width-request">700</property>
+ <property name="height-request">400</property>
+ <property name="visible">True</property>
+ <child type="titlebar">
+ <object class="GtkHeaderBar">
+ <property name="title">Accounts</property>
+ <property name="show_close_button">True</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkStack" id="main_stack">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkBox">
+ <property name="can_focus">True</property>
+ <property name="expand">True</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkBox">
+ <property name="expand">True</property>
+ <property name="orientation">horizontal</property>
+ <property name="margin">15</property>
+ <property name="spacing">20</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkBox">
+ <property name="orientation">vertical</property>
+ <property name="width-request">250</property>
+ <property name="vexpand">True</property>
+ <property name="hexpand">False</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkScrolledWindow">
+ <property name="shadow-type">in</property>
+ <property name="expand">True</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkBox">
+ <property name="orientation">vertical</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkListBox" id="account_list">
+ <property name="expand">True</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolbar">
+ <style>
+ <class name="inline-toolbar"/>
+ </style>
+ <property name="icon-size">menu</property>
+ <property name="toolbar-style">icons</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkToolButton" id="add_button">
+ <property name="icon-name">list-add-symbolic</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton" id="remove_button">
+ <property name="icon-name">list-remove-symbolic</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkGrid">
+ <property name="expand">True</property>
+ <property name="column-spacing">10</property>
+ <property name="row-spacing">10</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="image_button">
+ <property name="relief">none</property>
+ <property name="visible">True</property>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage" id="image">
+ <property name="height_request">50</property>
+ <property name="width_request">50</property>
+ <property name="xalign">1</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="jid_label">
+ <property name="xalign">0</property>
+ <property name="visible">True</property>
+ <attributes>
+ <attribute name="weight" value="PANGO_WEIGHT_BOLD"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSwitch" id="active_switch">
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="label">Password</property>
+ <property name="xalign">1</property>
+ <property name="visible">True</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkStack" id="password_stack">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkButton" id="password_button">
+ <property name="relief">none</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="password_label">
+ <property name="xalign">0</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="name">label</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="password_entry">
+ <property name="hexpand">True</property>
+ <property name="input_purpose">password</property>
+ <property name="width_request">200</property>
+ <property name="visible">True</property>
+ <property name="visibility">False</property>
+ </object>
+ <packing>
+ <property name="name">entry</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="label">Local alias</property>
+ <property name="xalign">1</property>
+ <property name="visible">True</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkStack" id="alias_stack">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkButton" id="alias_button">
+ <property name="relief">none</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="alias_label">
+ <property name="xalign">0</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="name">label</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="alias_entry">
+ <property name="hexpand">True</property>
+ <property name="width_request">200</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="name">entry</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="label">OpenPGP</property>
+ <property name="xalign">1</property>
+ <property name="visible">True</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">4</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkStack" id="pgp_stack">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkButton" id="pgp_button">
+ <property name="relief">none</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="pgp_label">
+ <property name="xalign">0</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="name">label</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBoxText" id="pgp_combobox">
+ <property name="hexpand">True</property>
+ <property name="width_request">200</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="name">entry</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">4</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="name">accounts_exist</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="orientation">vertical</property>
+ <property name="spacing">10</property>
+ <property name="valign">center</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">system-users-symbolic</property>
+ <property name="icon-size">4</property>
+ <property name="pixel-size">72</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="label">No accounts configured</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="visible">True</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="no_accounts_add">
+ <property name="label">Add an account</property>
+ <property name="halign">center</property>
+ <property name="visible">True</property>
+ <style>
+ <class name="text-button"/>
+ <class name="suggested-action"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="name">no_accounts</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </template>
+</interface>
diff --git a/libdino/data/menu_add.ui b/libdino/data/menu_add.ui
new file mode 100644
index 00000000..3b2c4c4a
--- /dev/null
+++ b/libdino/data/menu_add.ui
@@ -0,0 +1,16 @@
+<interface>
+ <menu id="menu_add">
+ <section>
+ <item>
+ <attribute name="action">app.add_chat</attribute>
+ <attribute name="label" translatable="yes">Start Chat</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name="action">app.add_conference</attribute>
+ <attribute name="label" translatable="yes">Join Conference</attribute>
+ </item>
+ </section>
+ </menu>
+</interface>
diff --git a/libdino/data/menu_app.ui b/libdino/data/menu_app.ui
new file mode 100644
index 00000000..d3fa4cb7
--- /dev/null
+++ b/libdino/data/menu_app.ui
@@ -0,0 +1,20 @@
+<interface>
+ <menu id="menu_app">
+ <section>
+ <item>
+ <attribute name="action">app.accounts</attribute>
+ <attribute name="label">Accounts</attribute>
+ </item>
+ <item>
+ <attribute name="action">app.settings</attribute>
+ <attribute name="label">Settings</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name="action">app.quit</attribute>
+ <attribute name="label">Quit</attribute>
+ </item>
+ </section>
+ </menu>
+</interface>
diff --git a/libdino/data/menu_conversation.ui b/libdino/data/menu_conversation.ui
new file mode 100644
index 00000000..9fe2a2b7
--- /dev/null
+++ b/libdino/data/menu_conversation.ui
@@ -0,0 +1,9 @@
+<interface>
+ <menu id="menu_conversation">
+ <section>
+ <item>
+ <attribute name="label" translatable="yes">Contact Details</attribute>
+ </item>
+ </section>
+ </menu>
+</interface>
diff --git a/libdino/data/menu_encryption.ui b/libdino/data/menu_encryption.ui
new file mode 100644
index 00000000..e4d392c3
--- /dev/null
+++ b/libdino/data/menu_encryption.ui
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="3.20"/>
+ <object class="GtkPopoverMenu" id="menu_encryption">
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="margin">10</property>
+ <child>
+ <object class="GtkRadioButton" id="button_unencrypted">
+ <property name="label" translatable="yes">Unencrypted</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="button_pgp">
+ <property name="label" translatable="yes">OpenPGP</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">button_unencrypted</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="submenu">main</property>
+ </packing>
+ </child>
+ </object>
+</interface> \ No newline at end of file
diff --git a/libdino/data/occupant_list.ui b/libdino/data/occupant_list.ui
new file mode 100644
index 00000000..deb4716e
--- /dev/null
+++ b/libdino/data/occupant_list.ui
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="3.0"/>
+ <template class="DinoUiOccupantList">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkBox">
+ <property name="orientation">vertical</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkToolbar">
+ <property name="icon_size">1</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkToolItem">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkSearchEntry" id="search_entry">
+ <property name="margin">5</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow">
+ <property name="max_content_height">500</property>
+ <property name="propagate_natural_height">True</property>
+ <property name="margin">5</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkListBox" id="list_box">
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </template>
+</interface>
diff --git a/libdino/data/occupant_list_item.ui b/libdino/data/occupant_list_item.ui
new file mode 100644
index 00000000..aabe8a05
--- /dev/null
+++ b/libdino/data/occupant_list_item.ui
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="3.0"/>
+ <template class="DinoUiOccupantListRow" parent="GtkListBoxRow">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkGrid">
+ <property name="orientation">horizontal</property>
+ <property name="margin">3</property>
+ <property name="column-spacing">10</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkImage" id="image">
+ <property name="height_request">30</property>
+ <property name="width_request">30</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkGrid">
+ <property name="orientation">vertical</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="name_label">
+ <property name="expand">True</property>
+ <property name="xalign">0</property>
+ <property name="visible">True</property>
+ <style>
+ <class name="name"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </template>
+</interface>
diff --git a/libdino/data/settings.gschema.xml b/libdino/data/settings.gschema.xml
new file mode 100644
index 00000000..f3d342cf
--- /dev/null
+++ b/libdino/data/settings.gschema.xml
@@ -0,0 +1,15 @@
+<schemalist>
+ <schema id="org.dino-im" path="/org/dino-im/" gettext-domain="dino">
+
+ <key name="send-read" type="b">
+ <default>true</default>
+ <summary>Whether to confirm that a message was received per default</summary>
+ </key>
+
+ <key name="convert-utf8-smileys" type="b">
+ <default>true</default>
+ <summary>Whether to convert common ascii smileys into unicode</summary>
+ </key>
+
+ </schema>
+</schemalist> \ No newline at end of file
diff --git a/libdino/data/settings_dialog.ui b/libdino/data/settings_dialog.ui
new file mode 100644
index 00000000..3b939216
--- /dev/null
+++ b/libdino/data/settings_dialog.ui
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="3.0"/>
+ <template class="DinoUiSettingsDialog">
+ <property name="modal">True</property>
+ <property name="visible">True</property>
+ <child type="titlebar">
+ <object class="GtkHeaderBar">
+ <property name="title">Preferences</property>
+ <property name="show_close_button">True</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child internal-child="vbox">
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkGrid">
+ <property name="margin">10</property>
+ <property name="row-spacing">10</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkCheckButton" id="marker_checkbutton">
+ <property name="label">Send typing notifications and message marker</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="emoji_checkbutton">
+ <property name="label">Convert smileys to emojis</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </template>
+</interface> \ No newline at end of file
diff --git a/libdino/data/style.css b/libdino/data/style.css
new file mode 100644
index 00000000..d143ffd3
--- /dev/null
+++ b/libdino/data/style.css
@@ -0,0 +1,3 @@
+scrolledwindow {
+ background-color: white;
+} \ No newline at end of file
diff --git a/libdino/data/unified_window.ui b/libdino/data/unified_window.ui
new file mode 100644
index 00000000..289c00cf
--- /dev/null
+++ b/libdino/data/unified_window.ui
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="3.0"/>
+ <template class="DinoUiWindow">
+ <property name="default-width">1200</property>
+ <property name="default-height">700</property>
+ <child type="titlebar">
+ <object class="GtkPaned">
+ <property name="position" bind-source="main_paned" bind-property="position" bind-flags="bidirectional|sync-create"/>
+ <property name="visible">True</property>
+ <style>
+ <class name="header_bar"/>
+ </style>
+ <child>
+ <object class="GtkHeaderBar" id="left_toolbar">
+ <property name="hexpand">False</property>
+ <property name="visible">True</property>
+ <style>
+ <class name="left_toolbar"/>
+ </style>
+ <child>
+ <object class="GtkMenuButton" id="add_button">
+ <property name="visible">True</property>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">list-add-symbolic</property>
+ <property name="icon-size">1</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="resize">False</property>
+ <property name="shrink">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHeaderBar" id="right_toolbar">
+ <property name="title"></property>
+ <property name="hexpand">True</property>
+ <property name="show_close_button">True</property>
+ <property name="visible">True</property>
+ <style>
+ <class name="right_toolbar"/>
+ </style>
+ <child>
+ <object class="GtkMenuButton" id="menu_button">
+ <property name="visible">True</property>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">open-menu-symbolic</property>
+ <property name="icon-size">1</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="encryption_button">
+ <property name="visible">True</property>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-size">1</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="groupchat_button">
+ <property name="visible">True</property>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">system-users-symbolic</property>
+ <property name="icon-size">1</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="resize">True</property>
+ <property name="shrink">False</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkPaned" id="main_paned">
+ <property name="orientation">horizontal</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="DinoUiRosterWrapper" id="roster_wrapper">
+ <style>
+ <class name="roster_wrapper"/>
+ </style>
+ </object>
+ <packing>
+ <property name="resize">False</property>
+ <property name="shrink">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame">
+ <property name="shadow-type">GTK_SHADOW_NONE</property>
+ <property name="visible">True</property>
+ <style>
+ <class name="some_frame"/>
+ </style>
+ <child>
+ <object class="GtkGrid">
+ <property name="orientation">vertical</property>
+ <property name="expand">True</property>
+ <property name="visible">True</property>
+ <style>
+ <class name="conversation_grid"/>
+ </style>
+ <child>
+ <object class="GtkScrolledWindow" id="conversation_frame_scrolled">
+ <property name="visible">True</property>
+ <style>
+ <class name="scrolled_window"/>
+ </style>
+ <child>
+ <object class="DinoUiConversationFrame" id="conversation_frame">
+ <property name="shadow-type">GTK_SHADOW_NONE</property>
+ <property name="expand">True</property>
+ <property name="visible">True</property>
+ <style>
+ <class name="conversation_frame"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSeparator" />
+ </child>
+ <child>
+ <object class="DinoUiChatInput" id="chat_input">
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="resize">True</property>
+ <property name="shrink">False</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </template>
+</interface>