[pan2] https://bugzilla.gnome.org/show_bug.cgi?id=622669
- From: Heinrich MÃller <henmull src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pan2] https://bugzilla.gnome.org/show_bug.cgi?id=622669
- Date: Sat, 3 Dec 2011 21:03:02 +0000 (UTC)
commit 2fe5318284f668384ae83917b13f34f2e0ee8f5d
Author: Heinrich MÃller <sphemuel stud informatik uni-erlangen de>
Date: Sat Dec 3 16:49:38 2011 +0100
https://bugzilla.gnome.org/show_bug.cgi?id=622669
pan/gui/gui.cc | 3 ++-
pan/gui/header-pane.cc | 23 ++++++++++++++---------
pan/gui/prefs-ui.cc | 4 +++-
3 files changed, 19 insertions(+), 11 deletions(-)
---
diff --git a/pan/gui/gui.cc b/pan/gui/gui.cc
index b5d866c..4a2ae4a 100644
--- a/pan/gui/gui.cc
+++ b/pan/gui/gui.cc
@@ -882,7 +882,8 @@ void GUI :: do_read_selected_article ()
const Article* article (_header_pane->get_first_selected_article ());
if (article)
{
- _header_pane->expand_selected ();
+ const bool expand (_prefs.get_flag("expand-selected-articles",false));
+ if (expand) _header_pane->expand_selected ();
Task * t = new TaskArticle (_data, _data, *article, _cache, _data, this);
_queue.add_task (t, Queue::TOP);
diff --git a/pan/gui/header-pane.cc b/pan/gui/header-pane.cc
index 6c6835d..0ca0274 100644
--- a/pan/gui/header-pane.cc
+++ b/pan/gui/header-pane.cc
@@ -633,7 +633,8 @@ HeaderPane :: select_message_id (const Quark& mid, bool do_scroll)
HeaderPane::Row * row = get_row (mid);
GtkTreePath * path (_tree_store->get_path(row));
GtkTreeView * view (GTK_TREE_VIEW(_tree_view));
- gtk_tree_view_expand_to_path (view, path);
+ const bool expand (_prefs.get_flag("expand-selected-articles",false));
+ if (expand) gtk_tree_view_expand_to_path (view, path);
GtkTreeSelection * sel (gtk_tree_view_get_selection (view));
gtk_tree_selection_select_path (sel, path);
if (do_scroll) {
@@ -1882,14 +1883,18 @@ namespace
struct SelectFunctor: public pan::RowActionFunctor {
virtual ~SelectFunctor () {}
- SelectFunctor (GtkTreeView * view): _view(view) {}
+ SelectFunctor (GtkTreeView * view, bool exp): _view(view), _expand(exp) {}
GtkTreeView * _view;
+ bool _expand;
virtual void operator() (GtkTreeModel* model, GtkTreeIter* iter, const Article&) {
GtkTreeSelection * sel (gtk_tree_view_get_selection (_view));
gtk_tree_selection_unselect_all (sel);
GtkTreePath * path = gtk_tree_model_get_path (model, iter);
- gtk_tree_view_expand_row (_view, path, true);
- gtk_tree_view_expand_to_path (_view, path);
+ if (_expand)
+ {
+ gtk_tree_view_expand_row (_view, path, true);
+ gtk_tree_view_expand_to_path (_view, path);
+ }
gtk_tree_view_set_cursor (_view, path, NULL, FALSE);
gtk_tree_view_scroll_to_cell (_view, path, NULL, true, 0.5f, 0.0f);
gtk_tree_path_free (path);
@@ -1898,7 +1903,7 @@ namespace
struct ReadFunctor: public SelectFunctor {
virtual ~ReadFunctor() {}
- ReadFunctor (GtkTreeView * view, ActionManager& am): SelectFunctor(view), _am(am) {}
+ ReadFunctor (GtkTreeView * view, bool exp, ActionManager& am): SelectFunctor(view,exp), _am(am) {}
ActionManager& _am;
virtual void operator() (GtkTreeModel* model, GtkTreeIter* iter, const Article& a) {
SelectFunctor::operator() (model, iter, a);
@@ -1982,7 +1987,7 @@ void
HeaderPane :: read_next_if (const ArticleTester& test)
{
GtkTreeView * v (GTK_TREE_VIEW(_tree_view));
- ReadFunctor read (v, _action_manager);
+ ReadFunctor read (v, _prefs.get_flag("expand-selected-articles", false), _action_manager);
action_next_if (test, read);
}
@@ -1991,7 +1996,7 @@ HeaderPane :: read_prev_if (const ArticleTester & test)
{
GtkTreeView * v (GTK_TREE_VIEW(_tree_view));
GtkTreeModel * m (GTK_TREE_MODEL(_tree_store));
- ReadFunctor read (v, _action_manager);
+ ReadFunctor read (v, _prefs.get_flag("expand-selected-articles", false), _action_manager);
next_iterator (v, m, TreeIteratorPrev(), test, read);
}
@@ -1999,7 +2004,7 @@ void
HeaderPane :: select_next_if (const ArticleTester& test)
{
GtkTreeView * v (GTK_TREE_VIEW(_tree_view));
- SelectFunctor sel (v);
+ SelectFunctor sel (v, _prefs.get_flag("expand-selected-articles", false));
action_next_if (test, sel);
}
@@ -2007,7 +2012,7 @@ void
HeaderPane :: select_prev_if (const ArticleTester& test)
{
GtkTreeView * v (GTK_TREE_VIEW(_tree_view));
- SelectFunctor sel (v);
+ SelectFunctor sel (v, _prefs.get_flag("expand-selected-articles", false));
action_next_if (test, sel);
}
diff --git a/pan/gui/prefs-ui.cc b/pan/gui/prefs-ui.cc
index aa8a9ba..552f7f9 100644
--- a/pan/gui/prefs-ui.cc
+++ b/pan/gui/prefs-ui.cc
@@ -466,9 +466,11 @@ PrefsDialog :: PrefsDialog (Prefs& prefs, GtkWindow* parent):
HIG :: workarea_add_wide_control (t, &row, w);
HIG::workarea_add_section_divider (t, &row);
HIG :: workarea_add_section_title (t, &row, _("Articles"));
- HIG :: workarea_add_section_spacer (t, row, 4);
+ HIG :: workarea_add_section_spacer (t, row, 5);
w = new_check_button (_("Space selects next article rather than next unread"), "space-selects-next-article", true, prefs);
HIG :: workarea_add_wide_control (t, &row, w);
+ w = new_check_button (_("Expand threads upon selection."), "expand-selected-articles", false, prefs);
+ HIG :: workarea_add_wide_control (t, &row, w);
w = new_check_button (_("Smooth scrolling"), "smooth-scrolling", true, prefs);
HIG :: workarea_add_wide_control (t, &row, w);
w = new_check_button (_("Clear article cache on shutdown"), "clear-article-cache-on-shutdown", false, prefs);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]