[gnome-games] chess: Make history combo correctly track move number
- From: Robert Ancell <rancell src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-games] chess: Make history combo correctly track move number
- Date: Tue, 18 Jan 2011 23:09:09 +0000 (UTC)
commit 98a12e0137439dd8168d69c67662de578b6b0c09
Author: Robert Ancell <robert ancell canonical com>
Date: Wed Jan 19 10:07:48 2011 +1100
chess: Make history combo correctly track move number
glchess/data/glchess.ui | 1 -
glchess/src/glchess.vala | 9 +++++++--
2 files changed, 7 insertions(+), 3 deletions(-)
---
diff --git a/glchess/data/glchess.ui b/glchess/data/glchess.ui
index cbcd7af..4978305 100644
--- a/glchess/data/glchess.ui
+++ b/glchess/data/glchess.ui
@@ -355,7 +355,6 @@
<object class="GtkComboBox" id="history_combo">
<property name="visible">True</property>
<property name="model">history_model</property>
- <signal name="changed" handler="history_combo_changed_cb" swapped="no"/>
<child>
<object class="GtkCellRendererText" id="history_combo_cellrenderer"/>
<attributes>
diff --git a/glchess/src/glchess.vala b/glchess/src/glchess.vala
index 250eb78..1c9a88e 100644
--- a/glchess/src/glchess.vala
+++ b/glchess/src/glchess.vala
@@ -167,6 +167,7 @@ public class Application
next_move_button.sensitive = move_number < n_moves;
last_move_button.sensitive = n_moves > 0 && move_number != n_moves;
+ /* Set move text for all moves (it may have changed format) */
int i = n_moves;
foreach (var state in game.move_stack)
{
@@ -178,6 +179,8 @@ public class Application
}
i--;
}
+
+ history_combo.set_active (move_number);
}
private void options_changed_cb (ChessViewOptions options)
@@ -600,9 +603,11 @@ public class Application
Gtk.TreeIter iter;
var model = (Gtk.ListStore) history_combo.model;
model.append (out iter);
- model.set (iter, 1, game.n_moves, -1);
+ model.set (iter, 1, move.number, -1);
set_move_text (iter, move);
- if (view_options.move_number == -1)
+
+ /* Follow the latest move */
+ if (move.number == game.n_moves && view_options.move_number == -1)
history_combo.set_active_iter (iter);
save_menu.sensitive = true;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]