[gnome-todo] task-row: show priority color in a side frame
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-todo] task-row: show priority color in a side frame
- Date: Fri, 22 Sep 2017 01:54:41 +0000 (UTC)
commit 86868e2c5bc541c1ba67f177673565bbf2697a49
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Wed Sep 20 01:48:46 2017 -0300
task-row: show priority color in a side frame
So we can make sure that the color is always fully visible.
data/theme/Adwaita.css | 28 ++----
data/ui/task-row.ui | 225 ++++++++++++++++++++++++++----------------------
src/gtd-task-row.c | 10 +-
3 files changed, 136 insertions(+), 127 deletions(-)
---
diff --git a/data/theme/Adwaita.css b/data/theme/Adwaita.css
index e9d7363..dfdcf62 100644
--- a/data/theme/Adwaita.css
+++ b/data/theme/Adwaita.css
@@ -78,29 +78,19 @@ taskrow {
background-color: @transparent;
}
-taskrow.priority-low {
- background-color: alpha(#3465a4, 0.2);
+taskrow frame.priority-low {
+ background-color: #3465a4;
+ box-shadow: 0 0 2px alpha(black, 0.25);
}
-taskrow.priority-low:hover {
- background-color: alpha(#3465a4, 0.4);
+taskrow frame.priority-medium {
+ background-color: #f57900;
+ box-shadow: 0 0 2px alpha(black, 0.25);
}
-
-taskrow.priority-medium {
- background-color: alpha(#f57900, 0.2);
-}
-
-taskrow.priority-medium:hover {
- background-color: alpha(#f57900, 0.4);
-}
-
-taskrow.priority-hight {
- background-color: alpha(#cc0000, 0.2);
-}
-
-taskrow.priority-hight:hover {
- background-color: alpha(#cc0000, 0.4);
+taskrow frame.priority-hight {
+ background-color: #cc0000;
+ box-shadow: 0 0 2px alpha(black, 0.25);
}
taskrow.complete label {
diff --git a/data/ui/task-row.ui b/data/ui/task-row.ui
index cfb6718..6be225e 100644
--- a/data/ui/task-row.ui
+++ b/data/ui/task-row.ui
@@ -13,17 +13,36 @@
<property name="transition_type">slide-down</property>
<property name="transition_duration">200</property>
<child>
- <object class="GtkBox" id="task_box">
+ <object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="margin_top">2</property>
- <property name="margin_bottom">2</property>
- <property name="margin_start">18</property>
- <property name="margin_end">18</property>
- <property name="spacing">12</property>
+
+ <!-- Box with DnD margin -->
<child>
<object class="GtkBox" id="dnd_box">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
+ </object>
+ </child>
+
+ <!-- Frame with the priority color -->
+ <child>
+ <object class="GtkFrame" id="priority_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="shadow_type">none</property>
+ <property name="width_request">10</property>
+ <property name="margin_end">18</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkBox" id="task_box">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_top">2</property>
+ <property name="margin_end">18</property>
+ <property name="margin_bottom">2</property>
+ <property name="spacing">12</property>
<child>
<object class="GtkEventBox" id="dnd_event_box">
<property name="visible">True</property>
@@ -44,130 +63,130 @@
</child>
</object>
</child>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="done_check">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="halign">center</property>
- <property name="valign">center</property>
- <property name="vexpand">True</property>
- <property name="draw_indicator">True</property>
- <signal name="toggled" handler="complete_check_toggled_cb" object="GtdTaskRow" swapped="no"
/>
- </object>
- </child>
- <child>
- <object class="GtkStack" id="task_stack">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="transition_type">crossfade</property>
- <property name="hexpand">True</property>
<child>
- <object class="GtkBox" id="title_label_box">
+ <object class="GtkCheckButton" id="done_check">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="vexpand">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="complete_check_toggled_cb" object="GtdTaskRow"
swapped="no" />
+ </object>
+ </child>
+ <child>
+ <object class="GtkStack" id="task_stack">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="spacing">12</property>
+ <property name="transition_type">crossfade</property>
+ <property name="hexpand">True</property>
<child>
- <object class="GtkLabel" id="title_label">
+ <object class="GtkBox" id="title_label_box">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="label" bind-source="title_entry" bind-property="text" />
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkLabel" id="title_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" bind-source="title_entry" bind-property="text" />
+ </object>
+ </child>
+ <child>
+ <object class="GtkSpinner" id="task_loading_spinner">
+ <property name="visible">False</property>
+ <property name="can_focus">False</property>
+ <property name="active">True</property>
+ <property name="halign">start</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="name">label</property>
+ </packing>
</child>
<child>
- <object class="GtkSpinner" id="task_loading_spinner">
- <property name="visible">False</property>
- <property name="can_focus">False</property>
- <property name="active">True</property>
- <property name="halign">start</property>
+ <object class="GtkEntry" id="title_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
</object>
+ <packing>
+ <property name="name">title</property>
+ <property name="position">1</property>
+ </packing>
</child>
</object>
<packing>
- <property name="name">label</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
</packing>
</child>
<child>
- <object class="GtkEntry" id="title_entry">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
+ <object class="GtkBox" id="task_extras_box">
+ <property name="visible">False</property>
+ <property name="can_focus">False</property>
+ <property name="halign">end</property>
+ <property name="valign">center</property>
<property name="hexpand">True</property>
- </object>
- <packing>
- <property name="name">title</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- <child>
- <object class="GtkBox" id="task_extras_box">
- <property name="visible">False</property>
- <property name="can_focus">False</property>
- <property name="halign">end</property>
- <property name="valign">center</property>
- <property name="hexpand">True</property>
- <property name="spacing">6</property>
- <child>
- <object class="GtkButton" id="task_attachment_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="spacing">6</property>
<child>
- <object class="GtkImage" id="task_attachment_button_image">
+ <object class="GtkButton" id="task_attachment_button">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="icon_name">text-x-generic-symbolic</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="relief">none</property>
+ <child>
+ <object class="GtkImage" id="task_attachment_button_image">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">text-x-generic-symbolic</property>
+ </object>
+ </child>
</object>
</child>
- </object>
- </child>
- <child>
- <object class="GtkButton" id="task_alarm_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" id="task_alarm_button_image">
+ <object class="GtkButton" id="task_alarm_button">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="icon_name">alarm-symbolic</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="relief">none</property>
+ <child>
+ <object class="GtkImage" id="task_alarm_button_image">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">alarm-symbolic</property>
+ </object>
+ </child>
</object>
</child>
</object>
</child>
- </object>
- </child>
- <child>
- <object class="GtkLabel" id="task_date_label">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="margin-end">6</property>
- <style>
- <class name="dim-label"/>
- </style>
- </object>
- </child>
- <child>
- <object class="GtkLabel" id="task_list_label">
- <property name="visible">False</property>
- <property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="max_width_chars">18</property>
- <property name="ellipsize">middle</property>
- <style>
- <class name="dim-label"/>
- </style>
+ <child>
+ <object class="GtkLabel" id="task_date_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="margin-end">6</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="task_list_label">
+ <property name="visible">False</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="max_width_chars">18</property>
+ <property name="ellipsize">middle</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ </child>
</object>
</child>
</object>
diff --git a/src/gtd-task-row.c b/src/gtd-task-row.c
index c5251e4..77d5c09 100644
--- a/src/gtd-task-row.c
+++ b/src/gtd-task-row.c
@@ -32,8 +32,8 @@ struct _GtdTaskRow
/*<private>*/
GtkRevealer *revealer;
- /* new task widgets */
- GtkStack *done_check;
+ GtkWidget *done_check;
+ GtkWidget *priority_frame;
/* task widgets */
GtkEntry *title_entry;
@@ -224,9 +224,7 @@ gtd_task_row__priority_changed_cb (GtdTaskRow *row,
GtkStyleContext *context;
gint priority;
- g_return_if_fail (GTD_IS_TASK_ROW (row));
-
- context = gtk_widget_get_style_context (GTK_WIDGET (row));
+ context = gtk_widget_get_style_context (row->priority_frame);
priority = gtd_task_get_priority (GTD_TASK (object));
/* remove all styles */
@@ -583,6 +581,7 @@ gtd_task_row_class_init (GtdTaskRowClass *klass)
gtk_widget_class_bind_template_child (widget_class, GtdTaskRow, dnd_event_box);
gtk_widget_class_bind_template_child (widget_class, GtdTaskRow, dnd_icon);
gtk_widget_class_bind_template_child (widget_class, GtdTaskRow, done_check);
+ gtk_widget_class_bind_template_child (widget_class, GtdTaskRow, priority_frame);
gtk_widget_class_bind_template_child (widget_class, GtdTaskRow, revealer);
gtk_widget_class_bind_template_child (widget_class, GtdTaskRow, task_date_label);
gtk_widget_class_bind_template_child (widget_class, GtdTaskRow, task_list_label);
@@ -812,6 +811,7 @@ gtd_task_row_set_handle_subtasks (GtdTaskRow *self,
self->handle_subtasks = handle_subtasks;
gtk_widget_set_visible (self->dnd_box, handle_subtasks);
+ gtk_widget_set_visible (self->dnd_event_box, handle_subtasks);
depth_changed_cb (self, NULL, self->task);
g_object_notify (G_OBJECT (self), "handle-subtasks");
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]