From c81deb737d1672c82fee65b251f5fc973a7df320 Mon Sep 17 00:00:00 2001 From: George Evmenov Date: Tue, 28 Feb 2012 21:48:38 +0000 Subject: [PATCH] merge changes from trunk into 3.2 tag --- Common/Base/DirectX/BaseManager.h | 1 + Common/Base/DirectX11/BaseManager.h | 1 + Common/Base/Ogre/BaseManager.cpp | 39 +-- Common/Base/Ogre/BaseManager.h | 1 + Common/Base/OpenGL/BaseManager.h | 1 + Common/Input/InputConverter.h | 1 + Common/Input/Win32/InputManager.cpp | 8 +- Docs/Papers/Skin creation/Skining MyGUI.odt | Bin 0 -> 20569 bytes Media/Tools/FontViewer/FontPanel.layout | 225 ++++++++---------- Media/Tools/FontViewer/FontView.layout | 2 +- Media/Tools/FontViewer/TextureView.layout | 4 +- Media/Tools/LayoutEditor/EditorLanguage.xml | 5 - .../LayoutEditor/EditorLanguageEnglishTag.xml | 1 + .../LayoutEditor/EditorLanguageRussianTag.xml | 1 + Media/Tools/LayoutEditor/Settings/Hotkeys.xml | 6 + .../SettingsGeneralControl.layout | 10 + Media/Tools/SkinEditor/EditorLanguage.xml | 3 - .../SkinEditor/EditorLanguageEnglishTag.xml | 3 +- .../SkinEditor/EditorLanguageRussianTag.xml | 1 + Media/Tools/SkinEditor/Hotkeys.xml | 6 + .../SkinEditor/SettingsGeneralControl.layout | 10 + .../src/MyGUI_ResourceTrueTypeFont.cpp | 3 - Tools/LayoutEditor/Application.cpp | 32 ++- Tools/LayoutEditor/Application.h | 1 + Tools/LayoutEditor/SettingsGeneralControl.cpp | 53 +++-- Tools/LayoutEditor/SettingsGeneralControl.h | 4 +- Tools/SkinEditor/Application.cpp | 22 +- Tools/SkinEditor/Application.h | 1 + Tools/SkinEditor/SettingsGeneralControl.cpp | 33 ++- Tools/SkinEditor/SettingsGeneralControl.h | 3 + 30 files changed, 292 insertions(+), 189 deletions(-) create mode 100644 Docs/Papers/Skin creation/Skining MyGUI.odt diff --git a/Common/Base/DirectX/BaseManager.h b/Common/Base/DirectX/BaseManager.h index fa4b8bb178..eab5107741 100644 --- a/Common/Base/DirectX/BaseManager.h +++ b/Common/Base/DirectX/BaseManager.h @@ -45,6 +45,7 @@ namespace base void setWindowCaption(const std::wstring& _text); void createDefaultScene() { } + void makeScreenShot() { } const std::string& getRootMedia(); void setResourceFilename(const std::string& _flename); diff --git a/Common/Base/DirectX11/BaseManager.h b/Common/Base/DirectX11/BaseManager.h index 67735343b8..a537cfbae7 100644 --- a/Common/Base/DirectX11/BaseManager.h +++ b/Common/Base/DirectX11/BaseManager.h @@ -49,6 +49,7 @@ namespace base void setWindowCaption(const std::wstring& _text); void createDefaultScene() { } + void makeScreenShot() { } const std::string& getRootMedia(); void setResourceFilename(const std::string& _flename); diff --git a/Common/Base/Ogre/BaseManager.cpp b/Common/Base/Ogre/BaseManager.cpp index 8075f59f63..c00d64b2e8 100644 --- a/Common/Base/Ogre/BaseManager.cpp +++ b/Common/Base/Ogre/BaseManager.cpp @@ -439,23 +439,7 @@ namespace base } else if (_key == MyGUI::KeyCode::SysRq) { - std::ifstream stream; - std::string file; - do - { - stream.close(); - static size_t num = 0; - const size_t max_shot = 100; - if (num == max_shot) - { - MYGUI_LOG(Info, "The limit of screenshots is exceeded : " << max_shot); - return; - } - file = MyGUI::utility::toString("screenshot_", ++num, ".png"); - stream.open(file.c_str()); - } - while (stream.is_open()); - mWindow->writeContentsToFile(file); + makeScreenShot(); return; } else if (_key == MyGUI::KeyCode::F12) @@ -546,4 +530,25 @@ namespace base return mCamera; } + void BaseManager::makeScreenShot() + { + std::ifstream stream; + std::string file; + do + { + stream.close(); + static size_t num = 0; + const size_t max_shot = 100; + if (num == max_shot) + { + MYGUI_LOG(Info, "The limit of screenshots is exceeded : " << max_shot); + return; + } + file = MyGUI::utility::toString("screenshot_", ++num, ".png"); + stream.open(file.c_str()); + } + while (stream.is_open()); + mWindow->writeContentsToFile(file); + } + } // namespace base diff --git a/Common/Base/Ogre/BaseManager.h b/Common/Base/Ogre/BaseManager.h index 34db08a7b5..6e122fd49b 100644 --- a/Common/Base/Ogre/BaseManager.h +++ b/Common/Base/Ogre/BaseManager.h @@ -42,6 +42,7 @@ namespace base void setWindowCaption(const std::wstring& _text); void createDefaultScene(); + void makeScreenShot(); const std::string& getRootMedia(); void setResourceFilename(const std::string& _flename); diff --git a/Common/Base/OpenGL/BaseManager.h b/Common/Base/OpenGL/BaseManager.h index d842a82d07..ea7e2c4011 100644 --- a/Common/Base/OpenGL/BaseManager.h +++ b/Common/Base/OpenGL/BaseManager.h @@ -40,6 +40,7 @@ namespace base void setWindowCaption(const std::wstring& _text); void createDefaultScene() { } + void makeScreenShot() { } const std::string& getRootMedia(); void setResourceFilename(const std::string& _flename); diff --git a/Common/Input/InputConverter.h b/Common/Input/InputConverter.h index 273c02013e..32e6f12480 100644 --- a/Common/Input/InputConverter.h +++ b/Common/Input/InputConverter.h @@ -970,6 +970,7 @@ namespace input ADD_MAP2(END, END) ADD_MAP2(PRIOR, PGUP) ADD_MAP2(NEXT, PGDOWN) + ADD_MAP2(SNAPSHOT, SYSRQ) ADD_MAP2(NUMLOCK, NUMLOCK) ADD_MAP2(DIVIDE, DIVIDE) diff --git a/Common/Input/Win32/InputManager.cpp b/Common/Input/Win32/InputManager.cpp index 171a1d0378..089147bf41 100644 --- a/Common/Input/Win32/InputManager.cpp +++ b/Common/Input/Win32/InputManager.cpp @@ -189,7 +189,13 @@ namespace input else if (WM_KEYUP == uMsg) { int scan_code = VirtualKeyToScanCode(wParam); - msInputManager->injectKeyRelease(MyGUI::KeyCode::Enum(scan_code)); + MyGUI::KeyCode code = MyGUI::KeyCode::Enum(scan_code); + + // принтскрин приходит только отжатие + if (code == MyGUI::KeyCode::SysRq) + msInputManager->injectKeyPress(code, (MyGUI::Char)0); + + msInputManager->injectKeyRelease(code); } // вызываем полюбому diff --git a/Docs/Papers/Skin creation/Skining MyGUI.odt b/Docs/Papers/Skin creation/Skining MyGUI.odt new file mode 100644 index 0000000000000000000000000000000000000000..f4eeba244bbadc97db48e82ccb9b5456371ddb09 GIT binary patch literal 20569 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 literal 0 HcmV?d00001 diff --git a/Media/Tools/FontViewer/FontPanel.layout b/Media/Tools/FontViewer/FontPanel.layout index aa9677becc..9b3154d508 100644 --- a/Media/Tools/FontViewer/FontPanel.layout +++ b/Media/Tools/FontViewer/FontPanel.layout @@ -1,124 +1,107 @@  - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Media/Tools/FontViewer/FontView.layout b/Media/Tools/FontViewer/FontView.layout index 4c858d5ba3..8d5b55e480 100644 --- a/Media/Tools/FontViewer/FontView.layout +++ b/Media/Tools/FontViewer/FontView.layout @@ -3,7 +3,7 @@ - + diff --git a/Media/Tools/FontViewer/TextureView.layout b/Media/Tools/FontViewer/TextureView.layout index 963179e07e..dbe458ff76 100644 --- a/Media/Tools/FontViewer/TextureView.layout +++ b/Media/Tools/FontViewer/TextureView.layout @@ -1,8 +1,8 @@  - + - + diff --git a/Media/Tools/LayoutEditor/EditorLanguage.xml b/Media/Tools/LayoutEditor/EditorLanguage.xml index 8bf7f03035..e1d19f9d99 100644 --- a/Media/Tools/LayoutEditor/EditorLanguage.xml +++ b/Media/Tools/LayoutEditor/EditorLanguage.xml @@ -1,16 +1,11 @@ - - - EditorLanguageEnglishTag.xml - EditorLanguageRussianTag.xml - diff --git a/Media/Tools/LayoutEditor/EditorLanguageEnglishTag.xml b/Media/Tools/LayoutEditor/EditorLanguageEnglishTag.xml index 51222cc95c..01dd37531c 100644 --- a/Media/Tools/LayoutEditor/EditorLanguageEnglishTag.xml +++ b/Media/Tools/LayoutEditor/EditorLanguageEnglishTag.xml @@ -61,6 +61,7 @@ Update Resources for update Workspace size + Language Key Value diff --git a/Media/Tools/LayoutEditor/EditorLanguageRussianTag.xml b/Media/Tools/LayoutEditor/EditorLanguageRussianTag.xml index 9ea10d7bab..43453768b9 100644 --- a/Media/Tools/LayoutEditor/EditorLanguageRussianTag.xml +++ b/Media/Tools/LayoutEditor/EditorLanguageRussianTag.xml @@ -61,6 +61,7 @@ Обновление Ресурсы для обновления Размер рабочей области + Язык Ключ Значение diff --git a/Media/Tools/LayoutEditor/Settings/Hotkeys.xml b/Media/Tools/LayoutEditor/Settings/Hotkeys.xml index 5c529c5517..4e3a755553 100644 --- a/Media/Tools/LayoutEditor/Settings/Hotkeys.xml +++ b/Media/Tools/LayoutEditor/Settings/Hotkeys.xml @@ -187,4 +187,10 @@ true + + Command_ScreenShot + SysRq + true + + diff --git a/Media/Tools/LayoutEditor/SettingsGeneralControl.layout b/Media/Tools/LayoutEditor/SettingsGeneralControl.layout index 0b8f8f6210..74a7ffb9e7 100644 --- a/Media/Tools/LayoutEditor/SettingsGeneralControl.layout +++ b/Media/Tools/LayoutEditor/SettingsGeneralControl.layout @@ -19,5 +19,15 @@ + + + + + + + + + + diff --git a/Media/Tools/SkinEditor/EditorLanguage.xml b/Media/Tools/SkinEditor/EditorLanguage.xml index dd3e48ae1a..9b9135366c 100644 --- a/Media/Tools/SkinEditor/EditorLanguage.xml +++ b/Media/Tools/SkinEditor/EditorLanguage.xml @@ -1,7 +1,5 @@ - - EditorLanguageEnglishTag.xml @@ -10,5 +8,4 @@ EditorLanguageRussianTag.xml - diff --git a/Media/Tools/SkinEditor/EditorLanguageEnglishTag.xml b/Media/Tools/SkinEditor/EditorLanguageEnglishTag.xml index bfaec899d3..face89866d 100644 --- a/Media/Tools/SkinEditor/EditorLanguageEnglishTag.xml +++ b/Media/Tools/SkinEditor/EditorLanguageEnglishTag.xml @@ -30,7 +30,8 @@ Path to resources (restart required) Additional resources (restart required) Save last texture - + Language + OK Ok Cancel diff --git a/Media/Tools/SkinEditor/EditorLanguageRussianTag.xml b/Media/Tools/SkinEditor/EditorLanguageRussianTag.xml index bddfdd729e..2876556ef8 100644 --- a/Media/Tools/SkinEditor/EditorLanguageRussianTag.xml +++ b/Media/Tools/SkinEditor/EditorLanguageRussianTag.xml @@ -30,6 +30,7 @@ Пути к ресурсам (требуется перезагрузка) Дополнительные ресурсы (требуется перезагрузка) Сохранять последнюю текстуру + Язык Ок Ок diff --git a/Media/Tools/SkinEditor/Hotkeys.xml b/Media/Tools/SkinEditor/Hotkeys.xml index ffd1bcc5aa..772bf19708 100644 --- a/Media/Tools/SkinEditor/Hotkeys.xml +++ b/Media/Tools/SkinEditor/Hotkeys.xml @@ -145,4 +145,10 @@ true Control + + Command_ScreenShot + SysRq + true + + diff --git a/Media/Tools/SkinEditor/SettingsGeneralControl.layout b/Media/Tools/SkinEditor/SettingsGeneralControl.layout index 7954759f0a..89dbcac559 100644 --- a/Media/Tools/SkinEditor/SettingsGeneralControl.layout +++ b/Media/Tools/SkinEditor/SettingsGeneralControl.layout @@ -12,5 +12,15 @@ + + + + + + + + + + diff --git a/MyGUIEngine/src/MyGUI_ResourceTrueTypeFont.cpp b/MyGUIEngine/src/MyGUI_ResourceTrueTypeFont.cpp index e5354d2b8f..4a6513c352 100644 --- a/MyGUIEngine/src/MyGUI_ResourceTrueTypeFont.cpp +++ b/MyGUIEngine/src/MyGUI_ResourceTrueTypeFont.cpp @@ -591,7 +591,6 @@ namespace MyGUI } // Cache a pointer to the substitute glyph info for fast lookup. - // FIXME: .at was used here instead of find(...)->second mSubstituteGlyphInfo = &mGlyphMap.find(mCharMap.find(mSubstituteCodePoint)->second)->second; // Calculate the average height of all of the glyphs that are in use. This value will be used for estimating how large the @@ -865,7 +864,6 @@ namespace MyGUI case FontCodeType::Selected: case FontCodeType::SelectedBack: { - // FIXME: .at was used here instead of find(...)->second renderGlyph(info, charMaskWhite, charMaskBlack, charMask.find(info.codePoint)->second, j->first, _texBuffer, _texWidth, _texHeight, texX, texY); // Manually adjust the glyph's width to zero. This prevents artifacts from appearing at the seams when @@ -878,7 +876,6 @@ namespace MyGUI case FontCodeType::Cursor: case FontCodeType::Tab: - // FIXME: .at was used here instead of find(...)->second renderGlyph(info, charMaskWhite, charMaskBlack, charMask.find(info.codePoint)->second, j->first, _texBuffer, _texWidth, _texHeight, texX, texY); break; diff --git a/Tools/LayoutEditor/Application.cpp b/Tools/LayoutEditor/Application.cpp index 599d9c9981..aa65a93423 100644 --- a/Tools/LayoutEditor/Application.cpp +++ b/Tools/LayoutEditor/Application.cpp @@ -57,25 +57,29 @@ namespace tools void Application::createScene() { + if (getStatisticInfo() != nullptr) + getStatisticInfo()->setVisible(false); + MyGUI::FactoryManager::getInstance().registerFactory("Layer"); MyGUI::FactoryManager::getInstance().registerFactory("BasisSkin"); MyGUI::ResourceManager::getInstance().load("EditorLayers.xml"); //MyGUI::ResourceManager::getInstance().load("EditorSettings.xml"); - if (getStatisticInfo() != nullptr) - getStatisticInfo()->setVisible(false); - - // set locale language if it was taken from OS - if (!mLocale.empty()) - MyGUI::LanguageManager::getInstance().setCurrentLanguage(mLocale); - // if you want to test LanguageManager uncomment next line - //MyGUI::LanguageManager::getInstance().setCurrentLanguage("Russian"); - //MyGUI::LanguageManager::getInstance().setCurrentLanguage("English"); - new SettingsManager(); SettingsManager::getInstance().initialise("le_user_settings.xml"); + std::string language = SettingsManager::getInstance().getSector("Settings")->getPropertyValue("InterfaceLanguage"); + if (language.empty() || language == "Auto") + { + if (!mLocale.empty()) + MyGUI::LanguageManager::getInstance().setCurrentLanguage(mLocale); + } + else + { + MyGUI::LanguageManager::getInstance().setCurrentLanguage(language); + } + new CommandManager(); CommandManager::getInstance().initialise(); @@ -139,6 +143,7 @@ namespace tools CommandManager::getInstance().registerCommand("Command_StatisticInfo", MyGUI::newDelegate(this, &Application::command_StatisticInfo)); CommandManager::getInstance().registerCommand("Command_FocusVisible", MyGUI::newDelegate(this, &Application::command_FocusVisible)); + CommandManager::getInstance().registerCommand("Command_ScreenShot", MyGUI::newDelegate(this, &Application::command_ScreenShot)); CommandManager::getInstance().registerCommand("Command_QuitApp", MyGUI::newDelegate(this, &Application::command_QuitApp)); CommandManager::getInstance().registerCommand("Command_UpdateAppCaption", MyGUI::newDelegate(this, &Application::command_UpdateAppCaption)); @@ -370,6 +375,13 @@ namespace tools _result = true; } + void Application::command_ScreenShot(const MyGUI::UString& _commandName, bool& _result) + { + makeScreenShot(); + + _result = true; + } + void Application::command_QuitApp(const MyGUI::UString& _commandName, bool& _result) { if (DialogManager::getInstance().getAnyDialog()) diff --git a/Tools/LayoutEditor/Application.h b/Tools/LayoutEditor/Application.h index d99c1af7ab..f51fa0637c 100644 --- a/Tools/LayoutEditor/Application.h +++ b/Tools/LayoutEditor/Application.h @@ -36,6 +36,7 @@ namespace tools private: void command_StatisticInfo(const MyGUI::UString& _commandName, bool& _result); void command_FocusVisible(const MyGUI::UString& _commandName, bool& _result); + void command_ScreenShot(const MyGUI::UString& _commandName, bool& _result); void command_QuitApp(const MyGUI::UString& _commandName, bool& _result); void command_UpdateAppCaption(const MyGUI::UString& _commandName, bool& _result); diff --git a/Tools/LayoutEditor/SettingsGeneralControl.cpp b/Tools/LayoutEditor/SettingsGeneralControl.cpp index 0397e5007b..4bbdf14def 100644 --- a/Tools/LayoutEditor/SettingsGeneralControl.cpp +++ b/Tools/LayoutEditor/SettingsGeneralControl.cpp @@ -14,14 +14,14 @@ namespace tools wraps::BaseLayout("SettingsGeneralControl.layout", _parent), mGridStep(0), mGridEdit(nullptr), - //mLayoutVersion(nullptr), mLoadLastProject(nullptr), - mWorkspaceSize(nullptr) + mWorkspaceSize(nullptr), + mInterfaceLanguage(nullptr) { assignWidget(mGridEdit, "gridEdit"); - //assignWidget(mLayoutVersion, "LayoutVersion"); assignWidget(mLoadLastProject, "LoadLastProject"); assignWidget(mWorkspaceSize, "WorkspaceSize"); + assignWidget(mInterfaceLanguage, "InterfaceLanguage"); mGridEdit->eventEditSelectAccept += MyGUI::newDelegate(this, &SettingsGeneralControl::notifyNewGridStepAccept); mGridEdit->eventKeyLostFocus += MyGUI::newDelegate(this, &SettingsGeneralControl::notifyNewGridStep); @@ -37,35 +37,21 @@ namespace tools void SettingsGeneralControl::loadSettings() { - /*mLayoutVersion->removeAllItems(); - MyGUI::VectorString versions = BackwardCompatibilityManager::getInstancePtr()->getVersions(); - for (size_t index = 0; index < versions.size(); ++ index) - { - mLayoutVersion->addItem(versions[index]); - if (BackwardCompatibilityManager::getInstancePtr()->getCurrentVersion() == versions[index]) - mLayoutVersion->setIndexSelected(index); - }*/ - mGridStep = SettingsManager::getInstance().getSector("Settings")->getPropertyValue("Grid"); mGridEdit->setCaption(MyGUI::utility::toString(mGridStep)); mLoadLastProject->setStateSelected(SettingsManager::getInstance().getSector("Settings")->getPropertyValue("LoadLastProject")); + setLanguageValue(SettingsManager::getInstance().getSector("Settings")->getPropertyValue("InterfaceLanguage")); + mWorkspaceSize->setCaption(SettingsManager::getInstance().getSector("Workspace")->getPropertyValue("TextureSize")); } void SettingsGeneralControl::saveSettings() { - /*if (mLayoutVersion->getIndexSelected() != MyGUI::ITEM_NONE) - { - std::string versionName = mLayoutVersion->getItemNameAt(mLayoutVersion->getIndexSelected()); - if (versionName != BackwardCompatibilityManager::getInstancePtr()->getCurrentVersion()) - BackwardCompatibilityManager::getInstancePtr()->setCurrentVersion(versionName); - }*/ - SettingsManager::getInstance().getSector("Settings")->setPropertyValue("Grid", mGridStep); SettingsManager::getInstance().getSector("Settings")->setPropertyValue("LoadLastProject", mLoadLastProject->getStateSelected()); + SettingsManager::getInstance().getSector("Settings")->setPropertyValue("InterfaceLanguage", getLanguageValue()); MyGUI::IntSize workspaceSize = MyGUI::utility::parseValue(mWorkspaceSize->getCaption()); - //workspaceSize.set(MyGUI::Bitwise::firstPO2From(workspaceSize.width), MyGUI::Bitwise::firstPO2From(workspaceSize.height)); workspaceSize.set(std::max(64, workspaceSize.width), std::max(64, workspaceSize.height)); SettingsManager::getInstance().getSector("Workspace")->setPropertyValue("TextureSize", workspaceSize.print()); } @@ -87,4 +73,31 @@ namespace tools mLoadLastProject->setStateSelected(!mLoadLastProject->getStateSelected()); } + void SettingsGeneralControl::setLanguageValue(const std::string& _value) + { + for (size_t index = 0; index < mInterfaceLanguage->getItemCount(); index ++) + { + if (mInterfaceLanguage->getItemNameAt(index) == _value) + { + mInterfaceLanguage->setIndexSelected(index); + return; + } + } + for (size_t index = 0; index < mInterfaceLanguage->getItemCount(); index ++) + { + if (mInterfaceLanguage->getItemNameAt(index) == "Auto") + { + mInterfaceLanguage->setIndexSelected(index); + return; + } + } + } + + std::string SettingsGeneralControl::getLanguageValue() + { + if (mInterfaceLanguage->getIndexSelected() == MyGUI::ITEM_NONE) + return "Auto"; + return mInterfaceLanguage->getItemNameAt(mInterfaceLanguage->getIndexSelected()); + } + } // namespace tools diff --git a/Tools/LayoutEditor/SettingsGeneralControl.h b/Tools/LayoutEditor/SettingsGeneralControl.h index aa64f046f3..257c02111a 100644 --- a/Tools/LayoutEditor/SettingsGeneralControl.h +++ b/Tools/LayoutEditor/SettingsGeneralControl.h @@ -27,14 +27,16 @@ namespace tools int getGridStep(); void setGridStep(); + void setLanguageValue(const std::string& _value); + std::string getLanguageValue(); private: int mGridStep; MyGUI::EditBox* mGridEdit; - //MyGUI::ComboBox* mLayoutVersion; MyGUI::Button* mLoadLastProject; MyGUI::EditBox* mWorkspaceSize; + MyGUI::ComboBox* mInterfaceLanguage; }; } // namespace tools diff --git a/Tools/SkinEditor/Application.cpp b/Tools/SkinEditor/Application.cpp index c191e198c4..68b81d6889 100644 --- a/Tools/SkinEditor/Application.cpp +++ b/Tools/SkinEditor/Application.cpp @@ -52,14 +52,22 @@ namespace tools if (getStatisticInfo() != nullptr) getStatisticInfo()->setVisible(false); - if (!mLocale.empty()) - MyGUI::LanguageManager::getInstance().setCurrentLanguage(mLocale); - MyGUI::FactoryManager::getInstance().registerFactory("BasisSkin"); new SettingsManager(); SettingsManager::getInstance().initialise("se_user_settings.xml"); + std::string language = SettingsManager::getInstance().getSector("Settings")->getPropertyValue("InterfaceLanguage"); + if (language.empty() || language == "Auto") + { + if (!mLocale.empty()) + MyGUI::LanguageManager::getInstance().setCurrentLanguage(mLocale); + } + else + { + MyGUI::LanguageManager::getInstance().setCurrentLanguage(language); + } + new RecentFilesManager(); RecentFilesManager::getInstance().initialise(); @@ -105,6 +113,7 @@ namespace tools CommandManager::getInstance().registerCommand("Command_StatisticInfo", MyGUI::newDelegate(this, &Application::command_StatisticInfo)); CommandManager::getInstance().registerCommand("Command_FocusVisible", MyGUI::newDelegate(this, &Application::command_FocusVisible)); + CommandManager::getInstance().registerCommand("Command_ScreenShot", MyGUI::newDelegate(this, &Application::command_ScreenShot)); CommandManager::getInstance().registerCommand("Command_QuitApp", MyGUI::newDelegate(this, &Application::command_QuitApp)); CommandManager::getInstance().registerCommand("Command_UpdateAppCaption", MyGUI::newDelegate(this, &Application::command_UpdateAppCaption)); @@ -343,6 +352,13 @@ namespace tools _result = true; } + void Application::command_ScreenShot(const MyGUI::UString& _commandName, bool& _result) + { + makeScreenShot(); + + _result = true; + } + void Application::command_UpdateAppCaption(const MyGUI::UString& _commandName, bool& _result) { setWindowCaption(replaceTags("CaptionMainWindow")); diff --git a/Tools/SkinEditor/Application.h b/Tools/SkinEditor/Application.h index 8f18f56b3d..a2d51daba6 100644 --- a/Tools/SkinEditor/Application.h +++ b/Tools/SkinEditor/Application.h @@ -40,6 +40,7 @@ namespace tools void command_StatisticInfo(const MyGUI::UString& _commandName, bool& _result); void command_FocusVisible(const MyGUI::UString& _commandName, bool& _result); + void command_ScreenShot(const MyGUI::UString& _commandName, bool& _result); void command_QuitApp(const MyGUI::UString& _commandName, bool& _result); void command_UpdateAppCaption(const MyGUI::UString& _commandName, bool& _result); diff --git a/Tools/SkinEditor/SettingsGeneralControl.cpp b/Tools/SkinEditor/SettingsGeneralControl.cpp index dbc39fb8c4..61295555ce 100644 --- a/Tools/SkinEditor/SettingsGeneralControl.cpp +++ b/Tools/SkinEditor/SettingsGeneralControl.cpp @@ -13,10 +13,12 @@ namespace tools wraps::BaseLayout("SettingsGeneralControl.layout", _parent), mGridStep(0), mGridEdit(nullptr), - mSaveLastTexture(nullptr) + mSaveLastTexture(nullptr), + mInterfaceLanguage(nullptr) { assignWidget(mGridEdit, "gridEdit"); assignWidget(mSaveLastTexture, "SaveLastTexture"); + assignWidget(mInterfaceLanguage, "InterfaceLanguage"); mGridEdit->eventEditSelectAccept += MyGUI::newDelegate(this, &SettingsGeneralControl::notifyNewGridStepAccept); mGridEdit->eventKeyLostFocus += MyGUI::newDelegate(this, &SettingsGeneralControl::notifyNewGridStep); @@ -35,12 +37,14 @@ namespace tools mGridStep = SettingsManager::getInstance().getSector("Settings")->getPropertyValue("Grid"); mGridEdit->setCaption(MyGUI::utility::toString(mGridStep)); mSaveLastTexture->setStateSelected(SettingsManager::getInstance().getSector("Settings")->getPropertyValue("SaveLastTexture")); + setLanguageValue(SettingsManager::getInstance().getSector("Settings")->getPropertyValue("InterfaceLanguage")); } void SettingsGeneralControl::saveSettings() { SettingsManager::getInstance().getSector("Settings")->setPropertyValue("Grid", mGridStep); SettingsManager::getInstance().getSector("Settings")->setPropertyValue("SaveLastTexture", mSaveLastTexture->getStateSelected()); + SettingsManager::getInstance().getSector("Settings")->setPropertyValue("InterfaceLanguage", getLanguageValue()); } void SettingsGeneralControl::notifyNewGridStep(MyGUI::Widget* _sender, MyGUI::Widget* _new) @@ -62,4 +66,31 @@ namespace tools button->setStateSelected(!button->getStateSelected()); } + void SettingsGeneralControl::setLanguageValue(const std::string& _value) + { + for (size_t index = 0; index < mInterfaceLanguage->getItemCount(); index ++) + { + if (mInterfaceLanguage->getItemNameAt(index) == _value) + { + mInterfaceLanguage->setIndexSelected(index); + return; + } + } + for (size_t index = 0; index < mInterfaceLanguage->getItemCount(); index ++) + { + if (mInterfaceLanguage->getItemNameAt(index) == "Auto") + { + mInterfaceLanguage->setIndexSelected(index); + return; + } + } + } + + std::string SettingsGeneralControl::getLanguageValue() + { + if (mInterfaceLanguage->getIndexSelected() == MyGUI::ITEM_NONE) + return "Auto"; + return mInterfaceLanguage->getItemNameAt(mInterfaceLanguage->getIndexSelected()); + } + } // namespace tools diff --git a/Tools/SkinEditor/SettingsGeneralControl.h b/Tools/SkinEditor/SettingsGeneralControl.h index d9407e9c5f..0eb6b8e8fd 100644 --- a/Tools/SkinEditor/SettingsGeneralControl.h +++ b/Tools/SkinEditor/SettingsGeneralControl.h @@ -27,12 +27,15 @@ namespace tools int getGridStep(); void setGridStep(); + void setLanguageValue(const std::string& _value); + std::string getLanguageValue(); private: int mGridStep; MyGUI::EditBox* mGridEdit; MyGUI::Button* mSaveLastTexture; + MyGUI::ComboBox* mInterfaceLanguage; }; } // namespace tools