|
@@ -28,6 +28,7 @@
|
|
|
#include "../gui/CGuiHandler.h"
|
|
#include "../gui/CGuiHandler.h"
|
|
|
#include "../gui/CursorHandler.h"
|
|
#include "../gui/CursorHandler.h"
|
|
|
#include "../gui/TextAlignment.h"
|
|
#include "../gui/TextAlignment.h"
|
|
|
|
|
+#include "../gui/Shortcut.h"
|
|
|
|
|
|
|
|
#include "../widgets/CComponent.h"
|
|
#include "../widgets/CComponent.h"
|
|
|
#include "../widgets/MiscWidgets.h"
|
|
#include "../widgets/MiscWidgets.h"
|
|
@@ -210,9 +211,9 @@ CRecruitmentWindow::CRecruitmentWindow(const CGDwelling * Dwelling, int Level, c
|
|
|
|
|
|
|
|
slider = std::make_shared<CSlider>(Point(176,279),135,std::bind(&CRecruitmentWindow::sliderMoved,this, _1),0,0,0,true);
|
|
slider = std::make_shared<CSlider>(Point(176,279),135,std::bind(&CRecruitmentWindow::sliderMoved,this, _1),0,0,0,true);
|
|
|
|
|
|
|
|
- maxButton = std::make_shared<CButton>(Point(134, 313), "IRCBTNS.DEF", CGI->generaltexth->zelp[553], std::bind(&CSlider::moveToMax, slider), SDLK_m);
|
|
|
|
|
- buyButton = std::make_shared<CButton>(Point(212, 313), "IBY6432.DEF", CGI->generaltexth->zelp[554], std::bind(&CRecruitmentWindow::buy, this), SDLK_RETURN);
|
|
|
|
|
- cancelButton = std::make_shared<CButton>(Point(290, 313), "ICN6432.DEF", CGI->generaltexth->zelp[555], std::bind(&CRecruitmentWindow::close, this), SDLK_ESCAPE);
|
|
|
|
|
|
|
+ maxButton = std::make_shared<CButton>(Point(134, 313), "IRCBTNS.DEF", CGI->generaltexth->zelp[553], std::bind(&CSlider::moveToMax, slider), EShortcut::RECRUITMENT_MAX);
|
|
|
|
|
+ buyButton = std::make_shared<CButton>(Point(212, 313), "IBY6432.DEF", CGI->generaltexth->zelp[554], std::bind(&CRecruitmentWindow::buy, this), EShortcut::GLOBAL_ACCEPT);
|
|
|
|
|
+ cancelButton = std::make_shared<CButton>(Point(290, 313), "ICN6432.DEF", CGI->generaltexth->zelp[555], std::bind(&CRecruitmentWindow::close, this), EShortcut::GLOBAL_CANCEL);
|
|
|
|
|
|
|
|
title = std::make_shared<CLabel>(243, 32, FONT_BIG, ETextAlignment::CENTER, Colors::YELLOW);
|
|
title = std::make_shared<CLabel>(243, 32, FONT_BIG, ETextAlignment::CENTER, Colors::YELLOW);
|
|
|
availableValue = std::make_shared<CLabel>(205, 253, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE);
|
|
availableValue = std::make_shared<CLabel>(205, 253, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE);
|
|
@@ -313,8 +314,8 @@ CSplitWindow::CSplitWindow(const CCreature * creature, std::function<void(int, i
|
|
|
int leftMax = total - rightMin;
|
|
int leftMax = total - rightMin;
|
|
|
int rightMax = total - leftMin;
|
|
int rightMax = total - leftMin;
|
|
|
|
|
|
|
|
- ok = std::make_shared<CButton>(Point(20, 263), "IOK6432", CButton::tooltip(), std::bind(&CSplitWindow::apply, this), SDLK_RETURN);
|
|
|
|
|
- cancel = std::make_shared<CButton>(Point(214, 263), "ICN6432", CButton::tooltip(), std::bind(&CSplitWindow::close, this), SDLK_ESCAPE);
|
|
|
|
|
|
|
+ ok = std::make_shared<CButton>(Point(20, 263), "IOK6432", CButton::tooltip(), std::bind(&CSplitWindow::apply, this), EShortcut::GLOBAL_ACCEPT);
|
|
|
|
|
+ cancel = std::make_shared<CButton>(Point(214, 263), "ICN6432", CButton::tooltip(), std::bind(&CSplitWindow::close, this), EShortcut::GLOBAL_CANCEL);
|
|
|
|
|
|
|
|
int sliderPosition = total - leftMin - rightMin;
|
|
int sliderPosition = total - leftMin - rightMin;
|
|
|
|
|
|
|
@@ -403,7 +404,7 @@ CLevelWindow::CLevelWindow(const CGHeroInstance * hero, PrimarySkill::PrimarySki
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
portrait = std::make_shared<CAnimImage>("PortraitsLarge", hero->portrait, 0, 170, 66);
|
|
portrait = std::make_shared<CAnimImage>("PortraitsLarge", hero->portrait, 0, 170, 66);
|
|
|
- ok = std::make_shared<CButton>(Point(297, 413), "IOKAY", CButton::tooltip(), std::bind(&CLevelWindow::close, this), SDLK_RETURN);
|
|
|
|
|
|
|
+ ok = std::make_shared<CButton>(Point(297, 413), "IOKAY", CButton::tooltip(), std::bind(&CLevelWindow::close, this), EShortcut::GLOBAL_ACCEPT);
|
|
|
|
|
|
|
|
//%s has gained a level.
|
|
//%s has gained a level.
|
|
|
mainTitle = std::make_shared<CLabel>(192, 33, FONT_MEDIUM, ETextAlignment::CENTER, Colors::WHITE, boost::str(boost::format(CGI->generaltexth->allTexts[444]) % hero->getNameTranslated()));
|
|
mainTitle = std::make_shared<CLabel>(192, 33, FONT_MEDIUM, ETextAlignment::CENTER, Colors::WHITE, boost::str(boost::format(CGI->generaltexth->allTexts[444]) % hero->getNameTranslated()));
|
|
@@ -459,9 +460,9 @@ CTavernWindow::CTavernWindow(const CGObjectInstance * TavernObj)
|
|
|
rumor = std::make_shared<CTextBox>(rumorText, Rect(32, 190, 330, 68), 0, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE);
|
|
rumor = std::make_shared<CTextBox>(rumorText, Rect(32, 190, 330, 68), 0, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE);
|
|
|
|
|
|
|
|
statusbar = CGStatusBar::create(std::make_shared<CPicture>(background->getSurface(), Rect(8, pos.h - 26, pos.w - 16, 19), 8, pos.h - 26));
|
|
statusbar = CGStatusBar::create(std::make_shared<CPicture>(background->getSurface(), Rect(8, pos.h - 26, pos.w - 16, 19), 8, pos.h - 26));
|
|
|
- cancel = std::make_shared<CButton>(Point(310, 428), "ICANCEL.DEF", CButton::tooltip(CGI->generaltexth->tavernInfo[7]), std::bind(&CTavernWindow::close, this), SDLK_ESCAPE);
|
|
|
|
|
- recruit = std::make_shared<CButton>(Point(272, 355), "TPTAV01.DEF", CButton::tooltip(), std::bind(&CTavernWindow::recruitb, this), SDLK_RETURN);
|
|
|
|
|
- thiefGuild = std::make_shared<CButton>(Point(22, 428), "TPTAV02.DEF", CButton::tooltip(CGI->generaltexth->tavernInfo[5]), std::bind(&CTavernWindow::thievesguildb, this), SDLK_t);
|
|
|
|
|
|
|
+ cancel = std::make_shared<CButton>(Point(310, 428), "ICANCEL.DEF", CButton::tooltip(CGI->generaltexth->tavernInfo[7]), std::bind(&CTavernWindow::close, this), EShortcut::GLOBAL_CANCEL);
|
|
|
|
|
+ recruit = std::make_shared<CButton>(Point(272, 355), "TPTAV01.DEF", CButton::tooltip(), std::bind(&CTavernWindow::recruitb, this), EShortcut::GLOBAL_ACCEPT);
|
|
|
|
|
+ thiefGuild = std::make_shared<CButton>(Point(22, 428), "TPTAV02.DEF", CButton::tooltip(CGI->generaltexth->tavernInfo[5]), std::bind(&CTavernWindow::thievesguildb, this), EShortcut::ADVENTURE_THIEVES_GUILD);
|
|
|
|
|
|
|
|
if(LOCPLINT->cb->getResourceAmount(EGameResID::GOLD) < GameConstants::HERO_GOLD_COST) //not enough gold
|
|
if(LOCPLINT->cb->getResourceAmount(EGameResID::GOLD) < GameConstants::HERO_GOLD_COST) //not enough gold
|
|
|
{
|
|
{
|
|
@@ -982,7 +983,7 @@ CExchangeWindow::CExchangeWindow(ObjectInstanceID hero1, ObjectInstanceID hero2,
|
|
|
luck[b] = std::make_shared<MoraleLuckBox>(false, Rect(Point(212 + 490 * b, 39), Point(32, 32)), true);
|
|
luck[b] = std::make_shared<MoraleLuckBox>(false, Rect(Point(212 + 490 * b, 39), Point(32, 32)), true);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- quit = std::make_shared<CButton>(Point(732, 567), "IOKAY.DEF", CGI->generaltexth->zelp[600], std::bind(&CExchangeWindow::close, this), SDLK_RETURN);
|
|
|
|
|
|
|
+ quit = std::make_shared<CButton>(Point(732, 567), "IOKAY.DEF", CGI->generaltexth->zelp[600], std::bind(&CExchangeWindow::close, this), EShortcut::GLOBAL_ACCEPT);
|
|
|
if(queryID.getNum() > 0)
|
|
if(queryID.getNum() > 0)
|
|
|
quit->addCallback([=](){ LOCPLINT->cb->selectionMade(0, queryID); });
|
|
quit->addCallback([=](){ LOCPLINT->cb->selectionMade(0, queryID); });
|
|
|
|
|
|
|
@@ -1098,11 +1099,11 @@ CShipyardWindow::CShipyardWindow(const TResources & cost, int state, BoatId boat
|
|
|
goldPic = std::make_shared<CAnimImage>("RESOURCE",GameResID(EGameResID::GOLD), 0, 100, 244);
|
|
goldPic = std::make_shared<CAnimImage>("RESOURCE",GameResID(EGameResID::GOLD), 0, 100, 244);
|
|
|
woodPic = std::make_shared<CAnimImage>("RESOURCE", GameResID(EGameResID::WOOD), 0, 196, 244);
|
|
woodPic = std::make_shared<CAnimImage>("RESOURCE", GameResID(EGameResID::WOOD), 0, 196, 244);
|
|
|
|
|
|
|
|
- quit = std::make_shared<CButton>(Point(224, 312), "ICANCEL", CButton::tooltip(CGI->generaltexth->allTexts[599]), std::bind(&CShipyardWindow::close, this), SDLK_ESCAPE);
|
|
|
|
|
- build = std::make_shared<CButton>(Point(42, 312), "IBUY30", CButton::tooltip(CGI->generaltexth->allTexts[598]), std::bind(&CShipyardWindow::close, this), SDLK_RETURN);
|
|
|
|
|
|
|
+ quit = std::make_shared<CButton>(Point(224, 312), "ICANCEL", CButton::tooltip(CGI->generaltexth->allTexts[599]), std::bind(&CShipyardWindow::close, this), EShortcut::GLOBAL_CANCEL);
|
|
|
|
|
+ build = std::make_shared<CButton>(Point(42, 312), "IBUY30", CButton::tooltip(CGI->generaltexth->allTexts[598]), std::bind(&CShipyardWindow::close, this), EShortcut::GLOBAL_ACCEPT);
|
|
|
build->addCallback(onBuy);
|
|
build->addCallback(onBuy);
|
|
|
|
|
|
|
|
- for(auto i = EGameResID::WOOD; i <= EGameResID::GOLD; vstd::advance(i, 1))
|
|
|
|
|
|
|
+ for(GameResID i = EGameResID::WOOD; i <= EGameResID::GOLD; ++i)
|
|
|
{
|
|
{
|
|
|
if(cost[i] > LOCPLINT->cb->getResourceAmount(i))
|
|
if(cost[i] > LOCPLINT->cb->getResourceAmount(i))
|
|
|
{
|
|
{
|
|
@@ -1202,9 +1203,9 @@ CTransformerWindow::CTransformerWindow(const IMarket * _market, const CGHeroInst
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- all = std::make_shared<CButton>(Point(146, 416), "ALTARMY.DEF", CGI->generaltexth->zelp[590], [&](){ addAll(); }, SDLK_a);
|
|
|
|
|
- convert = std::make_shared<CButton>(Point(269, 416), "ALTSACR.DEF", CGI->generaltexth->zelp[591], [&](){ makeDeal(); }, SDLK_RETURN);
|
|
|
|
|
- cancel = std::make_shared<CButton>(Point(392, 416), "ICANCEL.DEF", CGI->generaltexth->zelp[592], [&](){ close(); },SDLK_ESCAPE);
|
|
|
|
|
|
|
+ all = std::make_shared<CButton>(Point(146, 416), "ALTARMY.DEF", CGI->generaltexth->zelp[590], [&](){ addAll(); }, EShortcut::RECRUITMENT_UPGRADE_ALL);
|
|
|
|
|
+ convert = std::make_shared<CButton>(Point(269, 416), "ALTSACR.DEF", CGI->generaltexth->zelp[591], [&](){ makeDeal(); }, EShortcut::GLOBAL_ACCEPT);
|
|
|
|
|
+ cancel = std::make_shared<CButton>(Point(392, 416), "ICANCEL.DEF", CGI->generaltexth->zelp[592], [&](){ close(); },EShortcut::GLOBAL_CANCEL);
|
|
|
statusbar = CGStatusBar::create(std::make_shared<CPicture>(background->getSurface(), Rect(8, pos.h - 26, pos.w - 16, 19), 8, pos.h - 26));
|
|
statusbar = CGStatusBar::create(std::make_shared<CPicture>(background->getSurface(), Rect(8, pos.h - 26, pos.w - 16, 19), 8, pos.h - 26));
|
|
|
|
|
|
|
|
titleLeft = std::make_shared<CLabel>(153, 29,FONT_SMALL, ETextAlignment::CENTER, Colors::YELLOW, CGI->generaltexth->allTexts[485]);//holding area
|
|
titleLeft = std::make_shared<CLabel>(153, 29,FONT_SMALL, ETextAlignment::CENTER, Colors::YELLOW, CGI->generaltexth->allTexts[485]);//holding area
|
|
@@ -1321,7 +1322,7 @@ CUniversityWindow::CUniversityWindow(const CGHeroInstance * _hero, const IMarket
|
|
|
for(int i=0; i<goods.size(); i++)//prepare clickable items
|
|
for(int i=0; i<goods.size(); i++)//prepare clickable items
|
|
|
items.push_back(std::make_shared<CItem>(this, goods[i], 54+i*104, 234));
|
|
items.push_back(std::make_shared<CItem>(this, goods[i], 54+i*104, 234));
|
|
|
|
|
|
|
|
- cancel = std::make_shared<CButton>(Point(200, 313), "IOKAY.DEF", CGI->generaltexth->zelp[632], [&](){ close(); }, SDLK_RETURN);
|
|
|
|
|
|
|
+ cancel = std::make_shared<CButton>(Point(200, 313), "IOKAY.DEF", CGI->generaltexth->zelp[632], [&](){ close(); }, EShortcut::GLOBAL_ACCEPT);
|
|
|
statusbar = CGStatusBar::create(std::make_shared<CPicture>(background->getSurface(), Rect(8, pos.h - 26, pos.w - 16, 19), 8, pos.h - 26));
|
|
statusbar = CGStatusBar::create(std::make_shared<CPicture>(background->getSurface(), Rect(8, pos.h - 26, pos.w - 16, 19), 8, pos.h - 26));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1359,10 +1360,10 @@ CUnivConfirmWindow::CUnivConfirmWindow(CUniversityWindow * owner_, int SKILL, bo
|
|
|
boost::replace_first(text, "%s", CGI->skillh->getByIndex(SKILL)->getNameTranslated());
|
|
boost::replace_first(text, "%s", CGI->skillh->getByIndex(SKILL)->getNameTranslated());
|
|
|
boost::replace_first(text, "%d", "2000");
|
|
boost::replace_first(text, "%d", "2000");
|
|
|
|
|
|
|
|
- confirm = std::make_shared<CButton>(Point(148, 299), "IBY6432.DEF", CButton::tooltip(hoverText, text), [=](){makeDeal(SKILL);}, SDLK_RETURN);
|
|
|
|
|
|
|
+ confirm = std::make_shared<CButton>(Point(148, 299), "IBY6432.DEF", CButton::tooltip(hoverText, text), [=](){makeDeal(SKILL);}, EShortcut::GLOBAL_ACCEPT);
|
|
|
confirm->block(!available);
|
|
confirm->block(!available);
|
|
|
|
|
|
|
|
- cancel = std::make_shared<CButton>(Point(252,299), "ICANCEL.DEF", CGI->generaltexth->zelp[631], [&](){ close(); }, SDLK_ESCAPE);
|
|
|
|
|
|
|
+ cancel = std::make_shared<CButton>(Point(252,299), "ICANCEL.DEF", CGI->generaltexth->zelp[631], [&](){ close(); }, EShortcut::GLOBAL_CANCEL);
|
|
|
statusbar = CGStatusBar::create(std::make_shared<CPicture>(background->getSurface(), Rect(8, pos.h - 26, pos.w - 16, 19), 8, pos.h - 26));
|
|
statusbar = CGStatusBar::create(std::make_shared<CPicture>(background->getSurface(), Rect(8, pos.h - 26, pos.w - 16, 19), 8, pos.h - 26));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1382,7 +1383,7 @@ CGarrisonWindow::CGarrisonWindow(const CArmedInstance * up, const CGHeroInstance
|
|
|
auto split = std::make_shared<CButton>(Point(88, 314), "IDV6432.DEF", CButton::tooltip(CGI->generaltexth->tcommands[3], ""), [&](){ garr->splitClick(); } );
|
|
auto split = std::make_shared<CButton>(Point(88, 314), "IDV6432.DEF", CButton::tooltip(CGI->generaltexth->tcommands[3], ""), [&](){ garr->splitClick(); } );
|
|
|
garr->addSplitBtn(split);
|
|
garr->addSplitBtn(split);
|
|
|
}
|
|
}
|
|
|
- quit = std::make_shared<CButton>(Point(399, 314), "IOK6432.DEF", CButton::tooltip(CGI->generaltexth->tcommands[8], ""), [&](){ close(); }, SDLK_RETURN);
|
|
|
|
|
|
|
+ quit = std::make_shared<CButton>(Point(399, 314), "IOK6432.DEF", CButton::tooltip(CGI->generaltexth->tcommands[8], ""), [&](){ close(); }, EShortcut::GLOBAL_ACCEPT);
|
|
|
|
|
|
|
|
std::string titleText;
|
|
std::string titleText;
|
|
|
if(down->tempOwner == up->tempOwner)
|
|
if(down->tempOwner == up->tempOwner)
|
|
@@ -1432,7 +1433,7 @@ CHillFortWindow::CHillFortWindow(const CGHeroInstance * visitor, const CGObjectI
|
|
|
|
|
|
|
|
for(int i = 0; i < slotsCount; i++)
|
|
for(int i = 0; i < slotsCount; i++)
|
|
|
{
|
|
{
|
|
|
- upgrade[i] = std::make_shared<CButton>(Point(107 + i * 76, 171), "", CButton::tooltip(getTextForSlot(SlotID(i))), [=](){ makeDeal(SlotID(i)); }, SDLK_1 + i);
|
|
|
|
|
|
|
+ upgrade[i] = std::make_shared<CButton>(Point(107 + i * 76, 171), "", CButton::tooltip(getTextForSlot(SlotID(i))), [=](){ makeDeal(SlotID(i)); }, vstd::next(EShortcut::SELECT_INDEX_1, i));
|
|
|
for(auto image : { "APHLF1R.DEF", "APHLF1Y.DEF", "APHLF1G.DEF" })
|
|
for(auto image : { "APHLF1R.DEF", "APHLF1Y.DEF", "APHLF1G.DEF" })
|
|
|
upgrade[i]->addImage(image);
|
|
upgrade[i]->addImage(image);
|
|
|
|
|
|
|
@@ -1443,11 +1444,11 @@ CHillFortWindow::CHillFortWindow(const CGHeroInstance * visitor, const CGObjectI
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- upgradeAll = std::make_shared<CButton>(Point(30, 231), "", CButton::tooltip(CGI->generaltexth->allTexts[432]), [&](){ makeDeal(SlotID(slotsCount));}, SDLK_0);
|
|
|
|
|
|
|
+ upgradeAll = std::make_shared<CButton>(Point(30, 231), "", CButton::tooltip(CGI->generaltexth->allTexts[432]), [&](){ makeDeal(SlotID(slotsCount));}, EShortcut::RECRUITMENT_UPGRADE_ALL);
|
|
|
for(auto image : { "APHLF4R.DEF", "APHLF4Y.DEF", "APHLF4G.DEF" })
|
|
for(auto image : { "APHLF4R.DEF", "APHLF4Y.DEF", "APHLF4G.DEF" })
|
|
|
upgradeAll->addImage(image);
|
|
upgradeAll->addImage(image);
|
|
|
|
|
|
|
|
- quit = std::make_shared<CButton>(Point(294, 275), "IOKAY.DEF", CButton::tooltip(), std::bind(&CHillFortWindow::close, this), SDLK_RETURN);
|
|
|
|
|
|
|
+ quit = std::make_shared<CButton>(Point(294, 275), "IOKAY.DEF", CButton::tooltip(), std::bind(&CHillFortWindow::close, this), EShortcut::GLOBAL_ACCEPT);
|
|
|
statusbar = CGStatusBar::create(std::make_shared<CPicture>(background->getSurface(), Rect(8, pos.h - 26, pos.w - 16, 19), 8, pos.h - 26));
|
|
statusbar = CGStatusBar::create(std::make_shared<CPicture>(background->getSurface(), Rect(8, pos.h - 26, pos.w - 16, 19), 8, pos.h - 26));
|
|
|
|
|
|
|
|
garr = std::make_shared<CGarrisonInt>(108, 60, 18, Point(), hero, nullptr);
|
|
garr = std::make_shared<CGarrisonInt>(108, 60, 18, Point(), hero, nullptr);
|
|
@@ -1623,8 +1624,7 @@ CThievesGuildWindow::CThievesGuildWindow(const CGObjectInstance * _owner):
|
|
|
SThievesGuildInfo tgi; //info to be displayed
|
|
SThievesGuildInfo tgi; //info to be displayed
|
|
|
LOCPLINT->cb->getThievesGuildInfo(tgi, owner);
|
|
LOCPLINT->cb->getThievesGuildInfo(tgi, owner);
|
|
|
|
|
|
|
|
- exitb = std::make_shared<CButton>(Point(748, 556), "TPMAGE1", CButton::tooltip(CGI->generaltexth->allTexts[600]), [&](){ close();}, SDLK_RETURN);
|
|
|
|
|
- exitb->assignedKeys.insert(SDLK_ESCAPE);
|
|
|
|
|
|
|
+ exitb = std::make_shared<CButton>(Point(748, 556), "TPMAGE1", CButton::tooltip(CGI->generaltexth->allTexts[600]), [&](){ close();}, EShortcut::GLOBAL_RETURN);
|
|
|
statusbar = CGStatusBar::create(3, 555, "TStatBar.bmp", 742);
|
|
statusbar = CGStatusBar::create(3, 555, "TStatBar.bmp", 742);
|
|
|
|
|
|
|
|
resdatabar = std::make_shared<CMinorResDataBar>();
|
|
resdatabar = std::make_shared<CMinorResDataBar>();
|
|
@@ -1820,7 +1820,7 @@ void CObjectListWindow::init(std::shared_ptr<CIntObject> titleWidget_, std::stri
|
|
|
|
|
|
|
|
title = std::make_shared<CLabel>(152, 27, FONT_BIG, ETextAlignment::CENTER, Colors::YELLOW, _title);
|
|
title = std::make_shared<CLabel>(152, 27, FONT_BIG, ETextAlignment::CENTER, Colors::YELLOW, _title);
|
|
|
descr = std::make_shared<CLabel>(145, 133, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE, _descr);
|
|
descr = std::make_shared<CLabel>(145, 133, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE, _descr);
|
|
|
- exit = std::make_shared<CButton>( Point(228, 402), "ICANCEL.DEF", CButton::tooltip(), std::bind(&CObjectListWindow::exitPressed, this), SDLK_ESCAPE);
|
|
|
|
|
|
|
+ exit = std::make_shared<CButton>( Point(228, 402), "ICANCEL.DEF", CButton::tooltip(), std::bind(&CObjectListWindow::exitPressed, this), EShortcut::GLOBAL_CANCEL);
|
|
|
|
|
|
|
|
if(titleWidget)
|
|
if(titleWidget)
|
|
|
{
|
|
{
|
|
@@ -1833,7 +1833,7 @@ void CObjectListWindow::init(std::shared_ptr<CIntObject> titleWidget_, std::stri
|
|
|
Point(14, 151), Point(0, 25), 9, items.size(), 0, 1, Rect(262, -32, 256, 256) );
|
|
Point(14, 151), Point(0, 25), 9, items.size(), 0, 1, Rect(262, -32, 256, 256) );
|
|
|
list->type |= REDRAW_PARENT;
|
|
list->type |= REDRAW_PARENT;
|
|
|
|
|
|
|
|
- ok = std::make_shared<CButton>(Point(15, 402), "IOKAY.DEF", CButton::tooltip(), std::bind(&CObjectListWindow::elementSelected, this), SDLK_RETURN);
|
|
|
|
|
|
|
+ ok = std::make_shared<CButton>(Point(15, 402), "IOKAY.DEF", CButton::tooltip(), std::bind(&CObjectListWindow::elementSelected, this), EShortcut::GLOBAL_ACCEPT);
|
|
|
ok->block(!list->size());
|
|
ok->block(!list->size());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1881,28 +1881,28 @@ void CObjectListWindow::changeSelection(size_t which)
|
|
|
selected = which;
|
|
selected = which;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-void CObjectListWindow::keyPressed (const SDL_Keycode & key)
|
|
|
|
|
|
|
+void CObjectListWindow::keyPressed (EShortcut key)
|
|
|
{
|
|
{
|
|
|
int sel = static_cast<int>(selected);
|
|
int sel = static_cast<int>(selected);
|
|
|
|
|
|
|
|
switch(key)
|
|
switch(key)
|
|
|
{
|
|
{
|
|
|
- break; case SDLK_UP:
|
|
|
|
|
|
|
+ break; case EShortcut::MOVE_UP:
|
|
|
sel -=1;
|
|
sel -=1;
|
|
|
|
|
|
|
|
- break; case SDLK_DOWN:
|
|
|
|
|
|
|
+ break; case EShortcut::MOVE_DOWN:
|
|
|
sel +=1;
|
|
sel +=1;
|
|
|
|
|
|
|
|
- break; case SDLK_PAGEUP:
|
|
|
|
|
|
|
+ break; case EShortcut::MOVE_PAGE_UP:
|
|
|
sel -=9;
|
|
sel -=9;
|
|
|
|
|
|
|
|
- break; case SDLK_PAGEDOWN:
|
|
|
|
|
|
|
+ break; case EShortcut::MOVE_PAGE_DOWN:
|
|
|
sel +=9;
|
|
sel +=9;
|
|
|
|
|
|
|
|
- break; case SDLK_HOME:
|
|
|
|
|
|
|
+ break; case EShortcut::MOVE_FIRST:
|
|
|
sel = 0;
|
|
sel = 0;
|
|
|
|
|
|
|
|
- break; case SDLK_END:
|
|
|
|
|
|
|
+ break; case EShortcut::MOVE_LAST:
|
|
|
sel = static_cast<int>(items.size());
|
|
sel = static_cast<int>(items.size());
|
|
|
|
|
|
|
|
break; default:
|
|
break; default:
|