[gnome-todo] task-list-panel: Fix panel popover
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-todo] task-list-panel: Fix panel popover
- Date: Thu, 2 Apr 2020 19:34:11 +0000 (UTC)
commit dfbe18537b13ac8408e2e2ec8d2aac941cbcde52
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Thu Apr 2 16:33:39 2020 -0300
task-list-panel: Fix panel popover
src/gtd-task-list-panel.c | 12 +++-
src/gtd-task-list-panel.ui | 160 +++++++++++++++++++++++++--------------------
2 files changed, 99 insertions(+), 73 deletions(-)
---
diff --git a/src/gtd-task-list-panel.c b/src/gtd-task-list-panel.c
index 1590411..4fd5e2a 100644
--- a/src/gtd-task-list-panel.c
+++ b/src/gtd-task-list-panel.c
@@ -1,6 +1,6 @@
/* gtd-task-list-panel.c
*
- * Copyright 2018 Georges Basile Stavracas Neto <georges stavracas gmail com>
+ * Copyright 2018-2020 Georges Basile Stavracas Neto <georges stavracas gmail com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -39,6 +39,7 @@ struct _GtdTaskListPanel
GtkButton *archive_button;
GtkFlowBox *colors_flowbox;
GtkPopover *popover;
+ GtkStack *popover_stack;
GtkWidget *rename_button;
GtkEditable *rename_entry;
GtdTaskListView *task_list_view;
@@ -278,6 +279,13 @@ on_delete_button_clicked_cb (GtkButton *button,
g_signal_emit (self, signals[LIST_DELETED], 0, list);
}
+static void
+on_go_to_rename_page_button_clicked_cb (GtkButton *button,
+ GtdTaskListPanel *self)
+{
+ gtk_stack_set_visible_child_name (self->popover_stack, "rename");
+}
+
static void
on_popover_hidden_cb (GtkPopover *popover,
GtdTaskListPanel *self)
@@ -535,6 +543,7 @@ gtd_task_list_panel_class_init (GtdTaskListPanelClass *klass)
gtk_widget_class_bind_template_child (widget_class, GtdTaskListPanel, archive_button);
gtk_widget_class_bind_template_child (widget_class, GtdTaskListPanel, colors_flowbox);
gtk_widget_class_bind_template_child (widget_class, GtdTaskListPanel, popover);
+ gtk_widget_class_bind_template_child (widget_class, GtdTaskListPanel, popover_stack);
gtk_widget_class_bind_template_child (widget_class, GtdTaskListPanel, rename_button);
gtk_widget_class_bind_template_child (widget_class, GtdTaskListPanel, rename_entry);
gtk_widget_class_bind_template_child (widget_class, GtdTaskListPanel, rename_entry);
@@ -543,6 +552,7 @@ gtd_task_list_panel_class_init (GtdTaskListPanelClass *klass)
gtk_widget_class_bind_template_callback (widget_class, on_archive_button_clicked_cb);
gtk_widget_class_bind_template_callback (widget_class, on_colors_flowbox_child_activated_cb);
gtk_widget_class_bind_template_callback (widget_class, on_delete_button_clicked_cb);
+ gtk_widget_class_bind_template_callback (widget_class, on_go_to_rename_page_button_clicked_cb);
gtk_widget_class_bind_template_callback (widget_class, on_popover_hidden_cb);
gtk_widget_class_bind_template_callback (widget_class, on_rename_button_clicked_cb);
gtk_widget_class_bind_template_callback (widget_class, on_rename_entry_activated_cb);
diff --git a/src/gtd-task-list-panel.ui b/src/gtd-task-list-panel.ui
index fe9cdf2..85940ff 100644
--- a/src/gtd-task-list-panel.ui
+++ b/src/gtd-task-list-panel.ui
@@ -5,88 +5,104 @@
<object class="GtdTaskListView" id="task_list_view"/>
</child>
</template>
- <object class="GtkPopoverMenu" id="popover">
+ <object class="GtkPopover" id="popover">
<property name="visible">0</property>
<signal name="hide" handler="on_popover_hidden_cb" object="GtdTaskListPanel" swapped="no"/>
<child>
- <object class="GtkBox">
- <property name="name">main</property>
- <property name="orientation">vertical</property>
+ <object class="GtkStack" id="popover_stack">
+
+ <!-- Main Page -->
<child>
- <object class="GtkFlowBox" id="colors_flowbox">
- <property name="hexpand">true</property>
- <property name="vexpand">true</property>
- <property name="selection-mode">none</property>
- <property name="min-children-per-line">3</property>
- <property name="max-children-per-line">3</property>
- <signal name="child-activated" handler="on_colors_flowbox_child_activated_cb"
object="GtdTaskListPanel" swapped="no"/>
- </object>
- </child>
- <child>
- <object class="GtkModelButton">
- <property name="text" translatable="yes">Rename</property>
- <property name="menu-name">rename</property>
- </object>
- </child>
- <child>
- <object class="GtkModelButton">
- <property name="text" translatable="yes">Clear completed tasks…</property>
- <property name="action-name">list.clear-completed-tasks</property>
- </object>
- </child>
- <child>
- <object class="GtkSeparator"/>
- </child>
- <child>
- <object class="GtkButton" id="archive_button">
- <property name="label" translatable="yes">Archive</property>
- <signal name="clicked" handler="on_archive_button_clicked_cb" object="GtdTaskListPanel"
swapped="no"/>
- </object>
- </child>
- <child>
- <object class="GtkModelButton">
- <property name="text" translatable="yes">Delete</property>
- <signal name="clicked" handler="on_delete_button_clicked_cb" object="GtdTaskListPanel"
swapped="no"/>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkBox">
- <property name="name">rename</property>
- <property name="orientation">vertical</property>
- <property name="spacing">12</property>
- <property name="margin-top">12</property>
- <property name="margin-bottom">12</property>
- <property name="margin-start">12</property>
- <property name="margin-end">12</property>
- <child>
- <object class="GtkModelButton" id="rename_header_button">
- <property name="text" translatable="yes">Rename</property>
- <property name="menu-name">main</property>
- <property name="role">title</property>
+ <object class="GtkStackPage">
+ <property name="name">main</property>
+ <property name="child">
+ <object class="GtkBox">
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkFlowBox" id="colors_flowbox">
+ <property name="hexpand">true</property>
+ <property name="vexpand">true</property>
+ <property name="selection-mode">none</property>
+ <property name="min-children-per-line">3</property>
+ <property name="max-children-per-line">3</property>
+ <signal name="child-activated" handler="on_colors_flowbox_child_activated_cb"
object="GtdTaskListPanel" swapped="no"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkModelButton">
+ <property name="text" translatable="yes">Rename</property>
+ <signal name="clicked" handler="on_go_to_rename_page_button_clicked_cb"
object="GtdTaskListPanel" swapped="no"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkModelButton">
+ <property name="text" translatable="yes">Clear completed tasks…</property>
+ <property name="action-name">list.clear-completed-tasks</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSeparator"/>
+ </child>
+ <child>
+ <object class="GtkButton" id="archive_button">
+ <property name="label" translatable="yes">Archive</property>
+ <signal name="clicked" handler="on_archive_button_clicked_cb" object="GtdTaskListPanel"
swapped="no"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkModelButton">
+ <property name="text" translatable="yes">Delete</property>
+ <signal name="clicked" handler="on_delete_button_clicked_cb" object="GtdTaskListPanel"
swapped="no"/>
+ </object>
+ </child>
+ </object>
+ </property>
</object>
</child>
+
+ <!-- Rename Page -->
<child>
- <object class="GtkBox">
- <property name="spacing">12</property>
- <child>
- <object class="GtkEntry" id="rename_entry">
- <signal name="activate" handler="on_rename_entry_activated_cb" object="GtdTaskListPanel"
swapped="no"/>
- <signal name="notify::text" handler="on_rename_entry_text_changed_cb"
object="GtdTaskListPanel" swapped="no"/>
- </object>
- </child>
- <child>
- <object class="GtkButton" id="rename_button">
- <property name="label" translatable="yes">Rename</property>
- <signal name="clicked" handler="on_rename_button_clicked_cb" object="GtdTaskListPanel"
swapped="no"/>
- <style>
- <class name="destructive-action"/>
- </style>
+ <object class="GtkStackPage">
+ <property name="name">rename</property>
+ <property name="child">
+ <object class="GtkBox">
+ <property name="orientation">vertical</property>
+ <property name="spacing">12</property>
+ <property name="margin-top">12</property>
+ <property name="margin-bottom">12</property>
+ <property name="margin-start">12</property>
+ <property name="margin-end">12</property>
+ <child>
+ <object class="GtkModelButton" id="rename_header_button">
+ <property name="text" translatable="yes">Rename</property>
+ <property name="role">title</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkEntry" id="rename_entry">
+ <signal name="activate" handler="on_rename_entry_activated_cb"
object="GtdTaskListPanel" swapped="no"/>
+ <signal name="notify::text" handler="on_rename_entry_text_changed_cb"
object="GtdTaskListPanel" swapped="no"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="rename_button">
+ <property name="label" translatable="yes">Rename</property>
+ <signal name="clicked" handler="on_rename_button_clicked_cb"
object="GtdTaskListPanel" swapped="no"/>
+ <style>
+ <class name="destructive-action"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
</object>
- </child>
+ </property>
</object>
</child>
+
</object>
</child>
</object>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]