1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-03-02 17:09:40 +00:00

Merge branch 'quickerkeys' into 'master'

Allow activating quick keys menu in menus (bug )

Closes 

See merge request 
This commit is contained in:
psi29a 2022-07-27 08:36:10 +00:00
commit 59f1bcc966
4 changed files with 25 additions and 14 deletions

View file

@ -132,6 +132,7 @@
Bug #6799: Game crashes if an NPC has no Class attached
Bug #6849: ImageButton texture is not scaled properly
Bug #6895: Removing a negative number of items from a script, makes the script terminate with an error
Bug #6898: Accessing the Quick Inventory menu does not work while in menu mode
Bug #6901: Morrowind.exe soul gem usage discrepancy
Feature #890: OpenMW-CS: Column filtering
Feature #1465: "Reset" argument for AI functions

View file

@ -123,6 +123,18 @@ namespace MWGui
}
}
void QuickKeysMenu::onClose()
{
WindowBase::onClose();
if (mAssignDialog)
mAssignDialog->setVisible(false);
if (mItemSelectionDialog)
mItemSelectionDialog->setVisible(false);
if (mMagicSelectionDialog)
mMagicSelectionDialog->setVisible(false);
}
void QuickKeysMenu::unassign(keyData* key)
{
key->button->clearUserStrings();

View file

@ -33,6 +33,7 @@ namespace MWGui
void onAssignMagic (const std::string& spellId);
void onAssignMagicCancel ();
void onOpen() override;
void onClose() override;
void activateQuickKey(int index);
void updateActivatedQuickKey();

View file

@ -477,22 +477,19 @@ namespace MWInput
void ActionManager::showQuickKeysMenu()
{
if (!MWBase::Environment::get().getWindowManager()->isGuiMode ()
&& MWBase::Environment::get().getWorld()->getGlobalFloat ("chargenstate")==-1)
if (MWBase::Environment::get().getWindowManager()->getMode () == MWGui::GM_QuickKeysMenu)
{
if (!checkAllowedToUseItems())
return;
MWBase::Environment::get().getWindowManager()->exitCurrentGuiMode();
return;
}
MWBase::Environment::get().getWindowManager()->pushGuiMode (MWGui::GM_QuickKeysMenu);
}
else if (MWBase::Environment::get().getWindowManager()->getMode () == MWGui::GM_QuickKeysMenu)
{
while (MyGUI::InputManager::getInstance().isModalAny())
{ //Handle any open Modal windows
MWBase::Environment::get().getWindowManager()->exitCurrentModal();
}
MWBase::Environment::get().getWindowManager()->exitCurrentGuiMode(); //And handle the actual main window
}
if (MWBase::Environment::get().getWorld()->getGlobalFloat ("chargenstate") != -1)
return;
if (!checkAllowedToUseItems())
return;
MWBase::Environment::get().getWindowManager()->pushGuiMode (MWGui::GM_QuickKeysMenu);
}
void ActionManager::activate()