From cba07b5957dd95729087bafc243daa865707ad9b Mon Sep 17 00:00:00 2001 From: Anna Schumaker Date: Tue, 13 Jan 2015 20:06:24 -0500 Subject: [PATCH] lib: TreeIter cleanups Signed-off-by: Anna Schumaker --- lib/model.cpp | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/lib/model.cpp b/lib/model.cpp index 66115d62..20bef9a1 100644 --- a/lib/model.cpp +++ b/lib/model.cpp @@ -25,6 +25,11 @@ void QueueModel::increment_stamp() } while (stamp == 0); } +bool QueueModel::check_iter_validity(const Gtk::TreeIter &iter) const +{ + return stamp == iter.get_stamp(); +} + void QueueModel::on_row_inserted(unsigned int row) { Gtk::TreePath path; @@ -143,13 +148,12 @@ void QueueModel::get_value_vfunc(const Gtk::TreeIter &iter, int column, } bool QueueModel::iter_next_vfunc(const Gtk::TreeIter &iter, - Gtk::TreeIter &iter_next) const + Gtk::TreeIter &next) const { - if (!check_iter_validity(iter)) { - iter_next = Gtk::TreeIter(); - return false; - } - return iter_nth_root_child_vfunc(iter_to_id(iter) + 1, iter_next); + next = Gtk::TreeIter(); + if (check_iter_validity(iter)) + return iter_nth_root_child_vfunc(iter_to_id(iter) + 1, next); + return false; } int QueueModel::iter_n_root_children_vfunc() const @@ -171,7 +175,6 @@ bool QueueModel::iter_nth_root_child_vfunc(int n, Gtk::TreeIter &iter) const Gtk::TreeModel::Path QueueModel::get_path_vfunc(const Gtk::TreeIter &iter) const { Gtk::TreeModel::Path path; - if (check_iter_validity(iter)) path.push_back(iter_to_id(iter)); return path; @@ -180,14 +183,8 @@ Gtk::TreeModel::Path QueueModel::get_path_vfunc(const Gtk::TreeIter &iter) const bool QueueModel::get_iter_vfunc(const Gtk::TreePath &path, Gtk::TreeIter &iter) const { - if (path.size() != 1) { - iter = Gtk::TreeIter(); - return false; - } - return iter_nth_root_child_vfunc(path[0], iter); -} - -bool QueueModel::check_iter_validity(const Gtk::TreeIter &iter) const -{ - return stamp == iter.get_stamp(); + iter = Gtk::TreeIter(); + if (path.size() == 1) + return iter_nth_root_child_vfunc(path[0], iter); + return false; }