client: Rework headerbar buttons to fit small screens

- Rework components-conversation-actions.ui
- Merge copy/move popovers
- Populate copy/move popover on the fly

Initial workaround for #1185, #1306, #1444, #1164, #1414
TODO: move to AdwBreakPoints from libadwaita
This commit is contained in:
Cédric Bellegarde 2022-12-09 16:05:35 +01:00
parent 548e6d6895
commit 776b04ec9f
6 changed files with 153 additions and 239 deletions

View file

@ -79,7 +79,11 @@
</object>
</child>
<child>
<object class="GtkBox" id="mark_copy_move_buttons">
<object class="GtkImage" id="archive_image">
<property name="visible">True</property>
<property name="icon_name">mail-archive-symbolic</property>
</object>
<object class="GtkBox" id="action_buttons">
<property name="visible">True</property>
<child>
<object class="GtkMenuButton" id="copy_message_button">
@ -89,25 +93,6 @@
<property name="always_show_image">True</property>
<child>
<object class="GtkImage" id="copy_message_image">
<property name="visible">True</property>
<property name="icon_name">tag-symbolic</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkMenuButton" id="move_message_button">
<property name="visible">True</property>
<property name="focus_on_click">False</property>
<property name="receives_default">False</property>
<property name="always_show_image">True</property>
<child>
<object class="GtkImage" id="move_message_image">
<property name="visible">True</property>
<property name="icon_name">folder-symbolic</property>
</object>
@ -116,7 +101,40 @@
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="archive_button">
<property name="visible">True</property>
<property name="focus_on_click">False</property>
<property name="receives_default">False</property>
<property name="action_name">win.archive-conversation</property>
<property name="image">archive_image</property>
<property name="use_underline">True</property>
<property name="always_show_image">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<object class="GtkButton" id="trash_delete_button">
<property name="visible">True</property>
<property name="focus_on_click">False</property>
<property name="receives_default">False</property>
<property name="action_name">win.trash-conversation</property>
<property name="always_show_image">True</property>
<child>
<object class="GtkImage" id="trash_delete_image">
<property name="visible">True</property>
<property name="icon_name">user-trash-symbolic</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
@ -138,57 +156,6 @@
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
</packing>
</child>
<style>
<class name="raised"/>
<class name="linked"/>
</style>
</object>
</child>
<child>
<object class="GtkImage" id="archive_image">
<property name="visible">True</property>
<property name="icon_name">mail-archive-symbolic</property>
</object>
<object class="GtkBox" id="archive_trash_delete_buttons">
<property name="visible">True</property>
<child>
<object class="GtkButton" id="archive_button">
<property name="label" translatable="yes">_Archive</property>
<property name="visible">True</property>
<property name="focus_on_click">False</property>
<property name="receives_default">False</property>
<property name="action_name">win.archive-conversation</property>
<property name="image">archive_image</property>
<property name="use_underline">True</property>
<property name="always_show_image">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="trash_delete_button">
<property name="visible">True</property>
<property name="focus_on_click">False</property>
<property name="receives_default">False</property>
<property name="action_name">win.trash-conversation</property>
<property name="always_show_image">True</property>
<child>
<object class="GtkImage" id="trash_delete_image">
<property name="visible">True</property>
<property name="icon_name">user-trash-symbolic</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
<style>

View file

@ -3,6 +3,8 @@
<interface>
<requires lib="gtk+" version="3.14"/>
<template class="FolderPopover" parent="GtkPopover">
<signal name="map" handler="on_map" swapped="no"/>
<signal name="unmap" handler="on_unmap" swapped="no"/>
<child>
<object class="GtkBox" id="container">
<property name="visible">True</property>
@ -52,6 +54,24 @@
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="hexpand">True</property>
<property name="halign">start</property>
<property name="label">Move message to folder</property>
</object>
</child>
<child>
<object class="GtkSwitch" id="move_switch">
<property name="visible">True</property>
</object>
</child>
</object>
</child>
</object>
</child>
</template>