[gnome-boxes] display-page: Split out toolbar into its own class
- From: Marc-Andre Lureau <malureau src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-boxes] display-page: Split out toolbar into its own class
- Date: Wed, 4 Jan 2012 17:48:03 +0000 (UTC)
commit cf632bc26a6637a6b54414d861f1ee028063f134
Author: Florian MÃllner <fmuellner gnome org>
Date: Fri Dec 16 03:04:00 2011 +0100
display-page: Split out toolbar into its own class
https://bugzilla.gnome.org/show_bug.cgi?id=666354
src/display-page.vala | 117 ++++++++++++++++++++++++++----------------------
1 files changed, 63 insertions(+), 54 deletions(-)
---
diff --git a/src/display-page.vala b/src/display-page.vala
index 7e66e16..bdc487f 100644
--- a/src/display-page.vala
+++ b/src/display-page.vala
@@ -2,18 +2,77 @@
using Gtk;
using Gdk;
+private class Boxes.DisplayToolbar: Gtk.Toolbar {
+ public string title {
+ get { return label.get_text (); }
+ set { label.set_text (value); }
+ }
+ private Label label;
+
+ public DisplayToolbar (Boxes.App app) {
+ icon_size = IconSize.MENU;
+ get_style_context ().add_class (STYLE_CLASS_MENUBAR);
+ set_show_arrow (false);
+
+ var left_group = new ToolItem ();
+ insert (left_group, 0);
+
+ var center_group = new ToolItem ();
+ center_group.set_expand (true);
+ insert (center_group, -1);
+
+ var right_group = new ToolItem ();
+ insert (right_group, -1);
+
+ var size_group = new SizeGroup (SizeGroupMode.HORIZONTAL);
+ size_group.add_widget (left_group);
+ size_group.add_widget (right_group);
+
+ var left_box = new Box (Orientation.HORIZONTAL, 0);
+ left_group.add (left_box);
+
+ var back = new Button ();
+ back.add (new Image.from_icon_name ("go-previous-symbolic",
+ IconSize.MENU));
+ back.get_style_context ().add_class ("raised");
+ back.clicked.connect ((button) => { app.ui_state = UIState.COLLECTION; });
+ left_box.pack_start (back, false, false, 0);
+
+ /* center title - unfortunately, metacity doesn't even center its
+ own title.. sad panda */
+ label = new Label ("Display");
+ center_group.add (label);
+
+ var right_box = new Box (Orientation.HORIZONTAL, 12);
+ right_group.add(right_box);
+
+ var btn = new Button ();
+ btn.add (new Image.from_icon_name ("view-fullscreen-symbolic",
+ IconSize.MENU));
+ btn.get_style_context ().add_class ("raised");
+ btn.clicked.connect ((button) => { app.fullscreen = !app.fullscreen; });
+ right_box.pack_start (btn, false, false, 0);
+
+ var props = new Button ();
+ props.add (new Image.from_icon_name ("utilities-system-monitor-symbolic",
+ IconSize.MENU));
+ props.get_style_context ().add_class ("raised");
+ props.clicked.connect ((button) => { app.ui_state = UIState.PROPERTIES; });
+ right_box.pack_start (props, false, false, 0);
+ }
+}
+
private class Boxes.DisplayPage: GLib.Object {
public Widget widget { get { return overlay; } }
private Overlay overlay;
private Boxes.App app;
private EventBox event_box;
- private Toolbar toolbar;
+ private DisplayToolbar toolbar;
private uint toolbar_show_id;
private uint toolbar_hide_id;
private ulong display_id;
private ulong cursor_id;
- private Label title;
public DisplayPage (Boxes.App app) {
this.app = app;
@@ -55,57 +114,7 @@ private class Boxes.DisplayPage: GLib.Object {
overlay.margin = 0;
overlay.add (event_box);
- toolbar = new Toolbar ();
- toolbar.icon_size = IconSize.MENU;
- toolbar.get_style_context ().add_class (STYLE_CLASS_MENUBAR);
-
- var left_group = new ToolItem ();
- toolbar.insert (left_group, 0);
-
- var center_group = new ToolItem ();
- center_group.set_expand (true);
- toolbar.insert (center_group, -1);
-
- var right_group = new ToolItem ();
- toolbar.insert (right_group, -1);
-
- var size_group = new SizeGroup (SizeGroupMode.HORIZONTAL);
- size_group.add_widget (left_group);
- size_group.add_widget (right_group);
-
- var left_box = new Box (Orientation.HORIZONTAL, 0);
- left_group.add (left_box);
-
- var back = new Button ();
- back.add (new Image.from_icon_name ("go-previous-symbolic",
- IconSize.MENU));
- back.get_style_context ().add_class ("raised");
- back.clicked.connect ((button) => { app.ui_state = UIState.COLLECTION; });
- left_box.pack_start (back, false, false, 0);
-
- /* center title - unfortunately, metacity doesn't even center its
- own title.. sad panda */
- title = new Label ("Display");
- center_group.add (title);
-
- var right_box = new Box (Orientation.HORIZONTAL, 12);
- right_group.add(right_box);
-
- var btn = new Button ();
- btn.add (new Image.from_icon_name ("view-fullscreen-symbolic",
- IconSize.MENU));
- btn.get_style_context ().add_class ("raised");
- btn.clicked.connect ((button) => { app.fullscreen = !app.fullscreen; });
- right_box.pack_start (btn, false, false, 0);
-
- var props = new Button ();
- props.add (new Image.from_icon_name ("utilities-system-monitor-symbolic",
- IconSize.MENU));
- props.get_style_context ().add_class ("raised");
- props.clicked.connect ((button) => { app.ui_state = UIState.PROPERTIES; });
- right_box.pack_start (props, false, false, 0);
-
- toolbar.set_show_arrow (false);
+ toolbar = new DisplayToolbar (app);
toolbar.set_valign (Gtk.Align.START);
overlay.add_overlay (toolbar);
@@ -141,7 +150,7 @@ private class Boxes.DisplayPage: GLib.Object {
public void show_display (Boxes.Machine machine, Widget display) {
remove_display ();
set_toolbar_visible (false);
- title.set_text (machine.name);
+ toolbar.title = machine.name;
event_box.add (display);
event_box.show_all ();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]