[Xfce4-commits] <postler:master> Use toggle buttons for message parts
Christian Dywan
noreply at xfce.org
Tue Nov 23 23:12:01 CET 2010
Updating branch refs/heads/master
to ecbf352d113eb5dedb5c7d0714ca9020a280f44d (commit)
from 411cb0c636c71afdd290087f38645f81fbd6c138 (commit)
commit ecbf352d113eb5dedb5c7d0714ca9020a280f44d
Author: Christian Dywan <christian at twotoasts.de>
Date: Tue Nov 23 22:28:43 2010 +0100
Use toggle buttons for message parts
postler/postler-content.vala | 3 ++-
postler/postler-viewer.vala | 13 ++++++++++---
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/postler/postler-content.vala b/postler/postler-content.vala
index 9f5e376..f17d512 100644
--- a/postler/postler-content.vala
+++ b/postler/postler-content.vala
@@ -28,7 +28,7 @@ public class Postler.Content : WebKit.WebView {
public string default_charset { get; set; default = "ISO-8859-1"; }
public string? last_location { get; set; }
- public uint? current_part { get; set; }
+ public uint? current_part { get; private set; }
public string? sender { get; set; }
public string? recipient { get; set; }
public string? subject { get; set; }
@@ -808,6 +808,7 @@ public class Postler.Content : WebKit.WebView {
display_error (_("Failed to display message part \"%s\": %s").printf (
mime_type, contents_error.message));
}
+ current_part = part;
}
void display_error (string message) {
diff --git a/postler/postler-viewer.vala b/postler/postler-viewer.vala
index f019220..3e90d62 100644
--- a/postler/postler-viewer.vala
+++ b/postler/postler-viewer.vala
@@ -13,6 +13,7 @@ public class Postler.Viewer : Gtk.VBox {
Gtk.InfoBar infobar;
Postler.Content content;
Gtk.VBox message_parts;
+ Gtk.ToggleButton last_button;
Gtk.Toolbar findbar;
Gtk.Entry find_entry;
@@ -119,15 +120,21 @@ public class Postler.Viewer : Gtk.VBox {
string icon_name = icon_name_for_mime_type (part, this);
var icon = new Gtk.Image.from_icon_name (icon_name,
Gtk.IconSize.BUTTON);
- var button = new Gtk.Button ();
+ var button = new Gtk.ToggleButton ();
button.relief = Gtk.ReliefStyle.NONE;
button.add (icon);
button.set_tooltip_text (part);
button.set_data ("index", index);
+ if (index == content.current_part) {
+ last_button = button;
+ button.active = true;
+ }
button.clicked.connect ((button) => {
+ last_button.active = false;
+ last_button = button as Gtk.ToggleButton;
uint current_part = button.get_data ("index");
- content.current_part = current_part;
- content.display_part (content.current_part); });
+ content.display_part (current_part);
+ });
message_parts.pack_start (button, false, false, 0);
index++;
}
More information about the Xfce4-commits
mailing list