[gitg/wip/sidebar] Move panel first in vertical mode for consistent panel switching
- From: Jesse van den Kieboom <jessevdk src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gitg/wip/sidebar] Move panel first in vertical mode for consistent panel switching
- Date: Tue, 2 Jul 2013 19:50:16 +0000 (UTC)
commit c145f44373cda74228c7b18b6cc0b7b795876343
Author: Jesse van den Kieboom <jessevdk gmail com>
Date: Tue Jul 2 21:49:15 2013 +0200
Move panel first in vertical mode for consistent panel switching
gitg/history/gitg-history-paned.vala | 42 +++++++++++++++++++++++++++++-
gitg/history/gitg-history.vala | 7 ++++-
gitg/resources/ui/gitg-history-paned.ui | 2 +-
3 files changed, 47 insertions(+), 4 deletions(-)
---
diff --git a/gitg/history/gitg-history-paned.vala b/gitg/history/gitg-history-paned.vala
index 1dbbcc1..81f8a37 100644
--- a/gitg/history/gitg-history-paned.vala
+++ b/gitg/history/gitg-history-paned.vala
@@ -47,6 +47,44 @@ class Paned : Gtk.Paned
[GtkChild]
private Gd.StyledTextRenderer d_renderer_commit_list_author_date;
+ [GtkChild]
+ private Gtk.ScrolledWindow d_scrolled_window_commit_list;
+
+ [Notify]
+ public Gtk.Orientation inner_orientation
+ {
+ get { return d_paned_panels.orientation; }
+
+ set
+ {
+ if (d_paned_panels.orientation != value)
+ {
+ d_paned_panels.orientation = value;
+
+ // Swap children
+ d_paned_panels.remove(d_scrolled_window_commit_list);
+ d_paned_panels.remove(d_stack_panel);
+
+ Gtk.Widget p1;
+ Gtk.Widget p2;
+
+ if (value == Gtk.Orientation.HORIZONTAL)
+ {
+ p1 = d_stack_panel;
+ p2 = d_scrolled_window_commit_list;
+ }
+ else
+ {
+ p1 = d_scrolled_window_commit_list;
+ p2 = d_stack_panel;
+ }
+
+ d_paned_panels.pack1(p1, true, true);
+ d_paned_panels.pack2(p2, false, false);
+ }
+ }
+ }
+
construct
{
var state_settings = new Settings("org.gnome.gitg.state.history");
@@ -64,8 +102,8 @@ class Paned : Gtk.Paned
var interface_settings = new Settings("org.gnome.gitg.preferences.interface");
interface_settings.bind("orientation",
- d_paned_panels,
- "orientation",
+ this,
+ "inner_orientation",
SettingsBindFlags.GET);
d_renderer_commit_list_author.add_class("dim-label");
diff --git a/gitg/history/gitg-history.vala b/gitg/history/gitg-history.vala
index d2e18c4..b0f4d48 100644
--- a/gitg/history/gitg-history.vala
+++ b/gitg/history/gitg-history.vala
@@ -68,7 +68,12 @@ namespace GitgHistory
d_main.commit_list_view.get_selection().selected_foreach((model, path, iter) => {
if (!breakit)
{
- breakit = !func(d_commit_list_model.commit_from_iter(iter));
+ var c = d_commit_list_model.commit_from_iter(iter);
+
+ if (c != null)
+ {
+ breakit = !func(c);
+ }
}
});
}
diff --git a/gitg/resources/ui/gitg-history-paned.ui b/gitg/resources/ui/gitg-history-paned.ui
index 603acbc..4171e4a 100644
--- a/gitg/resources/ui/gitg-history-paned.ui
+++ b/gitg/resources/ui/gitg-history-paned.ui
@@ -74,7 +74,7 @@
<class name="panels-paned"/>
</style>
<child>
- <object class="GtkScrolledWindow" id="scrolled_window_commit_list">
+ <object class="GtkScrolledWindow" id="d_scrolled_window_commit_list">
<property name="visible">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]