[gnome-todo] sidebar: Measure size in text width



commit fb549fdd66c1aa0b534c50582eaefaee68b51e3c
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Sat May 2 09:33:49 2020 -0300

    sidebar: Measure size in text width

 src/plugins/task-lists-workspace/gtd-sidebar.c  | 7 +++++--
 src/plugins/task-lists-workspace/gtd-sidebar.h  | 2 +-
 src/plugins/task-lists-workspace/gtd-sidebar.ui | 8 +++++++-
 3 files changed, 13 insertions(+), 4 deletions(-)
---
diff --git a/src/plugins/task-lists-workspace/gtd-sidebar.c b/src/plugins/task-lists-workspace/gtd-sidebar.c
index ce69dc5..94e336b 100644
--- a/src/plugins/task-lists-workspace/gtd-sidebar.c
+++ b/src/plugins/task-lists-workspace/gtd-sidebar.c
@@ -30,6 +30,7 @@
 #include "gtd-sidebar-provider-row.h"
 #include "gtd-task-list.h"
 #include "gtd-task-list-panel.h"
+#include "gtd-text-width-layout.h"
 #include "gtd-utils.h"
 #include "notification/gtd-notification.h"
 
@@ -37,7 +38,7 @@
 
 struct _GtdSidebar
 {
-  GtkBox              parent;
+  GtkBin              parent;
 
   GtkListBox         *archive_listbox;
   GtkListBoxRow      *archive_row;
@@ -50,7 +51,7 @@ struct _GtdSidebar
   GSimpleActionGroup *action_group;
 };
 
-G_DEFINE_TYPE (GtdSidebar, gtd_sidebar, GTK_TYPE_BOX)
+G_DEFINE_TYPE (GtdSidebar, gtd_sidebar, GTK_TYPE_BIN)
 
 
 /*
@@ -804,6 +805,8 @@ gtd_sidebar_class_init (GtdSidebarClass *klass)
 
   object_class->constructed = gtd_sidebar_constructed;
 
+  g_type_ensure (GTD_TYPE_TEXT_WIDTH_LAYOUT);
+
   gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/todo/plugins/task-lists-workspace/gtd-sidebar.ui");
 
   gtk_widget_class_bind_template_child (widget_class, GtdSidebar, archive_listbox);
diff --git a/src/plugins/task-lists-workspace/gtd-sidebar.h b/src/plugins/task-lists-workspace/gtd-sidebar.h
index 581bdee..f706674 100644
--- a/src/plugins/task-lists-workspace/gtd-sidebar.h
+++ b/src/plugins/task-lists-workspace/gtd-sidebar.h
@@ -28,7 +28,7 @@ G_BEGIN_DECLS
 
 #define GTD_TYPE_SIDEBAR (gtd_sidebar_get_type())
 
-G_DECLARE_FINAL_TYPE (GtdSidebar, gtd_sidebar, GTD, SIDEBAR, GtkBox)
+G_DECLARE_FINAL_TYPE (GtdSidebar, gtd_sidebar, GTD, SIDEBAR, GtkBin)
 
 void                 gtd_sidebar_set_panel_stack                 (GtdSidebar         *self,
                                                                   GtkStack           *stack);
diff --git a/src/plugins/task-lists-workspace/gtd-sidebar.ui b/src/plugins/task-lists-workspace/gtd-sidebar.ui
index d9be162..1e2774b 100644
--- a/src/plugins/task-lists-workspace/gtd-sidebar.ui
+++ b/src/plugins/task-lists-workspace/gtd-sidebar.ui
@@ -1,7 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
-  <template class="GtdSidebar" parent="GtkBox">
+  <template class="GtdSidebar" parent="GtkBin">
     <property name="hexpand">0</property>
+    <property name="layout-manager">
+      <object class="GtdTextWidthLayout">
+        <property name="width-chars">35</property>
+        <property name="max-width-chars">35</property>
+      </object>
+    </property>
     <style>
       <class name="sidebar"/>
     </style>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]