Changeset View
Changeset View
Standalone View
Standalone View
source/gui/CList.cpp
Show First 20 Lines • Show All 191 Lines • ▼ Show 20 Lines | void CList::HandleMessage(SGUIMessage& Message) | ||||
case GUIM_MOUSE_PRESS_LEFT: | case GUIM_MOUSE_PRESS_LEFT: | ||||
{ | { | ||||
bool enabled; | bool enabled; | ||||
GUI<bool>::GetSetting(this, "enabled", enabled); | GUI<bool>::GetSetting(this, "enabled", enabled); | ||||
if (!enabled) | if (!enabled) | ||||
{ | { | ||||
CStrW soundPath; | CStrW soundPath; | ||||
if (g_SoundManager && GUI<CStrW>::GetSetting(this, "sound_disabled", soundPath) == PSRETURN_OK && !soundPath.empty()) | if (ISoundManager::IsCreated() && GUI<CStrW>::GetSetting(this, "sound_disabled", soundPath) == PSRETURN_OK && !soundPath.empty()) | ||||
g_SoundManager->PlayAsUI(soundPath.c_str(), false); | ISoundManager::GetSoundManager()->PlayAsUI(soundPath.c_str(), false); | ||||
break; | break; | ||||
} | } | ||||
int hovered = GetHoveredItem(); | int hovered = GetHoveredItem(); | ||||
if (hovered == -1) | if (hovered == -1) | ||||
break; | break; | ||||
GUI<int>::SetSetting(this, "selected", hovered); | GUI<int>::SetSetting(this, "selected", hovered); | ||||
UpdateAutoScroll(); | UpdateAutoScroll(); | ||||
CStrW soundPath; | CStrW soundPath; | ||||
if (g_SoundManager && GUI<CStrW>::GetSetting(this, "sound_selected", soundPath) == PSRETURN_OK && !soundPath.empty()) | if (ISoundManager::IsCreated() && GUI<CStrW>::GetSetting(this, "sound_selected", soundPath) == PSRETURN_OK && !soundPath.empty()) | ||||
g_SoundManager->PlayAsUI(soundPath.c_str(), false); | ISoundManager::GetSoundManager()->PlayAsUI(soundPath.c_str(), false); | ||||
if (timer_Time() - m_LastItemClickTime < SELECT_DBLCLICK_RATE && hovered == m_PrevSelectedItem) | if (timer_Time() - m_LastItemClickTime < SELECT_DBLCLICK_RATE && hovered == m_PrevSelectedItem) | ||||
this->SendEvent(GUIM_MOUSE_DBLCLICK_LEFT_ITEM, "mouseleftdoubleclickitem"); | this->SendEvent(GUIM_MOUSE_DBLCLICK_LEFT_ITEM, "mouseleftdoubleclickitem"); | ||||
else | else | ||||
this->SendEvent(GUIM_MOUSE_PRESS_LEFT_ITEM, "mouseleftclickitem"); | this->SendEvent(GUIM_MOUSE_PRESS_LEFT_ITEM, "mouseleftclickitem"); | ||||
m_LastItemClickTime = timer_Time(); | m_LastItemClickTime = timer_Time(); | ||||
m_PrevSelectedItem = hovered; | m_PrevSelectedItem = hovered; | ||||
▲ Show 20 Lines • Show All 231 Lines • ▼ Show 20 Lines | void CList::SelectNextElement() | ||||
GUI<CGUIList>::GetSettingPointer(this, "list", pList); | GUI<CGUIList>::GetSettingPointer(this, "list", pList); | ||||
if (selected != (int)pList->m_Items.size()-1) | if (selected != (int)pList->m_Items.size()-1) | ||||
{ | { | ||||
++selected; | ++selected; | ||||
GUI<int>::SetSetting(this, "selected", selected); | GUI<int>::SetSetting(this, "selected", selected); | ||||
CStrW soundPath; | CStrW soundPath; | ||||
if (g_SoundManager && GUI<CStrW>::GetSetting(this, "sound_selected", soundPath) == PSRETURN_OK && !soundPath.empty()) | if (ISoundManager::IsCreated() && GUI<CStrW>::GetSetting(this, "sound_selected", soundPath) == PSRETURN_OK && !soundPath.empty()) | ||||
g_SoundManager->PlayAsUI(soundPath.c_str(), false); | ISoundManager::GetSoundManager()->PlayAsUI(soundPath.c_str(), false); | ||||
} | } | ||||
} | } | ||||
void CList::SelectPrevElement() | void CList::SelectPrevElement() | ||||
{ | { | ||||
int selected; | int selected; | ||||
GUI<int>::GetSetting(this, "selected", selected); | GUI<int>::GetSetting(this, "selected", selected); | ||||
if (selected > 0) | if (selected > 0) | ||||
{ | { | ||||
--selected; | --selected; | ||||
GUI<int>::SetSetting(this, "selected", selected); | GUI<int>::SetSetting(this, "selected", selected); | ||||
CStrW soundPath; | CStrW soundPath; | ||||
if (g_SoundManager && GUI<CStrW>::GetSetting(this, "sound_selected", soundPath) == PSRETURN_OK && !soundPath.empty()) | if (ISoundManager::IsCreated() && GUI<CStrW>::GetSetting(this, "sound_selected", soundPath) == PSRETURN_OK && !soundPath.empty()) | ||||
g_SoundManager->PlayAsUI(soundPath.c_str(), false); | ISoundManager::GetSoundManager()->PlayAsUI(soundPath.c_str(), false); | ||||
} | } | ||||
} | } | ||||
void CList::SelectFirstElement() | void CList::SelectFirstElement() | ||||
{ | { | ||||
int selected; | int selected; | ||||
GUI<int>::GetSetting(this, "selected", selected); | GUI<int>::GetSetting(this, "selected", selected); | ||||
▲ Show 20 Lines • Show All 71 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator