[gnome-games] savestates-list: Re-populate the list box everytime the menu is opened
- From: Alexander Mikhaylenko <alexm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-games] savestates-list: Re-populate the list box everytime the menu is opened
- Date: Wed, 14 Aug 2019 16:20:11 +0000 (UTC)
commit 1461ae95cc74d648337a16def17debd275030413
Author: Yetizone <andreii lisita gmail com>
Date: Wed Aug 14 00:45:06 2019 +0300
savestates-list: Re-populate the list box everytime the menu is opened
src/ui/savestates-list.vala | 46 +++++++++++++++++++++------------------------
1 file changed, 21 insertions(+), 25 deletions(-)
---
diff --git a/src/ui/savestates-list.vala b/src/ui/savestates-list.vala
index 4ea0fec5..c8196cf7 100644
--- a/src/ui/savestates-list.vala
+++ b/src/ui/savestates-list.vala
@@ -30,31 +30,7 @@ private class Games.SavestatesList : Gtk.Box {
}
}
- private Runner _runner;
- public Runner runner {
- get { return _runner; }
- set {
- _runner = value;
-
- // Remove current savestate rows
- var list_rows = list_box.get_children ();
- foreach (var row in list_rows) {
- if (row != new_savestate_row)
- list_box.remove (row);
- }
-
- if (value == null)
- return;
-
- // value != null
- var savestates = _runner.get_savestates ();
- foreach (var savestate in savestates) {
- var list_row = new SavestateListBoxRow (savestate);
-
- list_box.add (list_row);
- }
- }
- }
+ public Runner runner { get; set; }
construct {
list_box.set_header_func (update_header);
@@ -87,6 +63,25 @@ private class Games.SavestatesList : Gtk.Box {
select_savestate_row (activated_row);
}
+ private void populate_list_box () {
+ // Remove current savestate rows
+ var list_rows = list_box.get_children ();
+ foreach (var row in list_rows) {
+ if (row != new_savestate_row)
+ list_box.remove (row);
+ }
+
+ if (runner == null)
+ return;
+
+ var savestates = _runner.get_savestates ();
+ foreach (var savestate in savestates) {
+ var list_row = new SavestateListBoxRow (savestate);
+
+ list_box.add (list_row);
+ }
+ }
+
private void on_load_clicked () {
if (!try_runner_load_previewed_savestate ()) {
// TODO: Here we could show a dialog with one button like
@@ -115,6 +110,7 @@ private class Games.SavestatesList : Gtk.Box {
if (state.is_revealed) {
runner.pause ();
+ populate_list_box ();
select_savestate_row (null);
}
// Runner isn't resumed here but after the revealer finishes the transition
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]