messenger-gtk

Gtk+3 graphical user interfaces for GNUnet Messenger
Log | Files | Refs | Submodules | README | LICENSE

commit 69f2d93d65309bf74a7c7471c38e6a9d2537527b
parent 65fcc6b96086267da1f3862474efc28db27a51c3
Author: Jacki <jacki@thejackimonster.de>
Date:   Sat, 11 May 2024 16:12:43 +0200

Solve issues with header bars

Signed-off-by: Jacki <jacki@thejackimonster.de>

Diffstat:
Dresources/ui/#messenger.ui# | 978-------------------------------------------------------------------------------
Mresources/ui/messenger.ui | 15++++++++++++---
Msrc/event.c | 7+++++++
Msrc/ui/messenger.c | 4++--
Msrc/ui/messenger.h | 4++--
5 files changed, 23 insertions(+), 985 deletions(-)

diff --git a/resources/ui/#messenger.ui# b/resources/ui/#messenger.ui# @@ -1,978 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.40.0 - -Copyright (C) 2021‑‑2022 GNUnet e.V. - -GNUnet is free software: you can redistribute it and/or modify it -under the terms of the GNU Affero General Public License as published -by the Free Software Foundation, either version 3 of the License, -or (at your option) any later version. - -GNUnet is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Affero General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see <http://www.gnu.org/licenses/>. - -SPDX-License-Identifier: AGPL3.0-or-later -Author: Tobias Frisch - ---> -<interface> - <requires lib="gtk+" version="3.24"/> - <requires lib="libhandy" version="1.2"/> - <object class="GtkApplicationWindow" id="main_window"> - <property name="can-focus">False</property> - <property name="icon-name">org.gnunet.Messenger</property> - <property name="startup-id">org.gnunet.Messenger</property> - <property name="show-menubar">False</property> - <child> - <object class="HdyLeaflet" id="leaflet_chat"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="hhomogeneous-folded">False</property> - <property name="vhomogeneous-folded">False</property> - <property name="can-swipe-back">True</property> - <child> - <object class="GtkBox" id="nav_box"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="orientation">vertical</property> - <child> - <object class="HdyFlap" id="flap_user_details"> - <property name="width-request">300</property> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="reveal-flap">False</property> - <property name="fold-policy">always</property> - <child type="content"> - <object class="GtkBox"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="orientation">vertical</property> - <child> - <object class="GtkScrolledWindow"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="shadow-type">in</property> - <child> - <object class="GtkViewport"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <child> - <object class="GtkListBox" id="chats_listbox"> - <property name="visible">True</property> - <property name="can-focus">False</property> - </object> - </child> - </object> - </child> - </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="pack-type">end</property> - <property name="position">0</property> - </packing> - </child> - </object> - </child> - <child type="separator"> - <object class="GtkSeparator"> - <property name="visible">True</property> - <property name="can-focus">False</property> - </object> - </child> - <child type="flap"> - <object class="GtkBox"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="orientation">vertical</property> - <child> - <object class="GtkBox"> - <property name="width-request">240</property> - <property name="visible">True</property> - <property name="can-focus">False</property> - <child> - <object class="GtkBox"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="border-width">16</property> - <property name="orientation">vertical</property> - <property name="spacing">16</property> - <child> - <object class="GtkButton" id="profile_button"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="receives-default">True</property> - <property name="halign">start</property> - <property name="relief">none</property> - <child> - <object class="HdyAvatar" id="profile_avatar"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="size">64</property> - </object> - </child> - <style> - <class name="profile-button"/> - </style> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkBox"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="orientation">vertical</property> - <property name="spacing">2</property> - <child> - <object class="GtkLabel" id="profile_label"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="ellipsize">end</property> - <property name="xalign">0</property> - <attributes> - <attribute name="weight" value="bold"/> - </attributes> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="profile_key_label"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="ellipsize">end</property> - <property name="max-width-chars">30</property> - <property name="xalign">0</property> - <style> - <class name="profile-key"/> - </style> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkBox"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="border-width">8</property> - <property name="orientation">vertical</property> - <property name="spacing">8</property> - <property name="homogeneous">True</property> - <child> - <object class="GtkButton" id="hide_user_details_button"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">True</property> - <property name="relief">none</property> - <child> - <object class="GtkImage"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="icon-name">go-previous-symbolic</property> - </object> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkButton" id="lobby_button"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">True</property> - <property name="halign">center</property> - <property name="valign">center</property> - <property name="relief">none</property> - <child> - <object class="GtkImage"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="icon-name">dialog-password-symbolic</property> - </object> - </child> - </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - <child> - <object class="GtkButton" id="account_details_button"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">True</property> - <property name="halign">center</property> - <property name="valign">center</property> - <property name="relief">none</property> - <child> - <object class="GtkImage" id="account_details_symbol"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="icon-name">go-down-symbolic</property> - </object> - </child> - </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">2</property> - </packing> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="pack-type">end</property> - <property name="position">1</property> - </packing> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkScrolledWindow"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <child> - <object class="GtkViewport"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="shadow-type">none</property> - <child> - <object class="GtkBox"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="orientation">vertical</property> - <child> - <object class="GtkRevealer" id="account_details_revealer"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <child> - <object class="GtkScrolledWindow"> - <property name="height-request">250</property> - <property name="visible">True</property> - <property name="can-focus">True</property> - <child> - <object class="GtkViewport"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <child> - <object class="GtkListBox" id="accounts_listbox"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <child> - <object class="GtkListBoxRow" id="add_account_listbox_row"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="selectable">False</property> - <child> - <object class="GtkBox"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="spacing">8</property> - <child> - <object class="GtkImage"> - <property name="width-request">36</property> - <property name="height-request">36</property> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="icon-name">list-add-symbolic</property> - <property name="icon_size">3</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label" translatable="yes">Add Account</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - <style> - <class name="account-entry"/> - </style> - </object> - </child> - </object> - </child> - </object> - </child> - </object> - </child> - </object> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkBox"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="orientation">vertical</property> - <child> - <object class="GtkButton" id="new_contact_button"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">True</property> - <property name="relief">none</property> - <property name="always-show-image">True</property> - <child> - <object class="GtkBox"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="border-width">4</property> - <property name="spacing">16</property> - <child> - <object class="GtkImage"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="icon-name">contact-new-symbolic</property> - <property name="icon_size">3</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="new-contact-label"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label" translatable="yes">New Contact</property> - <property name="xalign">0</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - </object> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkButton" id="new_group_button"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">True</property> - <property name="relief">none</property> - <property name="always-show-image">True</property> - <child> - <object class="GtkBox"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="border-width">4</property> - <property name="spacing">16</property> - <child> - <object class="GtkImage"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="icon-name">system-users-symbolic</property> - <property name="icon_size">3</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="new-group-label"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label" translatable="yes">New Group</property> - <property name="xalign">0</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - </object> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - <child> - <object class="GtkButton" id="new_platform_button"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">True</property> - <property name="relief">none</property> - <property name="always-show-image">True</property> - <child> - <object class="GtkBox"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="border-width">4</property> - <property name="spacing">16</property> - <child> - <object class="GtkImage"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="icon-name">network-wired-symbolic</property> - <property name="icon_size">3</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="new-platform-label"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label" translatable="yes">New Platform</property> - <property name="xalign">0</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - </object> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">2</property> - </packing> - </child> - <child> - <object class="GtkButton" id="contacts_button"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">True</property> - <property name="relief">none</property> - <property name="always-show-image">True</property> - <child> - <object class="GtkBox"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="border-width">4</property> - <property name="spacing">16</property> - <child> - <object class="GtkImage"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="icon-name">avatar-default-symbolic</property> - <property name="icon_size">3</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="contacts-label"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label" translatable="yes">Contacts</property> - <property name="xalign">0</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - </object> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">3</property> - </packing> - </child> - <child> - <object class="GtkButton" id="settings_button"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">True</property> - <property name="relief">none</property> - <property name="always-show-image">True</property> - <child> - <object class="GtkBox"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="border-width">4</property> - <property name="spacing">16</property> - <child> - <object class="GtkImage"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="icon-name">emblem-system-symbolic</property> - <property name="icon_size">3</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="settings-label"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label" translatable="yes">Settings</property> - <property name="xalign">0</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - </object> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">4</property> - </packing> - </child> - <child> - <object class="GtkButton" id="about_button"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">True</property> - <property name="relief">none</property> - <child> - <object class="GtkBox"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="border-width">4</property> - <property name="spacing">16</property> - <child> - <object class="GtkImage"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="icon-name">help-about-symbolic</property> - <property name="icon_size">3</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="about-label"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label" translatable="yes">About</property> - <property name="xalign">0</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - </object> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">5</property> - </packing> - </child> - </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - <child> - <object class="GtkBox"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="border-width">16</property> - <property name="orientation">vertical</property> - <child> - <object class="GtkLabel" id="application-name-label"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <attributes> - <attribute name="weight" value="bold"/> - </attributes> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="application-version-label"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="pack-type">end</property> - <property name="position">2</property> - </packing> - </child> - </object> - </child> - </object> - </child> - </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - <style> - <class name="flap-background"/> - </style> - </object> - </child> - </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="pack-type">end</property> - <property name="position">0</property> - </packing> - </child> - </object> - <packing> - <property name="name">nav</property> - </packing> - </child> - <child> - <object class="GtkBox" id="main_box"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="hexpand">True</property> - <property name="orientation">vertical</property> - <child> - <object class="GtkStack" id="chats_stack"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <child> - <object class="GtkBox" id="no_chat_box"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="orientation">vertical</property> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">center</property> - <property name="valign">center</property> - <property name="label" translatable="yes">Select a chat to start messaging...</property> - <style> - <class name="message-box"/> - <class name="status"/> - </style> - </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - </object> - </child> - </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="pack-type">end</property> - <property name="position">0</property> - </packing> - </child> - </object> - <packing> - <property name="name">main</property> - </packing> - </child> - </object> - </child> - <child type="titlebar"> - <object class="HdyTitleBar"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <child> - <object class="HdyLeaflet" id="leaflet_title"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="hhomogeneous-folded">False</property> - <property name="vhomogeneous-folded">False</property> - <child> - <object class="GtkHeaderBar" id="nav_bar"> - <property name="visible">True</property> - <property name="sensitive">False</property> - <property name="can-focus">False</property> - <property name="spacing">4</property> - <child type="title"> - <object class="GtkStack" id="chats_title_stack"> - <property name="width-request">204</property> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="transition-type">slide-down</property> - <child> - <object class="GtkBox" id="title_box"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="hexpand">True</property> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label" translatable="yes">GNUnet Messenger</property> - <property name="xalign">0</property> - <attributes> - <attribute name="weight" value="bold"/> - </attributes> - </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <style> - <class name="header-box"/> - </style> - </object> - <packing> - <property name="name">title_page</property> - </packing> - </child> - <child> - <object class="GtkBox" id="search_box"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="hexpand">True</property> - <child> - <object class="GtkSearchEntry" id="chats_search_entry"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="primary-icon-name">edit-find-symbolic</property> - <property name="primary-icon-activatable">False</property> - <property name="primary-icon-sensitive">False</property> - </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <style> - <class name="header-box"/> - </style> - </object> - <packing> - <property name="name">search_page</property> - <property name="position">1</property> - </packing> - </child> - </object> - </child> - <child> - <object class="GtkButton" id="user_details_button"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">True</property> - <property name="relief">none</property> - <child> - <object class="GtkImage"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="icon-name">open-menu-symbolic</property> - </object> - </child> - </object> - </child> - <child> - <object class="GtkButton" id="chats_search_button"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">True</property> - <property name="relief">none</property> - <child> - <object class="GtkStack" id="search_icon_stack"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <child> - <object class="GtkImage"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="icon-name">edit-find-symbolic</property> - </object> - <packing> - <property name="name">title_page</property> - </packing> - </child> - <child> - <object class="GtkImage"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="icon-name">window-close-symbolic</property> - </object> - <packing> - <property name="name">search_page</property> - <property name="position">1</property> - </packing> - </child> - </object> - </child> - </object> - <packing> - <property name="pack-type">end</property> - <property name="position">1</property> - </packing> - </child> - </object> - <packing> - <property name="name">nav</property> - </packing> - </child> - <child> - <object class="GtkHeaderBar" id="main_bar"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="hexpand">True</property> - <property name="spacing">0</property> - <child type="title"> - <object class="GtkStack" id="chat_title_stack"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="hexpand">True</property> - <property name="transition-type">slide-down</property> - <child> - <placeholder/> - </child> - </object> - </child> - </object> - <packing> - <property name="name">main</property> - </packing> - </child> - </object> - </child> - </object> - </child> - </object> - <object class="GtkSizeGroup"> - <property name="mode">vertical</property> - <widgets> - <widget name="nav_bar"/> - <widget name="main_bar"/> - </widgets> - </object> - <object class="GtkSizeGroup"> - <property name="mode">vertical</property> - <widgets> - <widget name="nav_box"/> - <widget name="main_box"/> - </widgets> - </object> - <object class="GtkSizeGroup"> - <widgets> - <widget name="new-contact-label"/> - <widget name="new-group-label"/> - <widget name="new-platform-label"/> - <widget name="contacts-label"/> - <widget name="settings-label"/> - </widgets> - </object> - <object class="GtkSizeGroup"> - <widgets> - <widget name="nav_box"/> - <widget name="nav_bar"/> - </widgets> - </object> - <object class="GtkSizeGroup"> - <widgets> - <widget name="main_box"/> - <widget name="main_bar"/> - </widgets> - </object> -</interface> diff --git a/resources/ui/messenger.ui b/resources/ui/messenger.ui @@ -784,10 +784,11 @@ Author: Tobias Frisch <property name="hhomogeneous-folded">False</property> <property name="vhomogeneous-folded">False</property> <child> - <object class="GtkHeaderBar" id="nav_bar"> + <object class="HdyHeaderBar" id="nav_bar"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="spacing">4</property> + <property name="show-close-button">True</property> <child type="title"> <object class="GtkStack" id="chats_title_stack"> <property name="width-request">204</property> @@ -913,11 +914,13 @@ Author: Tobias Frisch </packing> </child> <child> - <object class="GtkHeaderBar" id="main_bar"> + <object class="HdyHeaderBar" id="main_bar"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="hexpand">True</property> - <property name="spacing">0</property> + <property name="spacing">4</property> + <property name="show-close-button">True</property> + <property name="interpolate-size">True</property> <child type="title"> <object class="GtkStack" id="chat_title_stack"> <property name="visible">True</property> @@ -974,4 +977,10 @@ Author: Tobias Frisch <widget name="main_bar"/> </widgets> </object> + <object class="HdyHeaderGroup"> + <headerbars> + <headerbar name="nav_bar"/> + <headerbar name="main_bar"/> + </headerbars> + </object> </interface> diff --git a/src/event.c b/src/event.c @@ -363,6 +363,13 @@ event_update_profile(MESSENGER_Application *app) ui_label_set_text(ui->profile_key_label, key); gtk_stack_set_visible_child(ui->chats_stack, ui->no_chat_box); + + GList *children = gtk_container_get_children(GTK_CONTAINER(ui->leaflet_chat)); + + if (children) { + hdy_leaflet_set_visible_child(ui->leaflet_chat, GTK_WIDGET(children->data)); + g_list_free(children); + } GNUNET_CHAT_iterate_contacts(chat->handle, _iterate_profile_contacts, app); GNUNET_CHAT_iterate_groups(chat->handle, _iterate_profile_groups, app); diff --git a/src/ui/messenger.c b/src/ui/messenger.c @@ -468,11 +468,11 @@ ui_messenger_init(MESSENGER_Application *app, gtk_builder_get_object(handle->builder, "flap_user_details") ); - handle->nav_bar = GTK_HEADER_BAR( + handle->nav_bar = HDY_HEADER_BAR( gtk_builder_get_object(handle->builder, "nav_bar") ); - handle->main_bar = GTK_HEADER_BAR( + handle->main_bar = HDY_HEADER_BAR( gtk_builder_get_object(handle->builder, "main_bar") ); diff --git a/src/ui/messenger.h b/src/ui/messenger.h @@ -48,8 +48,8 @@ typedef struct UI_MESSENGER_Handle HdyLeaflet *leaflet_chat; HdyFlap *flap_user_details; - GtkHeaderBar *nav_bar; - GtkHeaderBar *main_bar; + HdyHeaderBar *nav_bar; + HdyHeaderBar *main_bar; GtkButton *profile_button; HdyAvatar *profile_avatar;