[geary/wip/765516-gtk-widget-conversation-viewer: 22/78] Clean up message header UI, tranitions and style a bit.
- From: Michael Gratton <mjog src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [geary/wip/765516-gtk-widget-conversation-viewer: 22/78] Clean up message header UI, tranitions and style a bit.
- Date: Fri, 8 Jul 2016 08:04:58 +0000 (UTC)
commit 2b8a1cae01e3d6d749b3302b89372d3a8ef03755
Author: Michael James Gratton <mike vee net>
Date: Fri Apr 15 02:15:44 2016 +1000
Clean up message header UI, tranitions and style a bit.
* ui/conversation-message.ui: Split out preview labels from existing
header box and create a new preview box for them.
* src/client/components/main-window.vala (MainWindow::set_styling): Use
style-defined names to allow us to specify message row backgrounds better.
* src/client/conversation-viewer/conversation-message.vala
(ConversationMessage): Update GTK composite template children
properties and visible state when showing/hiding the body, set new
preview/header box label texts.
* src/client/conversation-viewer/conversation-viewer.vala
(ConversationViewer::do_embedded_composer,
ConversationViewer::add_message): Don't add 'frame' class to conversation
list rows, we're styling it explicitly now.
.../conversation-viewer/conversation-message.vala | 80 +--
.../conversation-viewer/conversation-viewer.vala | 2 -
ui/conversation-message.ui | 580 +++++++++++---------
ui/geary.css | 11 +-
4 files changed, 360 insertions(+), 313 deletions(-)
---
diff --git a/src/client/conversation-viewer/conversation-message.vala
b/src/client/conversation-viewer/conversation-message.vala
index dc1c827..3da90eb 100644
--- a/src/client/conversation-viewer/conversation-message.vala
+++ b/src/client/conversation-viewer/conversation-message.vala
@@ -58,47 +58,41 @@ public class ConversationMessage : Gtk.Box {
private Gtk.Image avatar_image;
[GtkChild]
- private Gtk.Revealer from_revealer;
+ private Gtk.Revealer preview_revealer;
+ [GtkChild]
+ private Gtk.Label from_preview;
+ [GtkChild]
+ private Gtk.Label body_preview;
[GtkChild]
+ private Gtk.Revealer header_revealer;
+ [GtkChild]
private Gtk.Box from_header;
-
[GtkChild]
private Gtk.Box to_header;
-
[GtkChild]
private Gtk.Box cc_header;
-
[GtkChild]
private Gtk.Box bcc_header;
-
[GtkChild]
private Gtk.Box subject_header;
-
[GtkChild]
private Gtk.Box date_header;
[GtkChild]
- private Gtk.Label preview_label;
-
- [GtkChild]
private Gtk.Button flag_button;
-
[GtkChild]
private Gtk.MenuButton message_menubutton;
[GtkChild]
private Gtk.Revealer body_revealer;
-
[GtkChild]
- private Gtk.Box body_box;
+ public Gtk.Box body_box;
[GtkChild]
private Gtk.Popover link_popover;
-
[GtkChild]
private Gtk.Label good_link_label;
-
[GtkChild]
private Gtk.Label bad_link_label;
@@ -132,28 +126,33 @@ public class ConversationMessage : Gtk.Box {
return;
}
- set_header_text(from_header, format_addresses(message.from));
+ // Preview headers
+
+ from_preview.set_text(format_addresses(message.from));
+ string preview_str = message.get_preview();
+ preview_str = Geary.String.reduce_whitespace(preview_str);
+ body_preview.set_text(preview_str);
+
+ // Full headers
+
+ set_header_text(from_header, format_addresses(message.from));
if (message.to != null) {
set_header_text(to_header, format_addresses(message.to));
to_header.get_style_context().remove_class("empty");
}
-
if (message.cc != null) {
set_header_text(cc_header, format_addresses(message.cc));
cc_header.get_style_context().remove_class("empty");
}
-
if (message.bcc != null) {
set_header_text(bcc_header, format_addresses(message.bcc));
bcc_header.get_style_context().remove_class("empty");
}
-
if (message.subject != null) {
set_header_text(subject_header, message.subject.value);
subject_header.get_style_context().remove_class("empty");
}
-
if (message.date != null) {
Date.ClockFormat clock_format =
GearyApplication.instance.config.clock_format;
@@ -164,10 +163,6 @@ public class ConversationMessage : Gtk.Box {
date_header.get_style_context().remove_class("empty");
}
- string preview_str = message.get_preview();
- preview_str = Geary.String.reduce_whitespace(preview_str);
- preview_label.set_text(preview_str);
-
message_menubutton.set_menu_model(build_message_menu(email));
message_menubutton.set_sensitive(false);
@@ -245,30 +240,20 @@ public class ConversationMessage : Gtk.Box {
get_style_context().add_class("show-message");
avatar_image.set_pixel_size(32); // XXX constant
- // XXX this is pretty gross
- Gtk.RevealerTransitionType revealer = from_revealer.get_transition_type();
+ Gtk.RevealerTransitionType revealer = preview_revealer.get_transition_type();
if (!include_transitions) {
- from_revealer.set_transition_type(Gtk.RevealerTransitionType.NONE);
+ preview_revealer.set_transition_type(Gtk.RevealerTransitionType.NONE);
}
- from_revealer.set_reveal_child(true);
- from_revealer.set_transition_type(revealer);
+ preview_revealer.set_reveal_child(false);
+ preview_revealer.set_transition_type(revealer);
- if (!to_header.get_style_context().has_class("empty")) {
- to_header.show();
- }
- if (!cc_header.get_style_context().has_class("empty")) {
- cc_header.show();
- }
- if (!bcc_header.get_style_context().has_class("empty")) {
- bcc_header.show();
- }
- if (!subject_header.get_style_context().has_class("empty")) {
- subject_header.show();
- }
- if (!date_header.get_style_context().has_class("empty")) {
- date_header.show();
+ revealer = header_revealer.get_transition_type();
+ if (!include_transitions) {
+ header_revealer.set_transition_type(Gtk.RevealerTransitionType.NONE);
}
- preview_label.hide();
+ header_revealer.set_reveal_child(true);
+ header_revealer.set_transition_type(revealer);
+
flag_button.set_sensitive(true);
message_menubutton.set_sensitive(true);
@@ -284,13 +269,8 @@ public class ConversationMessage : Gtk.Box {
public void hide_message() {
get_style_context().remove_class("show-message");
avatar_image.set_pixel_size(24); // XXX constant
- from_revealer.set_reveal_child(false);
- to_header.hide();
- cc_header.hide();
- bcc_header.hide();
- subject_header.hide();
- date_header.hide();
- preview_label.show();
+ preview_revealer.set_reveal_child(true);
+ header_revealer.set_reveal_child(false);
flag_button.set_sensitive(false);
message_menubutton.set_sensitive(false);
body_revealer.set_reveal_child(false);
diff --git a/src/client/conversation-viewer/conversation-viewer.vala
b/src/client/conversation-viewer/conversation-viewer.vala
index 5fcebbb..803ffac 100644
--- a/src/client/conversation-viewer/conversation-viewer.vala
+++ b/src/client/conversation-viewer/conversation-viewer.vala
@@ -287,7 +287,6 @@ public class ConversationViewer : Gtk.Stack {
Gtk.ListBoxRow row = new Gtk.ListBoxRow();
row.get_style_context().add_class("composer");
- row.get_style_context().add_class("frame");
row.show();
row.add(embed);
conversation_listbox.add(row);
@@ -598,7 +597,6 @@ public class ConversationViewer : Gtk.Stack {
});
Gtk.ListBoxRow row = new Gtk.ListBoxRow();
- row.get_style_context().add_class("frame");
row.show();
row.add(message);
diff --git a/ui/conversation-message.ui b/ui/conversation-message.ui
index dcde9ae..cbfb0d0 100644
--- a/ui/conversation-message.ui
+++ b/ui/conversation-message.ui
@@ -29,54 +29,56 @@
</packing>
</child>
<child>
- <object class="GtkBox" id="header_box">
+ <object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
- <object class="GtkBox" id="from_header">
+ <object class="GtkRevealer" id="preview_revealer">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="transition_type">none</property>
+ <property name="reveal_child">True</property>
<child>
- <object class="GtkRevealer" id="from_revealer">
+ <object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="transition_type">slide-right</property>
+ <property name="orientation">vertical</property>
<child>
- <object class="GtkLabel" id="from_label">
+ <object class="GtkLabel" id="from_preview">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">From:</property>
- <property name="xalign">1</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">From <email></property>
+ <property name="ellipsize">end</property>
<style>
- <class name="header-label"/>
- <class name="dim-label"/>
+ <class name="header-value"/>
</style>
</object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="body_preview">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Preview body text.</property>
+ <property name="ellipsize">end</property>
+ <style>
+ <class name="preview-value"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">True</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">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="from_text">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">start</property>
- <property name="label" translatable="yes">From <email></property>
- <property name="ellipsize">end</property>
- <style>
- <class name="header-value"/>
- </style>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
</child>
</object>
<packing>
@@ -86,42 +88,293 @@
</packing>
</child>
<child>
- <object class="GtkBox" id="to_header">
+ <object class="GtkRevealer" id="header_revealer">
+ <property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="transition_type">none</property>
<child>
- <object class="GtkLabel" id="to_label">
+ <object class="GtkBox" id="header_box">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">To:</property>
- <property name="xalign">1</property>
- <style>
- <class name="header-label"/>
- <class name="dim-label"/>
- </style>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="to_text">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">start</property>
- <property name="label" translatable="yes">To <email></property>
- <property name="ellipsize">end</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkBox" id="from_header">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel" id="from_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">From:</property>
+ <property name="xalign">1</property>
+ <style>
+ <class name="header-label"/>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="from_text">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">From <email></property>
+ <property name="selectable">True</property>
+ <property name="ellipsize">end</property>
+ <style>
+ <class name="header-value"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">True</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">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="to_header">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel" id="to_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">To:</property>
+ <property name="xalign">1</property>
+ <style>
+ <class name="header-label"/>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="to_text">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">To <email></property>
+ <property name="selectable">True</property>
+ <property name="ellipsize">end</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <style>
+ <class name="empty"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="cc_header">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel" id="cc_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Cc:</property>
+ <property name="xalign">1</property>
+ <style>
+ <class name="header-label"/>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="cc_text">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">CC <email></property>
+ <property name="selectable">True</property>
+ <property name="ellipsize">end</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <style>
+ <class name="empty"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="bcc_header">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel" id="bcc_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Bcc:</property>
+ <property name="xalign">1</property>
+ <style>
+ <class name="header-label"/>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="bcc_text">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">BCC <email></property>
+ <property name="selectable">True</property>
+ <property name="ellipsize">end</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <style>
+ <class name="empty"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="subject_header">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel" id="subject_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Subject:</property>
+ <property name="xalign">1</property>
+ <style>
+ <class name="header-label"/>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="subject_text">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Subject</property>
+ <property name="selectable">True</property>
+ <property name="ellipsize">end</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <style>
+ <class name="empty"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="date_header">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel" id="date_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Date:</property>
+ <property name="xalign">1</property>
+ <style>
+ <class name="header-label"/>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="date_text">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">1/1/1970 </property>
+ <property name="selectable">True</property>
+ <property name="ellipsize">end</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <style>
+ <class name="empty"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
</object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
</child>
- <style>
- <class name="empty"/>
- </style>
</object>
<packing>
<property name="expand">False</property>
@@ -129,199 +382,6 @@
<property name="position">1</property>
</packing>
</child>
- <child>
- <object class="GtkBox" id="cc_header">
- <property name="can_focus">False</property>
- <child>
- <object class="GtkLabel" id="cc_label">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Cc:</property>
- <property name="xalign">1</property>
- <style>
- <class name="header-label"/>
- <class name="dim-label"/>
- </style>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="cc_text">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">start</property>
- <property name="label" translatable="yes">CC <email></property>
- <property name="ellipsize">end</property>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <style>
- <class name="empty"/>
- </style>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkBox" id="bcc_header">
- <property name="can_focus">False</property>
- <child>
- <object class="GtkLabel" id="bcc_label">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Bcc:</property>
- <property name="xalign">1</property>
- <style>
- <class name="header-label"/>
- <class name="dim-label"/>
- </style>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="bcc_text">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">start</property>
- <property name="label" translatable="yes">BCC <email></property>
- <property name="ellipsize">end</property>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <style>
- <class name="empty"/>
- </style>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkBox" id="subject_header">
- <property name="can_focus">False</property>
- <child>
- <object class="GtkLabel" id="subject_label">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Subject:</property>
- <property name="xalign">1</property>
- <style>
- <class name="header-label"/>
- <class name="dim-label"/>
- </style>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="subject_text">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">start</property>
- <property name="label" translatable="yes">Subject</property>
- <property name="ellipsize">end</property>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <style>
- <class name="empty"/>
- </style>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkBox" id="date_header">
- <property name="can_focus">False</property>
- <child>
- <object class="GtkLabel" id="date_label">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Date:</property>
- <property name="xalign">1</property>
- <style>
- <class name="header-label"/>
- <class name="dim-label"/>
- </style>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="date_text">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">start</property>
- <property name="label" translatable="yes">1/1/1970 </property>
- <property name="ellipsize">end</property>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <style>
- <class name="empty"/>
- </style>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">5</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="preview_label">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">start</property>
- <property name="label" translatable="yes">Preview body text.</property>
- <property name="ellipsize">end</property>
- <style>
- <class name="preview-value"/>
- </style>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">6</property>
- </packing>
- </child>
</object>
<packing>
<property name="expand">True</property>
@@ -333,13 +393,17 @@
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="valign">start</property>
+ <property name="vexpand">False</property>
<property name="spacing">1</property>
+ <property name="homogeneous">True</property>
<child>
<object class="GtkButton" id="flag_button">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
+ <property name="tooltip_text" translatable="yes">Toggle this message's flag</property>
<property name="valign">start</property>
<property name="relief">none</property>
<child>
@@ -353,7 +417,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">0</property>
+ <property name="position">1</property>
</packing>
</child>
<child>
@@ -362,6 +426,7 @@
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
+ <property name="tooltip_text" translatable="yes">Display the message menu</property>
<property name="valign">start</property>
<property name="relief">none</property>
<child>
@@ -375,7 +440,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="position">1</property>
+ <property name="position">2</property>
</packing>
</child>
</object>
@@ -520,9 +585,6 @@
<property name="position">1</property>
</packing>
</child>
- <style>
- <class name="view"/>
- </style>
</template>
<object class="GtkSizeGroup" id="header_labels_sizegroup">
<property name="ignore_hidden">True</property>
diff --git a/ui/geary.css b/ui/geary.css
index bd24813..9766d00 100644
--- a/ui/geary.css
+++ b/ui/geary.css
@@ -62,10 +62,17 @@ row.geary-folder-popover-list-row > label {
}
#conversation_listbox > row {
margin: 0;
- border-width: 1px 1px 0;
+ border: 1px solid @borders;
+ border-bottom-width: 0;
padding: 0;
+ background: @theme_bg_color;
box-shadow: 0 4px 8px 1px rgba(0,0,0,0.4);
- transition: margin 0.1s;
+ transition: margin 0.1s, background 0.15s;
+}
+#conversation_listbox > row:hover,
+#conversation_listbox > row.show-message,
+#conversation_listbox > row.show-message:hover {
+ background: @theme_base_color;
}
#conversation_listbox > row.show-message,
#conversation_listbox > row.composer {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]