diff --git a/app/locale/en.coffee b/app/locale/en.coffee index 103f368cb..072dc62ec 100644 --- a/app/locale/en.coffee +++ b/app/locale/en.coffee @@ -416,7 +416,9 @@ tome_cast_button_running: "Running" tome_cast_button_ran: "Ran" tome_submit_button: "Submit" - tome_select_spell: "Select a Spell" + tome_reload_method: "Reload original code for this method" # Title text for individual method reload button. + tome_select_method: "Select a Method" + tome_see_all_methods: "See all methods you can edit" # Title text for method list selector (shown when there are multiple programmable methdos). tome_select_a_thang: "Select Someone for " tome_available_spells: "Available Spells" tome_your_skills: "Your Skills" diff --git a/app/templates/play/level/tome/spell_list.jade b/app/templates/play/level/tome/spell_list.jade index 90d7f9e06..84b28511a 100644 --- a/app/templates/play/level/tome/spell_list.jade +++ b/app/templates/play/level/tome/spell_list.jade @@ -1 +1 @@ -h5(data-i18n="play_level.tome_select_spell") Select a Spell +h5(data-i18n="play_level.tome_select_method") Select a Method diff --git a/app/templates/play/level/tome/spell_list_tab_entry.jade b/app/templates/play/level/tome/spell_list_tab_entry.jade index 9e3ac0ce8..a2ec05b06 100644 --- a/app/templates/play/level/tome/spell_list_tab_entry.jade +++ b/app/templates/play/level/tome/spell_list_tab_entry.jade @@ -1,20 +1,23 @@ img(src="/images/level/code_editor_tab_background.png").spell-tab-image-hidden.hidden -.btn.btn-small.spell-list-button(title="See all spells you can edit") - i.icon-chevron-down +if includeSpellList + .btn.btn-small.spell-list-button(data-i18n="[title]play_level.tome_see_all_methods", title="See all methods you can edit") + i.icon-chevron-down .thang-avatar-placeholder code #{methodSignature} .spell-tool-buttons - .btn.btn-small.fullscreen-code(title=maximizeShortcutVerbose) - i.icon-fullscreen - i.icon-resize-small + if levelType !== 'hero' + .btn.btn-small.fullscreen-code(title=maximizeShortcutVerbose) + i.icon-fullscreen + i.icon-resize-small - .btn.btn-small.reload-code(title="Reload original code for " + spell.name) + .btn.btn-small.reload-code(data-i18n="[title]play_level.tome_reload_method", title="Reload original code for this method") i.icon-repeat - .btn.btn-small.beautify-code(title=beautifyShortcutVerbose) - i.icon-magnet + if codeLanguage === 'javascript' + .btn.btn-small.beautify-code(title=beautifyShortcutVerbose) + i.icon-magnet .clearfix \ No newline at end of file diff --git a/app/views/play/level/tome/CastButtonView.coffee b/app/views/play/level/tome/CastButtonView.coffee index e30bac173..650fb801f 100644 --- a/app/views/play/level/tome/CastButtonView.coffee +++ b/app/views/play/level/tome/CastButtonView.coffee @@ -104,7 +104,8 @@ module.exports = class CastButtonView extends CocoView else if castable s = $.i18n.t('play_level.tome_cast_button_run') s = $.i18n.t('play_level.tome_cast_button_casting') if s is 'Run' and me.get('preferredLanguage').split('-')[0] isnt 'en' # Temporary, if tome_cast_button_running isn't translated. - s += ' ' + @castShortcut + unless @options.levelID in ['dungeons-of-kithgard', 'gems-in-the-deep', 'shadow-guard', 'true-names'] # Hide for first few. + s += ' ' + @castShortcut else s = $.i18n.t('play_level.tome_cast_button_ran') s = $.i18n.t('play_level.tome_cast_button_casting') if s is 'Ran' and me.get('preferredLanguage').split('-')[0] isnt 'en' # Temporary, if tome_cast_button_running isn't translated. diff --git a/app/views/play/level/tome/Spell.coffee b/app/views/play/level/tome/Spell.coffee index be55f5c35..af5349f6e 100644 --- a/app/views/play/level/tome/Spell.coffee +++ b/app/views/play/level/tome/Spell.coffee @@ -43,7 +43,7 @@ module.exports = class Spell if @canRead() # We can avoid creating these views if we'll never use them. @view = new SpellView {spell: @, level: options.level, session: @session, worker: @worker} @view.render() # Get it ready and code loaded in advance - @tabView = new SpellListTabEntryView spell: @, supermodel: @supermodel, language: @language + @tabView = new SpellListTabEntryView spell: @, supermodel: @supermodel, codeLanguage: @language, level: options.level @tabView.render() @team = @permissions.readwrite[0] ? 'common' Backbone.Mediator.publish 'tome:spell-created', spell: @ @@ -56,7 +56,7 @@ module.exports = class Spell @worker = null setLanguage: (@language) -> - console.log 'setting language to', @language, 'so using original source', @languages[language] ? @languages.javascript + #console.log 'setting language to', @language, 'so using original source', @languages[language] ? @languages.javascript @originalSource = @languages[language] ? @languages.javascript addThang: (thang) -> diff --git a/app/views/play/level/tome/SpellListTabEntryView.coffee b/app/views/play/level/tome/SpellListTabEntryView.coffee index 86a6cec27..b27ed0792 100644 --- a/app/views/play/level/tome/SpellListTabEntryView.coffee +++ b/app/views/play/level/tome/SpellListTabEntryView.coffee @@ -33,6 +33,9 @@ module.exports = class SpellListTabEntryView extends SpellListEntryView shift = $.i18n.t 'keyboard_shortcuts.shift' context.beautifyShortcutVerbose = "#{ctrl}+#{shift}+B: #{$.i18n.t 'keyboard_shortcuts.beautify'}" context.maximizeShortcutVerbose = "#{ctrl}+#{shift}+M: #{$.i18n.t 'keyboard_shortcuts.maximize_editor'}" + context.includeSpellList = @options.includeSpellList + context.codeLanguage = @options.codeLanguage + context.levelType = @options.level.get 'type', true context afterRender: -> @@ -71,7 +74,7 @@ module.exports = class SpellListTabEntryView extends SpellListEntryView found = true break return unless found - docFormatter = new DocFormatter doc: doc, thang: @thang, language: @options.language, selectedMethod: true + docFormatter = new DocFormatter doc: doc, thang: @thang, language: @options.codeLanguage, selectedMethod: true @$el.find('code').popover( animation: true html: true @@ -122,11 +125,12 @@ module.exports = class SpellListTabEntryView extends SpellListEntryView onSpellChangedLanguage: (e) -> return unless e.spell is @spell - @options.language = e.language + @options.codeLanguage = e.language @$el.find('code').popover 'destroy' @render() @docsBuilt = false @buildDocs() if @thang + @updateReloadButton() toggleControls: (e, enabled) -> # Don't call super; do it differently diff --git a/app/views/play/level/tome/SpellListView.coffee b/app/views/play/level/tome/SpellListView.coffee index febdbce12..9bf6ece39 100644 --- a/app/views/play/level/tome/SpellListView.coffee +++ b/app/views/play/level/tome/SpellListView.coffee @@ -61,7 +61,7 @@ module.exports = class SpellListView extends CocoView theseThangs = _.keys(spell.thangs) changedThangs = not lastThangs or not _.isEqual theseThangs, lastThangs lastThangs = theseThangs - newEntries.push entry = new SpellListEntryView spell: spell, showTopDivider: changedThangs, supermodel: @supermodel + newEntries.push entry = new SpellListEntryView spell: spell, showTopDivider: changedThangs, supermodel: @supermodel, includeSpellList: @spells.length > 1 @entries.push entry for entry in newEntries @$el.append entry.el