diff --git a/src/juce_appframework/gui/components/keyboard/juce_KeyMappingEditorComponent.cpp b/src/juce_appframework/gui/components/keyboard/juce_KeyMappingEditorComponent.cpp index bbd2a89ce0..18a0a02e17 100644 --- a/src/juce_appframework/gui/components/keyboard/juce_KeyMappingEditorComponent.cpp +++ b/src/juce_appframework/gui/components/keyboard/juce_KeyMappingEditorComponent.cpp @@ -141,7 +141,7 @@ public: } } - void fitToContent (int h) + void fitToContent (const int h) throw() { if (keyNum < 0) { @@ -154,6 +154,8 @@ public: } } + juce_UseDebuggingNewOperator + private: KeyMappingEditorComponent* const owner; const CommandID commandID; @@ -164,7 +166,7 @@ private: }; //============================================================================== -class KeyMappingItemComponent : public Component +class KeyMappingItemComponent : public Component { public: KeyMappingItemComponent (KeyMappingEditorComponent* const owner_, @@ -174,22 +176,22 @@ public: { setInterceptsMouseClicks (false, true); - const bool isReadOnly = owner->isCommandReadOnly (commandID); + const bool isReadOnly = owner_->isCommandReadOnly (commandID); - Array keyPresses (owner->getMappings()->getKeyPressesAssignedToCommand (commandID)); + const Array keyPresses (owner_->getMappings()->getKeyPressesAssignedToCommand (commandID)); for (int i = 0; i < jmin (maxKeys, keyPresses.size()); ++i) { KeyMappingChangeButton* const kb - = new KeyMappingChangeButton (owner, commandID, - owner->getDescriptionForKeyPress (keyPresses.getReference (i)), i); + = new KeyMappingChangeButton (owner_, commandID, + owner_->getDescriptionForKeyPress (keyPresses.getReference (i)), i); kb->setEnabled (! isReadOnly); addAndMakeVisible (kb); } - KeyMappingChangeButton* kb - = new KeyMappingChangeButton (owner, commandID, String::empty, -1); + KeyMappingChangeButton* const kb + = new KeyMappingChangeButton (owner_, commandID, String::empty, -1); addChildComponent (kb); kb->setVisible (keyPresses.size() < maxKeys && ! isReadOnly); @@ -216,13 +218,16 @@ public: for (int i = getNumChildComponents(); --i >= 0;) { - KeyMappingChangeButton* kb = dynamic_cast (getChildComponent (i)); + KeyMappingChangeButton* const kb = dynamic_cast (getChildComponent (i)); + kb->fitToContent (getHeight() - 2); kb->setTopRightPosition (x, 1); x -= kb->getWidth() + 5; } } + juce_UseDebuggingNewOperator + private: KeyMappingEditorComponent* const owner; const CommandID commandID; @@ -246,11 +251,7 @@ public: { } - const String getUniqueName() const - { - return String ((int) commandID) + T("_id"); - } - + const String getUniqueName() const { return String ((int) commandID) + "_id"; } bool mightContainSubItems() { return false; } int getItemHeight() const { return 20; } @@ -259,6 +260,8 @@ public: return new KeyMappingItemComponent (owner, commandID); } + juce_UseDebuggingNewOperator + private: KeyMappingEditorComponent* const owner; const CommandID commandID; @@ -283,11 +286,7 @@ public: { } - const String getUniqueName() const - { - return categoryName + T("_cat"); - } - + const String getUniqueName() const { return categoryName + "_cat"; } bool mightContainSubItems() { return true; } int getItemHeight() const { return 28; } @@ -322,6 +321,8 @@ public: } } + juce_UseDebuggingNewOperator + private: KeyMappingEditorComponent* owner; String categoryName; @@ -451,14 +452,7 @@ void KeyMappingEditorComponent::changeListenerCallback (void*) //============================================================================== class KeyEntryWindow : public AlertWindow { - KeyMappingEditorComponent* owner; - - KeyEntryWindow (const KeyEntryWindow&); - const KeyEntryWindow& operator= (const KeyEntryWindow&); - public: - KeyPress lastPress; - KeyEntryWindow (KeyMappingEditorComponent* const owner_) : AlertWindow (TRANS("New key-mapping"), TRANS("Please press a key combination now..."), @@ -468,6 +462,10 @@ public: addButton (TRANS("ok"), 1); addButton (TRANS("cancel"), 0); + // (avoid return + escape keys getting processed by the buttons..) + for (int i = getNumChildComponents(); --i >= 0;) + getChildComponent (i)->setWantsKeyboardFocus (false); + setWantsKeyboardFocus (true); grabKeyboardFocus(); } @@ -485,10 +483,10 @@ public: if (previousCommand != 0) { - message << T("\n\n") + message << "\n\n" << TRANS("(Currently assigned to \"") << owner->getMappings()->getCommandManager()->getNameOfCommand (previousCommand) - << T("\")"); + << "\")"; } setMessage (message); @@ -500,10 +498,20 @@ public: { return true; } + + KeyPress lastPress; + + juce_UseDebuggingNewOperator + +private: + KeyMappingEditorComponent* owner; + + KeyEntryWindow (const KeyEntryWindow&); + const KeyEntryWindow& operator= (const KeyEntryWindow&); }; -void KeyMappingEditorComponent::assignNewKey (const CommandID commandID, int index) +void KeyMappingEditorComponent::assignNewKey (const CommandID commandID, const int index) { KeyEntryWindow entryWindow (this);