[gnome-mines] Added extra keyboard shortcuts for starting/stopping games
- From: Robert Roth <robertroth src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-mines] Added extra keyboard shortcuts for starting/stopping games
- Date: Wed, 4 Nov 2015 07:26:08 +0000 (UTC)
commit 38ba11888e04416edd972b50e707fcd59bb48aaf
Author: Isaac Lenton <isaac isuniversal com>
Date: Sat Oct 31 19:34:11 2015 +1000
Added extra keyboard shortcuts for starting/stopping games
- Numbers 1-4 launch small, medium, large and custom games
- Escape key returns to new game screen if game hasn't started
https://bugzilla.gnome.org/show_bug.cgi?id=757406
src/gnome-mines.vala | 22 ++++++++++++++++++++++
1 files changed, 22 insertions(+), 0 deletions(-)
---
diff --git a/src/gnome-mines.vala b/src/gnome-mines.vala
index f372079..886bbb4 100644
--- a/src/gnome-mines.vala
+++ b/src/gnome-mines.vala
@@ -95,7 +95,12 @@ public class Mines : Gtk.Application
private const GLib.ActionEntry[] action_entries =
{
{ "new-game", new_game_cb },
+ { "silent-new-game", silent_new_game_cb },
{ "repeat-size", repeat_size_cb },
+ { "small-size", small_size_clicked_cb },
+ { "medium-size", medium_size_clicked_cb },
+ { "large-size", large_size_clicked_cb },
+ { "custom-size", show_custom_game_screen },
{ "pause", toggle_pause_cb },
{ "scores", scores_cb },
{ "preferences", preferences_cb },
@@ -264,7 +269,12 @@ public class Mines : Gtk.Application
}
set_accels_for_action ("app.new-game", {"<Primary>n"});
+ set_accels_for_action ("app.silent-new-game", {"Escape"});
set_accels_for_action ("app.repeat-size", {"<Primary>r"});
+ set_accels_for_action ("app.small-size", {"1"});
+ set_accels_for_action ("app.medium-size", {"2"});
+ set_accels_for_action ("app.large-size", {"3"});
+ set_accels_for_action ("app.custom-size", {"4"});
set_accels_for_action ("app.pause", {"Pause"});
set_accels_for_action ("app.help", {"F1"});
set_accels_for_action ("app.quit", {"<Primary>q", "<Primary>w"});
@@ -533,6 +543,9 @@ public class Mines : Gtk.Application
private void show_custom_game_screen ()
{
+ if (minefield != null)
+ return;
+
stack.visible_child_name = "custom_game";
}
@@ -670,6 +683,12 @@ public class Mines : Gtk.Application
show_new_game_screen ();
}
+ private void silent_new_game_cb ()
+ {
+ if (minefield == null || minefield.n_cleared == 0)
+ show_new_game_screen ();
+ }
+
private void repeat_size_cb ()
{
if (can_start_new_game ())
@@ -844,6 +863,9 @@ public class Mines : Gtk.Application
private void set_mode (int mode)
{
+ if (minefield != null)
+ return;
+
if (mode != settings.get_int (KEY_MODE))
settings.set_int (KEY_MODE, mode);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]