[gnome-games] gnomine: Handle history load failures



commit a8ef5b4aa19b6ee6e1b568af84ded78dc2b7a6ec
Author: Robert Ancell <robert ancell canonical com>
Date:   Thu Sep 27 12:08:09 2012 +1200

    gnomine: Handle history load failures

 gnomine/src/gnomine.vala |  157 ----------------------------------------------
 gnomine/src/history.vala |    3 +
 2 files changed, 3 insertions(+), 157 deletions(-)
---
diff --git a/gnomine/src/gnomine.vala b/gnomine/src/gnomine.vala
index f839181..b166f2f 100644
--- a/gnomine/src/gnomine.vala
+++ b/gnomine/src/gnomine.vala
@@ -879,160 +879,3 @@ public class GnoMine : Gtk.Application
     }
 }
 
-public class ScoreDialog : Gtk.Dialog
-{
-    private History history;
-    private HistoryEntry? selected_entry = null;
-    private Gtk.ListStore size_model;
-    private Gtk.ListStore score_model;
-    private Gtk.ComboBox size_combo;
-
-    public ScoreDialog (History history, HistoryEntry? selected_entry = null, bool show_quit = false)
-    {
-        this.history = history;
-        history.entry_added.connect (entry_added_cb);
-        this.selected_entry = selected_entry;
-
-        if (show_quit)
-        {
-            add_button (Gtk.Stock.QUIT, Gtk.ResponseType.CLOSE);
-            add_button (_("New Game"), Gtk.ResponseType.OK);
-        }
-        else
-            add_button (Gtk.Stock.OK, Gtk.ResponseType.DELETE_EVENT);
-        set_size_request (200, 300);
-
-        var vbox = new Gtk.Box (Gtk.Orientation.VERTICAL, 5);
-        vbox.border_width = 6;
-        vbox.show ();
-        get_content_area ().pack_start (vbox, true, true, 0);
-
-        var hbox = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6);
-        hbox.show ();
-        vbox.pack_start (hbox, false, false, 0);
-
-        var label = new Gtk.Label (_("Size:"));
-        label.show ();
-        hbox.pack_start (label, false, false, 0);
-
-        size_model = new Gtk.ListStore (4, typeof (string), typeof (int), typeof (int), typeof (int));
-
-        size_combo = new Gtk.ComboBox ();
-        size_combo.changed.connect (size_changed_cb);
-        size_combo.model = size_model;
-        var renderer = new Gtk.CellRendererText ();
-        size_combo.pack_start (renderer, true);
-        size_combo.add_attribute (renderer, "text", 0);
-        size_combo.show ();
-        hbox.pack_start (size_combo, true, true, 0);
-
-        var scroll = new Gtk.ScrolledWindow (null, null);
-        scroll.shadow_type = Gtk.ShadowType.ETCHED_IN;
-        scroll.set_policy (Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
-        scroll.show ();
-        vbox.pack_start (scroll, true, true, 0);
-
-        score_model = new Gtk.ListStore (3, typeof (string), typeof (string), typeof (int));
-
-        var scores = new Gtk.TreeView ();
-        renderer = new Gtk.CellRendererText ();
-        scores.insert_column_with_attributes (-1, _("Date"), renderer, "text", 0, "weight", 2);
-        renderer = new Gtk.CellRendererText ();
-        renderer.xalign = 1.0f;
-        scores.insert_column_with_attributes (-1, _("Time"), renderer, "text", 1, "weight", 2);
-        scores.model = score_model;
-        scores.show ();
-        scroll.add (scores);
-
-        foreach (var entry in history.entries)
-            entry_added_cb (entry);
-    }
-
-    public void set_size (uint width, uint height, uint n_mines)
-    {
-        score_model.clear ();
-
-        var entries = history.entries.copy ();
-        entries.sort (compare_entries);
-
-        foreach (var entry in entries)
-        {
-            if (entry.width != width || entry.height != height || entry.n_mines != n_mines)
-                continue;
-
-            var date_label = entry.date.format ("%d/%m/%Y");
-
-            var time_label = "%us".printf (entry.duration);
-            if (entry.duration >= 60)
-                time_label = "%um %us".printf (entry.duration / 60, entry.duration % 60);
-
-            int weight = Pango.Weight.NORMAL;
-            if (entry == selected_entry)
-                weight = Pango.Weight.BOLD;
-
-            Gtk.TreeIter iter;
-            score_model.append (out iter);
-            score_model.set (iter, 0, date_label, 1, time_label, 2, weight);
-        }
-    }
-
-    private static int compare_entries (HistoryEntry a, HistoryEntry b)
-    {
-        if (a.width != b.width)
-            return (int) a.width - (int) b.width;
-        if (a.height != b.height)
-            return (int) a.height - (int) b.height;
-        if (a.n_mines != b.n_mines)
-            return (int) a.n_mines - (int) b.n_mines;
-        if (a.duration != b.duration)
-            return (int) a.duration - (int) b.duration;
-        return a.date.compare (b.date);
-    }
-
-    private void size_changed_cb (Gtk.ComboBox combo)
-    {
-        Gtk.TreeIter iter;
-        if (!combo.get_active_iter (out iter))
-            return;
-
-        int width, height, n_mines;
-        combo.model.get (iter, 1, out width, 2, out height, 3, out n_mines);
-        set_size ((uint) width, (uint) height, (uint) n_mines);
-    }
-
-    private void entry_added_cb (HistoryEntry entry)
-    {
-        /* Ignore if already have an entry for this */
-        Gtk.TreeIter iter;
-        var have_size_entry = false;
-        if (size_model.get_iter_first (out iter))
-        {
-            do
-            {
-                int width, height, n_mines;
-                size_model.get (iter, 1, out width, 2, out height, 3, out n_mines);
-                if (width == entry.width && height == entry.height && n_mines == entry.n_mines)
-                {
-                    have_size_entry = true;
-                    break;
-                }
-            } while (size_model.iter_next (ref iter));
-        }
-
-        if (!have_size_entry)
-        {
-            var label = "%u à %u, %u mines".printf (entry.width, entry.height, entry.n_mines);
-
-            size_model.append (out iter);
-            size_model.set (iter, 0, label, 1, entry.width, 2, entry.height, 3, entry.n_mines);
-    
-            /* Select this entry if don't have any */
-            if (size_combo.get_active () == -1)
-                size_combo.set_active_iter (iter);
-
-            /* Select this entry if the same category as the selected one */
-            if (selected_entry != null && entry.width == selected_entry.width && entry.height == selected_entry.height && entry.n_mines == selected_entry.n_mines)
-                size_combo.set_active_iter (iter);
-        }
-    }
-}
diff --git a/gnomine/src/history.vala b/gnomine/src/history.vala
index f9a4e18..87d0849 100644
--- a/gnomine/src/history.vala
+++ b/gnomine/src/history.vala
@@ -28,6 +28,9 @@ public class History
         }
         catch (FileError e)
         {
+            if (!(e is FileError.NOENT))
+                warning ("Failed to load history: %s", e.message);
+            return;
         }
 
         foreach (var line in contents.split ("\n"))



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