From e7cf7ee42748d67ecc4337c9342183e7496e4a75 Mon Sep 17 00:00:00 2001 From: Benjamin Michotte Date: Wed, 18 Mar 2015 20:39:54 +0100 Subject: [PATCH] Support for arena decks --- app/controllers/deck_manager.rb | 29 +++++++++++++++++++------- resources/de.lproj/Localizable.strings | 1 + resources/en.lproj/Localizable.strings | 1 + resources/fr.lproj/Localizable.strings | 1 + 4 files changed, 24 insertions(+), 8 deletions(-) diff --git a/app/controllers/deck_manager.rb b/app/controllers/deck_manager.rb index fe440ecd1..bf038f91a 100644 --- a/app/controllers/deck_manager.rb +++ b/app/controllers/deck_manager.rb @@ -234,7 +234,7 @@ def validateToolbarItem(item) case item.itemIdentifier when 'save', 'delete', 'close', 'play', 'export' @in_edition - when 'new', 'import' + when 'new', 'import', 'arena' !@in_edition else true @@ -242,12 +242,12 @@ def validateToolbarItem(item) end def toolbarAllowedItemIdentifiers(toolbar) - ['new', 'import', 'save', 'search', 'close', 'delete', 'play', 'export', + ['new', 'arena', 'import', 'save', 'search', 'close', 'delete', 'play', 'export', NSToolbarFlexibleSpaceItemIdentifier, NSToolbarSpaceItemIdentifier, NSToolbarSeparatorItemIdentifier] end def toolbarDefaultItemIdentifiers(toolbar) - ['new', 'import', NSToolbarSeparatorItemIdentifier, + ['new', 'arena', 'import', NSToolbarSeparatorItemIdentifier, 'save', 'delete', 'close', 'play', 'export', NSToolbarFlexibleSpaceItemIdentifier, 'search'] end @@ -264,16 +264,19 @@ def toolbar(toolbar, itemForItemIdentifier: identifier, willBeInsertedIntoToolba item.target = self item.action = 'import_deck:' - when 'new' - item.label = 'New'._ + when 'new', 'arena' + label = (identifier == 'new') ? 'New'._ : 'Arena Deck'._ + action = (identifier == 'new') ? 'add_deck:' : 'add_area_deck:' - menu = NSMenu.alloc.initWithTitle 'new' - menu_item = NSMenuItem.alloc.initWithTitle('New'._, action: nil, keyEquivalent: '') + item.label = label + + menu = NSMenu.alloc.initWithTitle identifier + menu_item = NSMenuItem.alloc.initWithTitle(label, action: nil, keyEquivalent: '') menu.addItem menu_item classes = %w(Shaman Hunter Warlock Druid Warrior Mage Paladin Priest Rogue) classes.each do |clazz| - menu_item = NSMenuItem.alloc.initWithTitle(clazz._, action: 'add_deck:', keyEquivalent: '') + menu_item = NSMenuItem.alloc.initWithTitle(clazz._, action: action, keyEquivalent: '') menu_item.identifier = clazz menu.addItem menu_item end @@ -419,7 +422,17 @@ def show_deck(deck, clazz=nil, name=nil) @table_view.reloadData end + def add_area_deck(sender) + @current_deck_mode = :arena + start_new_deck(sender) + end + def add_deck(sender) + @current_deck_mode = :constructed + start_new_deck(sender) + end + + def start_new_deck(sender) clazz = sender.identifier @in_edition = true diff --git a/resources/de.lproj/Localizable.strings b/resources/de.lproj/Localizable.strings index 17b250ee1..8a5029dc3 100644 --- a/resources/de.lproj/Localizable.strings +++ b/resources/de.lproj/Localizable.strings @@ -70,6 +70,7 @@ "Play" = "Play"; "Export" = "Export"; "Export Deck" = "Export Deck"; +"Arena Deck" = "Arena Deck"; "You are currently in a deck edition and you changes have not been saved." = "Sie sind momentan in der Deckerstellung und Änderungen wurden noch nicht gesichert."; "Deck name" = "Deckname"; "Are you sure you want to delete this deck ?" = "Sind Sie sicher, dass Sie dieses Deck löschen möchten?"; diff --git a/resources/en.lproj/Localizable.strings b/resources/en.lproj/Localizable.strings index 43d08da72..d673c44e0 100644 --- a/resources/en.lproj/Localizable.strings +++ b/resources/en.lproj/Localizable.strings @@ -70,6 +70,7 @@ "Play" = "Play"; "Export" = "Export"; "Export Deck" = "Export Deck"; +"Arena Deck" = "Arena Deck"; "You are currently in a deck edition and you changes have not been saved." = "You are currently in a deck edition and you changes have not been saved."; "Deck name" = "Deck name"; "Are you sure you want to delete this deck ?" = "Are you sure you want to delete this deck ?"; diff --git a/resources/fr.lproj/Localizable.strings b/resources/fr.lproj/Localizable.strings index 679fe8c7e..63b59f875 100644 --- a/resources/fr.lproj/Localizable.strings +++ b/resources/fr.lproj/Localizable.strings @@ -70,6 +70,7 @@ "Play" = "Jouer"; "Export" = "Exporter"; "Export Deck" = "Exporter Deck"; +"Arena Deck" = "Deck Arène"; "You are currently in a deck edition and you changes have not been saved." = "Vous êtes en mode édition de deck et vos modifications n'ont pas été sauvegardées."; "Deck name" = "Nom du deck"; "Are you sure you want to delete this deck ?" = "Êtes-vous sur de vouloir supprimer ce deck ?";