[geary/gnumdk/stable] components: Remove ComponentsReflowBox and replace it with pure GtkFlowBox
- From: Cédric Bellegarde <cbellegarde src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [geary/gnumdk/stable] components: Remove ComponentsReflowBox and replace it with pure GtkFlowBox
- Date: Wed, 20 Jul 2022 15:23:38 +0000 (UTC)
commit d822dfc564f1b6b516205241b8672f43d13da4e9
Author: Cédric Bellegarde <cedric bellegarde adishatz org>
Date: Wed Jul 20 15:51:01 2022 +0200
components: Remove ComponentsReflowBox and replace it with pure GtkFlowBox
- Remove ComponentsReflowBox
- Rework composer UI file
src/client/components/components-reflow-box.c | 496 ----------------------
src/client/composer/composer-editor.vala | 4 -
src/client/composer/composer-widget.vala | 1 -
src/client/meson.build | 1 -
ui/composer-editor.ui | 570 ++++++++++++++------------
5 files changed, 300 insertions(+), 772 deletions(-)
---
diff --git a/src/client/composer/composer-editor.vala b/src/client/composer/composer-editor.vala
index c5d3e95d5..9242139cb 100644
--- a/src/client/composer/composer-editor.vala
+++ b/src/client/composer/composer-editor.vala
@@ -6,9 +6,6 @@
* (version 2.1 or later). See the COPYING file in this distribution.
*/
-[CCode (cname = "components_reflow_box_get_type")]
-private extern Type components_reflow_box_get_type();
-
/**
* A widget for editing the body of an email message.
*/
@@ -155,7 +152,6 @@ public class Composer.Editor : Gtk.Grid, Geary.BaseInterface {
internal Editor(Application.Configuration config) {
base_ref();
- components_reflow_box_get_type();
this.config = config;
Gtk.Builder builder = new Gtk.Builder.from_resource(
diff --git a/src/client/composer/composer-widget.vala b/src/client/composer/composer-widget.vala
index 412c8a3b0..1aeb0528e 100644
--- a/src/client/composer/composer-widget.vala
+++ b/src/client/composer/composer-widget.vala
@@ -455,7 +455,6 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
Application.Configuration config,
Application.AccountContext initial_account,
Geary.Folder? save_to = null) {
- components_reflow_box_get_type();
base_ref();
this.application = application;
this.config = config;
diff --git a/src/client/meson.build b/src/client/meson.build
index eeabedbb9..3382f0788 100644
--- a/src/client/meson.build
+++ b/src/client/meson.build
@@ -62,7 +62,6 @@ client_vala_sources = files(
'components/components-placeholder-pane.vala',
'components/components-preferences-window.vala',
'components/components-problem-report-info-bar.vala',
- 'components/components-reflow-box.c',
'components/components-search-bar.vala',
'components/components-validator.vala',
'components/components-web-view.vala',
diff --git a/ui/composer-editor.ui b/ui/composer-editor.ui
index 9be15a3e7..8576f386c 100644
--- a/ui/composer-editor.ui
+++ b/ui/composer-editor.ui
@@ -73,374 +73,404 @@
<object class="GtkActionBar">
<property name="visible">True</property>
<child>
- <object class="ComponentsReflowBox" id="toolbar_box">
+ <object class="GtkFlowBox" id="toolbar_box">
<property name="visible">True</property>
- <property name="spacing">6</property>
- <property name="row_spacing">6</property>
<property name="hexpand">True</property>
+ <property name="max-children-per-line">100</property>
+ <property name="selection-mode">none</property>
<child>
- <object class="GtkBox" id="font_style_buttons">
+ <object class="GtkBox">
<property name="visible">True</property>
+ <property name="spacing">10</property>
<child>
- <object class="GtkToggleButton" id="bold_button">
+ <object class="GtkBox" id="font_style_buttons">
<property name="visible">True</property>
- <property name="focus_on_click">False</property>
- <property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Bold text</property>
- <property name="action_name">edt.bold</property>
- <property name="always_show_image">True</property>
<child>
- <object class="GtkImage" id="bold_image">
+ <object class="GtkToggleButton" id="bold_button">
<property name="visible">True</property>
- <property name="pixel_size">16</property>
- <property name="icon_name">format-text-bold-symbolic</property>
+ <property name="focus_on_click">False</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Bold text</property>
+ <property name="action_name">edt.bold</property>
+ <property name="always_show_image">True</property>
+ <child>
+ <object class="GtkImage" id="bold_image">
+ <property name="visible">True</property>
+ <property name="pixel_size">16</property>
+ <property name="icon_name">format-text-bold-symbolic</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</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="GtkToggleButton" id="italics_button">
- <property name="visible">True</property>
- <property name="focus_on_click">False</property>
- <property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Italic text</property>
- <property name="action_name">edt.italic</property>
- <property name="always_show_image">True</property>
<child>
- <object class="GtkImage" id="italics_image">
+ <object class="GtkToggleButton" id="italics_button">
<property name="visible">True</property>
- <property name="pixel_size">16</property>
- <property name="icon_name">format-text-italic-symbolic</property>
+ <property name="focus_on_click">False</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Italic text</property>
+ <property name="action_name">edt.italic</property>
+ <property name="always_show_image">True</property>
+ <child>
+ <object class="GtkImage" id="italics_image">
+ <property name="visible">True</property>
+ <property name="pixel_size">16</property>
+ <property name="icon_name">format-text-italic-symbolic</property>
+ </object>
+ </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">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkToggleButton" id="underline_button">
- <property name="visible">True</property>
- <property name="focus_on_click">False</property>
- <property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Underline text</property>
- <property name="action_name">edt.underline</property>
- <property name="always_show_image">True</property>
<child>
- <object class="GtkImage" id="underline_image">
+ <object class="GtkToggleButton" id="underline_button">
<property name="visible">True</property>
- <property name="pixel_size">16</property>
- <property name="icon_name">format-text-underline-symbolic</property>
+ <property name="focus_on_click">False</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Underline text</property>
+ <property name="action_name">edt.underline</property>
+ <property name="always_show_image">True</property>
+ <child>
+ <object class="GtkImage" id="underline_image">
+ <property name="visible">True</property>
+ <property name="pixel_size">16</property>
+ <property name="icon_name">format-text-underline-symbolic</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="expand">False</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="position">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkToggleButton" id="strikethrough_button">
- <property name="visible">True</property>
- <property name="focus_on_click">False</property>
- <property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Strikethrough text</property>
- <property name="action_name">edt.strikethrough</property>
- <property name="always_show_image">True</property>
<child>
- <object class="GtkImage" id="strikethrough_image">
+ <object class="GtkToggleButton" id="strikethrough_button">
<property name="visible">True</property>
- <property name="pixel_size">16</property>
- <property name="icon_name">format-text-strikethrough-symbolic</property>
+ <property name="focus_on_click">False</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Strikethrough
text</property>
+ <property name="action_name">edt.strikethrough</property>
+ <property name="always_show_image">True</property>
+ <child>
+ <object class="GtkImage" id="strikethrough_image">
+ <property name="visible">True</property>
+ <property name="pixel_size">16</property>
+ <property name="icon_name">format-text-strikethrough-symbolic</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">3</property>
- </packing>
- </child>
- <style>
- <class name="linked"/>
- </style>
- </object>
- </child>
- <child>
- <object class="GtkBox" id="list_buttons">
- <property name="visible">True</property>
- <child>
- <object class="GtkButton" id="ulist_button">
- <property name="visible">True</property>
- <property name="focus_on_click">False</property>
- <property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Insert bulleted list</property>
- <property name="action_name">edt.ulist</property>
- <property name="always_show_image">True</property>
<child>
- <object class="GtkImage" id="ulist_image">
+ <object class="GtkButton">
<property name="visible">True</property>
- <property name="pixel_size">16</property>
- <property name="icon_name">format-unordered-list-symbolic</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">edt.color</property>
+ <property name="tooltip_text" translatable="yes">Change font color</property>
+ <child>
+ <object class="GtkImage" id="font_color_icon">
+ <property name="visible">True</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">4</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="GtkButton" id="olist_button">
- <property name="visible">True</property>
- <property name="focus_on_click">False</property>
- <property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Insert numbered list</property>
- <property name="action_name">edt.olist</property>
- <property name="always_show_image">True</property>
<child>
- <object class="GtkImage" id="olist_image">
+ <object class="GtkButton" id="remove_format_button">
<property name="visible">True</property>
- <property name="pixel_size">16</property>
- <property name="icon_name">format-ordered-list-symbolic</property>
+ <property name="focus_on_click">False</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Remove text
formatting</property>
+ <property name="action_name">edt.remove-format</property>
+ <property name="always_show_image">True</property>
+ <child>
+ <object class="GtkImage" id="remove_format_image">
+ <property name="visible">True</property>
+ <property name="pixel_size">16</property>
+ <property name="icon_name">format-text-remove-symbolic</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">5</property>
+ </packing>
</child>
+ <style>
+ <class name="linked"/>
+ </style>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
</child>
- <style>
- <class name="linked"/>
- </style>
- </object>
- </child>
- <child>
- <object class="GtkBox" id="indentation_buttons">
- <property name="visible">True</property>
<child>
- <object class="GtkButton" id="indent_button">
+ <object class="GtkBox" id="insert_buttons">
<property name="visible">True</property>
- <property name="focus_on_click">False</property>
- <property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Indent or quote text</property>
- <property name="action_name">edt.indent</property>
- <property name="always_show_image">True</property>
<child>
- <object class="GtkImage" id="indent_image">
+ <object class="GtkButton" id="insert_link_button">
<property name="visible">True</property>
- <property name="pixel_size">16</property>
- <property name="icon_name">format-indent-more-symbolic</property>
+ <property name="focus_on_click">False</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Insert or update text
link</property>
+ <property name="action_name">edt.insert-link</property>
+ <property name="always_show_image">True</property>
+ <child>
+ <object class="GtkImage" id="insert_link_image">
+ <property name="visible">True</property>
+ <property name="pixel_size">16</property>
+ <property name="icon_name">insert-link-symbolic</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</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="GtkButton" id="outdent_button">
- <property name="visible">True</property>
- <property name="focus_on_click">False</property>
- <property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Un-indent or unquote
text</property>
- <property name="action_name">edt.outdent</property>
- <property name="always_show_image">True</property>
<child>
- <object class="GtkImage" id="outdent_image">
+ <object class="GtkButton" id="insert_image_button">
<property name="visible">True</property>
- <property name="pixel_size">16</property>
- <property name="icon_name">format-indent-less-symbolic</property>
+ <property name="focus_on_click">False</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Insert an image</property>
+ <property name="action_name">edt.insert-image</property>
+ <property name="always_show_image">True</property>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="pixel_size">16</property>
+ <property name="icon_name">insert-image-symbolic</property>
+ </object>
+ </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">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <style>
- <class name="linked"/>
- </style>
- </object>
- </child>
- <child>
- <object class="GtkButton" id="remove_format_button">
- <property name="visible">True</property>
- <property name="focus_on_click">False</property>
- <property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Remove text formatting</property>
- <property name="action_name">edt.remove-format</property>
- <property name="always_show_image">True</property>
- <child>
- <object class="GtkImage" id="remove_format_image">
- <property name="visible">True</property>
- <property name="pixel_size">16</property>
- <property name="icon_name">format-text-remove-symbolic</property>
+ <style>
+ <class name="linked"/>
+ </style>
</object>
</child>
</object>
</child>
<child>
- <object class="GtkMenuButton" id="font_button">
+ <object class="GtkBox">
<property name="visible">True</property>
- <property name="focus_on_click">False</property>
- <property name="menu_model">font_menu</property>
- <property name="tooltip_text" translatable="yes">Change font type</property>
- <property name="direction">up</property>
+ <property name="spacing">10</property>
<child>
- <object class="GtkBox">
+ <object class="GtkBox" id="list_buttons">
<property name="visible">True</property>
- <property name="orientation">horizontal</property>
<child>
- <object class="GtkStack" id="font_button_stack">
+ <object class="GtkButton" id="ulist_button">
<property name="visible">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Insert bulleted
list</property>
+ <property name="action_name">edt.ulist</property>
+ <property name="always_show_image">True</property>
<child>
- <object class="GtkLabel">
+ <object class="GtkImage" id="ulist_image">
<property name="visible">True</property>
- <property name="label" translatable="yes">Sans Serif</property>
- <property name="halign">start</property>
+ <property name="pixel_size">16</property>
+ <property name="icon_name">format-unordered-list-symbolic</property>
</object>
- <packing>
- <property name="name">sans</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Serif</property>
- <property name="halign">start</property>
- </object>
- <packing>
- <property name="name">serif</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Fixed Width</property>
- <property name="halign">start</property>
- </object>
- <packing>
- <property name="name">monospace</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="GtkImage">
+ <object class="GtkButton" id="olist_button">
<property name="visible">True</property>
- <property name="icon-name">pan-down</property>
+ <property name="focus_on_click">False</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Insert numbered
list</property>
+ <property name="action_name">edt.olist</property>
+ <property name="always_show_image">True</property>
+ <child>
+ <object class="GtkImage" id="olist_image">
+ <property name="visible">True</property>
+ <property name="pixel_size">16</property>
+ <property name="icon_name">format-ordered-list-symbolic</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
</child>
+ <style>
+ <class name="linked"/>
+ </style>
</object>
</child>
- </object>
- </child>
- <child>
- <object class="GtkButton">
- <property name="visible">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">edt.color</property>
- <property name="tooltip_text" translatable="yes">Change font color</property>
- <child>
- <object class="GtkImage" id="font_color_icon">
- <property name="visible">True</property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkMenuButton" id="font_size_button">
- <property name="visible">True</property>
- <property name="focus_on_click">False</property>
- <property name="menu_model">font_size_menu</property>
- <property name="tooltip_text" translatable="yes">Change font size</property>
- <property name="direction">up</property>
<child>
- <object class="GtkBox">
+ <object class="GtkBox" id="indentation_buttons">
<property name="visible">True</property>
- <property name="orientation">horizontal</property>
<child>
- <object class="GtkImage">
+ <object class="GtkButton" id="indent_button">
<property name="visible">True</property>
- <property name="icon-name">font-size-symbolic</property>
+ <property name="focus_on_click">False</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Indent or quote
text</property>
+ <property name="action_name">edt.indent</property>
+ <property name="always_show_image">True</property>
+ <child>
+ <object class="GtkImage" id="indent_image">
+ <property name="visible">True</property>
+ <property name="pixel_size">16</property>
+ <property name="icon_name">format-indent-more-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="GtkImage">
+ <object class="GtkButton" id="outdent_button">
<property name="visible">True</property>
- <property name="icon-name">pan-down</property>
+ <property name="focus_on_click">False</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Un-indent or unquote
text</property>
+ <property name="action_name">edt.outdent</property>
+ <property name="always_show_image">True</property>
+ <child>
+ <object class="GtkImage" id="outdent_image">
+ <property name="visible">True</property>
+ <property name="pixel_size">16</property>
+ <property name="icon_name">format-indent-less-symbolic</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
</child>
+ <style>
+ <class name="linked"/>
+ </style>
</object>
</child>
</object>
</child>
<child>
- <object class="GtkBox" id="insert_buttons">
+ <object class="GtkBox">
<property name="visible">True</property>
+ <property name="spacing">10</property>
<child>
- <object class="GtkButton" id="insert_link_button">
+ <object class="GtkMenuButton" id="font_button">
<property name="visible">True</property>
<property name="focus_on_click">False</property>
- <property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Insert or update text
link</property>
- <property name="action_name">edt.insert-link</property>
- <property name="always_show_image">True</property>
+ <property name="menu_model">font_menu</property>
+ <property name="tooltip_text" translatable="yes">Change font type</property>
+ <property name="direction">up</property>
+ <property name="halign">start</property>
<child>
- <object class="GtkImage" id="insert_link_image">
+ <object class="GtkBox">
<property name="visible">True</property>
- <property name="pixel_size">16</property>
- <property name="icon_name">insert-link-symbolic</property>
+ <property name="orientation">horizontal</property>
+ <child>
+ <object class="GtkStack" id="font_button_stack">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Sans Serif</property>
+ <property name="halign">start</property>
+ </object>
+ <packing>
+ <property name="name">sans</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Serif</property>
+ <property name="halign">start</property>
+ </object>
+ <packing>
+ <property name="name">serif</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Fixed Width</property>
+ <property name="halign">start</property>
+ </object>
+ <packing>
+ <property name="name">monospace</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">pan-down</property>
+ </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="GtkButton" id="insert_image_button">
+ <object class="GtkMenuButton" id="font_size_button">
<property name="visible">True</property>
<property name="focus_on_click">False</property>
- <property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Insert an image</property>
- <property name="action_name">edt.insert-image</property>
- <property name="always_show_image">True</property>
+ <property name="menu_model">font_size_menu</property>
+ <property name="tooltip_text" translatable="yes">Change font size</property>
+ <property name="direction">up</property>
+ <property name="halign">start</property>
<child>
- <object class="GtkImage">
+ <object class="GtkBox">
<property name="visible">True</property>
- <property name="pixel_size">16</property>
- <property name="icon_name">insert-image-symbolic</property>
+ <property name="orientation">horizontal</property>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">font-size-symbolic</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">pan-down</property>
+ </object>
+ </child>
</object>
</child>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
</child>
- <style>
- <class name="linked"/>
- </style>
</object>
</child>
</object>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]