From e24aff2d05e470621557b60d88e00de9ad05babe Mon Sep 17 00:00:00 2001 From: Victor Eduardo Date: Mon, 24 Sep 2012 16:31:31 -0700 Subject: [PATCH] Use Granite's Thin Pane for horizontal panes: Closes #5855 --- CMakeLists.txt | 1 + THANKS | 1 + src/CMakeLists.txt | 20 ++++++++++++++++++++ src/client/ui/main-window.vala | 20 +++++++++++++++----- 4 files changed, 37 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 589bae91..653ddb36 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,6 +46,7 @@ find_package(PkgConfig) pkg_check_modules(LIBINDICATE QUIET indicate-0.7>=0.6.1) pkg_check_modules(LIBUNITY QUIET unity>=5.12.0) pkg_check_modules(LIBMESSAGINGMENU QUIET messaging-menu>=12.10.2) +pkg_check_modules(LIBGRANITE QUIET granite>=0.1.5) # intl include(Gettext) diff --git a/THANKS b/THANKS index 79c971a8..9231899b 100644 --- a/THANKS +++ b/THANKS @@ -5,6 +5,7 @@ Jürg Billeter Sergey Shnatsel Davidoff Joanmarie Diggs Christian Dywan +Victor Eduardo Timo Kluck Charles Lindsay Thomas Moschny diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 3842d8dd..73274922 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -333,6 +333,26 @@ else () message(STATUS "Unity launcher support: OFF") endif () +if (LIBGRANITE_FOUND) + message(STATUS "Granite support: ON") + set(EXTRA_CLIENT_PKG_CONFIG + ${EXTRA_CLIENT_PKG_CONFIG} + granite + ) + + set(EXTRA_CLIENT_PACKAGES + ${EXTRA_CLIENT_PACKAGES} + granite + ) + + set(EXTRA_VALA_OPTIONS + ${EXTRA_VALA_OPTIONS} + -D HAVE_LIBGRANITE + ) +else () + message(STATUS "Granite support: OFF") +endif () + set(TARGET_GLIB 2.32) pkg_check_modules(DEPS REQUIRED QUIET diff --git a/src/client/ui/main-window.vala b/src/client/ui/main-window.vala index 5690a95e..fac2f5b2 100644 --- a/src/client/ui/main-window.vala +++ b/src/client/ui/main-window.vala @@ -17,8 +17,15 @@ public class MainWindow : Gtk.Window { private int window_width; private int window_height; private bool window_maximized; + +#if HAVE_LIBGRANITE + private Granite.Widgets.SidebarPaned folder_paned = new Granite.Widgets.SidebarPaned(); + private Granite.Widgets.SidebarPaned conversations_paned = new Granite.Widgets.SidebarPaned(); +#else private Gtk.Paned folder_paned = new Gtk.Paned(Gtk.Orientation.HORIZONTAL); private Gtk.Paned conversations_paned = new Gtk.Paned(Gtk.Orientation.HORIZONTAL); +#endif + private Gtk.Spinner spinner = new Gtk.Spinner(); private bool is_shown = false; @@ -44,8 +51,8 @@ public class MainWindow : Gtk.Window { if (GearyApplication.instance.config.window_maximize) maximize(); - folder_paned.set_position(GearyApplication.instance.config.folder_list_pane_position); - conversations_paned.set_position(GearyApplication.instance.config.messages_pane_position); + folder_paned.position = GearyApplication.instance.config.folder_list_pane_position; + conversations_paned.position = GearyApplication.instance.config.messages_pane_position; base.show_all(); is_shown = true; @@ -59,8 +66,8 @@ public class MainWindow : Gtk.Window { GearyApplication.instance.config.window_maximize = window_maximized; // Save pane positions. - GearyApplication.instance.config.folder_list_pane_position = folder_paned.get_position(); - GearyApplication.instance.config.messages_pane_position = conversations_paned.get_position(); + GearyApplication.instance.config.folder_list_pane_position = folder_paned.position; + GearyApplication.instance.config.messages_pane_position = conversations_paned.position; } base.destroy(); @@ -117,7 +124,10 @@ public class MainWindow : Gtk.Window { status_bar.add(spinner); status_bar_box.pack_start(folder_list_scrolled); status_bar_box.pack_start(status_bar, false, false, 0); - get_style_context().add_class("sidebar-pane-separator"); + +#if !HAVE_LIBGRANITE + folder_paned.get_style_context().add_class("sidebar-pane-separator"); +#endif // Message list left of message viewer. conversations_paned.pack1(conversation_list_scrolled, false, false);