[gnome-klotski] Scores dialog: scroll to new high score



commit b7512ce3a6d4e26d5e2e1b5fb0777ac2e818d9b2
Author: Michael Catanzaro <mcatanzaro gnome org>
Date:   Mon Nov 18 22:08:49 2013 -0600

    Scores dialog: scroll to new high score
    
    Done by Isaac Lenton
    
    https://bugzilla.gnome.org/show_bug.cgi?id=711736

 src/gnome-klotski.vala |   17 ++++++++++++++++-
 1 files changed, 16 insertions(+), 1 deletions(-)
---
diff --git a/src/gnome-klotski.vala b/src/gnome-klotski.vala
index 333093c..e70b045 100644
--- a/src/gnome-klotski.vala
+++ b/src/gnome-klotski.vala
@@ -1022,6 +1022,7 @@ public class ScoreDialog : Gtk.Dialog
     private Gtk.ListStore level_model;
     private Gtk.ListStore score_model;
     private Gtk.ComboBox level_combo;
+    private Gtk.TreeView scores;
 
     public ScoreDialog (History history, HistoryEntry? selected_entry = null, bool show_quit = false)
     {
@@ -1070,7 +1071,7 @@ public class ScoreDialog : Gtk.Dialog
 
         score_model = new Gtk.ListStore (3, typeof (string), typeof (string), typeof (int));
 
-        var scores = new Gtk.TreeView ();
+        scores = new Gtk.TreeView ();
         renderer = new Gtk.CellRendererText ();
         scores.insert_column_with_attributes (-1, _("Date"), renderer, "text", 0, "weight", 2);
         renderer = new Gtk.CellRendererText ();
@@ -1107,6 +1108,20 @@ public class ScoreDialog : Gtk.Dialog
             Gtk.TreeIter iter;
             score_model.append (out iter);
             score_model.set (iter, 0, date_label, 1, moves_label, 2, weight);
+
+            if (entry == selected_entry)
+            {
+                var piter = iter;
+                if (score_model.iter_previous (ref piter))
+                {
+                    var ppiter = piter;
+                    if (score_model.iter_previous (ref ppiter))
+                        piter = ppiter;
+                }
+                else
+                    piter = iter;
+                scores.scroll_to_cell (score_model.get_path (piter), null, false, 0, 0);
+            }
         }
     }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]