diff --git a/assets/lang/de.ini b/assets/lang/de.ini index 9b26717..39e0e7e 100644 --- a/assets/lang/de.ini +++ b/assets/lang/de.ini @@ -168,6 +168,7 @@ tstr_SettingsActionsEditCommandTypeShowKeyboard=Zeige Tastatur tstr_SettingsActionsEditCommandTypeCropActiveWindow=Schneide zum aktiven Fenster zu tstr_SettingsActionsEditCommandTypeShowOverlay=Zeige Overlay tstr_SettingsActionsEditCommandTypeSwitchTask=Wechsle Task +tstr_SettingsActionsEditCommandTypeLoadOverlayProfile=Lade Overlay-Profil tstr_SettingsActionsEditCommandTypeUnknown=Unbekannt tstr_SettingsActionsEditCommandVisibilityToggle=Umschalten tstr_SettingsActionsEditCommandVisibilityShow=Immer zeigen @@ -190,6 +191,8 @@ tstr_SettingsActionsEditCommandSwitchingMethodFocus=Fokusiere Fenster tstr_SettingsActionsEditCommandWindow=Fenster tstr_SettingsActionsEditCommandWindowNone=[Kein Fenster] tstr_SettingsActionsEditCommandCursorWarp=Bewege Cursor in das Fenster +tstr_SettingsActionsEditCommandProfile=Profil +tstr_SettingsActionsEditCommandProfileClear=Entferne bestehende Overlays tstr_SettingsActionsEditCommandDescNone=Kein Befehl tstr_SettingsActionsEditCommandDescKey=Drücke Taste "%KEYNAME%" tstr_SettingsActionsEditCommandDescKeyToggle=Schalte Taste "%KEYNAME%" um @@ -207,6 +210,8 @@ tstr_SettingsActionsEditCommandDescOverlayHide=Verstecke Overlay: %TAGS% tstr_SettingsActionsEditCommandDescOverlayTargetDefault=[Aktions-Ziel] tstr_SettingsActionsEditCommandDescSwitchTask=Wechsle Task tstr_SettingsActionsEditCommandDescSwitchTaskWindow=Wechsle Task zu "%WINDOW%" +tstr_SettingsActionsEditCommandDescLoadOverlayProfile=Lade Overlay-Profil "%PROFILE%" +tstr_SettingsActionsEditCommandDescLoadOverlayProfileAdd=Füge Overlay-Profil "%PROFILE%" hinzu tstr_SettingsActionsEditCommandDescUnknown=Unbekannter Befehl tstr_SettingsActionsOrderHeader=Ändere Aktions-Anordnung diff --git a/assets/lang/en.ini b/assets/lang/en.ini index 0ade022..a0642da 100644 --- a/assets/lang/en.ini +++ b/assets/lang/en.ini @@ -171,6 +171,7 @@ tstr_SettingsActionsEditCommandTypeShowKeyboard=Show Keyboard tstr_SettingsActionsEditCommandTypeCropActiveWindow=Crop to Active Window tstr_SettingsActionsEditCommandTypeShowOverlay=Show Overlay tstr_SettingsActionsEditCommandTypeSwitchTask=Switch Task +tstr_SettingsActionsEditCommandTypeLoadOverlayProfile=Load Overlay Profile tstr_SettingsActionsEditCommandTypeUnknown=Unknown tstr_SettingsActionsEditCommandVisibilityToggle=Toggle tstr_SettingsActionsEditCommandVisibilityShow=Always Show @@ -193,6 +194,8 @@ tstr_SettingsActionsEditCommandSwitchingMethodFocus=Focus Window tstr_SettingsActionsEditCommandWindow=Window tstr_SettingsActionsEditCommandWindowNone=[No Window] tstr_SettingsActionsEditCommandCursorWarp=Warp Cursor into Window +tstr_SettingsActionsEditCommandProfile=Profile +tstr_SettingsActionsEditCommandProfileClear=Remove existing Overlays tstr_SettingsActionsEditCommandDescNone=No Command tstr_SettingsActionsEditCommandDescKey=Press Key "%KEYNAME%" tstr_SettingsActionsEditCommandDescKeyToggle=Toggle Key "%KEYNAME%" @@ -210,6 +213,8 @@ tstr_SettingsActionsEditCommandDescOverlayHide=Hide Overlay: %TAGS% tstr_SettingsActionsEditCommandDescOverlayTargetDefault=[Action Target] tstr_SettingsActionsEditCommandDescSwitchTask=Switch Task tstr_SettingsActionsEditCommandDescSwitchTaskWindow=Switch Task to "%WINDOW%" +tstr_SettingsActionsEditCommandDescLoadOverlayProfile=Load Overlay Profile "%PROFILE%" +tstr_SettingsActionsEditCommandDescLoadOverlayProfileAdd=Add Overlay Profile "%PROFILE%" tstr_SettingsActionsEditCommandDescUnknown=Unknown Command tstr_SettingsActionsOrderHeader=Change Action Order diff --git a/src/DesktopPlusUI/TranslationManager.cpp b/src/DesktopPlusUI/TranslationManager.cpp index 5527b7d..5c6c3ae 100644 --- a/src/DesktopPlusUI/TranslationManager.cpp +++ b/src/DesktopPlusUI/TranslationManager.cpp @@ -162,6 +162,7 @@ const char* TranslationManager::s_StringIDNames[tstr_MAX] = "tstr_SettingsActionsEditCommandTypeCropActiveWindow", "tstr_SettingsActionsEditCommandTypeShowOverlay", "tstr_SettingsActionsEditCommandTypeSwitchTask", + "tstr_SettingsActionsEditCommandTypeLoadOverlayProfile", "tstr_SettingsActionsEditCommandTypeUnknown", "tstr_SettingsActionsEditCommandVisibilityToggle", "tstr_SettingsActionsEditCommandVisibilityShow", @@ -184,6 +185,8 @@ const char* TranslationManager::s_StringIDNames[tstr_MAX] = "tstr_SettingsActionsEditCommandWindow", "tstr_SettingsActionsEditCommandWindowNone", "tstr_SettingsActionsEditCommandCursorWarp", + "tstr_SettingsActionsEditCommandProfile", + "tstr_SettingsActionsEditCommandProfileClear", "tstr_SettingsActionsEditCommandDescNone", "tstr_SettingsActionsEditCommandDescKey", "tstr_SettingsActionsEditCommandDescKeyToggle", @@ -201,6 +204,8 @@ const char* TranslationManager::s_StringIDNames[tstr_MAX] = "tstr_SettingsActionsEditCommandDescOverlayTargetDefault", "tstr_SettingsActionsEditCommandDescSwitchTask", "tstr_SettingsActionsEditCommandDescSwitchTaskWindow", + "tstr_SettingsActionsEditCommandDescLoadOverlayProfile", + "tstr_SettingsActionsEditCommandDescLoadOverlayProfileAdd", "tstr_SettingsActionsEditCommandDescUnknown", "tstr_SettingsActionsOrderHeader", "tstr_SettingsActionsOrderButtonLabel", diff --git a/src/DesktopPlusUI/TranslationManager.h b/src/DesktopPlusUI/TranslationManager.h index 9b3c294..2e562f4 100644 --- a/src/DesktopPlusUI/TranslationManager.h +++ b/src/DesktopPlusUI/TranslationManager.h @@ -32,13 +32,13 @@ enum TRMGRStrID tstr_SettingsWarningBrowserMismatch, tstr_SettingsWarningUIAccessLost, tstr_SettingsWarningOverlayCreationErrorLimit, - tstr_SettingsWarningOverlayCreationErrorOther, //%ERRORNAME% == VROverlay::GetOverlayErrorNameFromEnum() - tstr_SettingsWarningGraphicsCaptureError, //%ERRORCODE% == WinRT HRESULT in hex notation - tstr_SettingsWarningAppProfileActive, //%APPNAME% == name of active application + tstr_SettingsWarningOverlayCreationErrorOther, //%ERRORNAME% == VROverlay::GetOverlayErrorNameFromEnum() + tstr_SettingsWarningGraphicsCaptureError, //%ERRORCODE% == WinRT HRESULT in hex notation + tstr_SettingsWarningAppProfileActive, //%APPNAME% == name of active application tstr_SettingsWarningMenuDontShowAgain, tstr_SettingsWarningMenuDismiss, tstr_SettingsInterfaceLanguage, - tstr_SettingsInterfaceLanguageCommunity, //%AUTHOR% == Language Author string + tstr_SettingsInterfaceLanguageCommunity, //%AUTHOR% == Language Author string tstr_SettingsInterfaceLanguageIncompleteWarning, tstr_SettingsInterfaceAdvancedSettings, tstr_SettingsInterfaceAdvancedSettingsTip, @@ -76,7 +76,7 @@ enum TRMGRStrID tstr_SettingsProfilesOverlaysHeader, tstr_SettingsProfilesOverlaysNameDefault, tstr_SettingsProfilesOverlaysNameNew, - tstr_SettingsProfilesOverlaysNameNewBase, //%ID% == ID of profile, increased if previous number is already taken + tstr_SettingsProfilesOverlaysNameNewBase, //%ID% == ID of profile, increased if previous number is already taken tstr_SettingsProfilesOverlaysProfileLoad, tstr_SettingsProfilesOverlaysProfileAdd, tstr_SettingsProfilesOverlaysProfileSave, @@ -160,6 +160,7 @@ enum TRMGRStrID tstr_SettingsActionsEditCommandTypeCropActiveWindow, tstr_SettingsActionsEditCommandTypeShowOverlay, tstr_SettingsActionsEditCommandTypeSwitchTask, + tstr_SettingsActionsEditCommandTypeLoadOverlayProfile, tstr_SettingsActionsEditCommandTypeUnknown, tstr_SettingsActionsEditCommandVisibilityToggle, tstr_SettingsActionsEditCommandVisibilityShow, @@ -182,27 +183,31 @@ enum TRMGRStrID tstr_SettingsActionsEditCommandWindow, tstr_SettingsActionsEditCommandWindowNone, tstr_SettingsActionsEditCommandCursorWarp, + tstr_SettingsActionsEditCommandProfile, + tstr_SettingsActionsEditCommandProfileClear, tstr_SettingsActionsEditCommandDescNone, - tstr_SettingsActionsEditCommandDescKey, //%KEYNAME% == key name - tstr_SettingsActionsEditCommandDescKeyToggle, //^ - tstr_SettingsActionsEditCommandDescMousePos, //%X% & %Y% == position coordinates - tstr_SettingsActionsEditCommandDescString, //%STRING% == command string - tstr_SettingsActionsEditCommandDescLaunchApp, //%APP% == app path, %ARGSOPT% == tstr_SettingsActionsEditCommandDescLaunchAppArgsOpt or blank if app args are empty - tstr_SettingsActionsEditCommandDescLaunchAppArgsOpt, //%ARGS% == app arguments + tstr_SettingsActionsEditCommandDescKey, //%KEYNAME% == key name + tstr_SettingsActionsEditCommandDescKeyToggle, //^ + tstr_SettingsActionsEditCommandDescMousePos, //%X% & %Y% == position coordinates + tstr_SettingsActionsEditCommandDescString, //%STRING% == command string + tstr_SettingsActionsEditCommandDescLaunchApp, //%APP% == app path, %ARGSOPT% == tstr_SettingsActionsEditCommandDescLaunchAppArgsOpt or blank if app args are empty + tstr_SettingsActionsEditCommandDescLaunchAppArgsOpt, //%ARGS% == app arguments tstr_SettingsActionsEditCommandDescKeyboardToggle, tstr_SettingsActionsEditCommandDescKeyboardShow, tstr_SettingsActionsEditCommandDescKeyboardHide, tstr_SettingsActionsEditCommandDescCropWindow, - tstr_SettingsActionsEditCommandDescOverlayToggle, //%TAGS% == target tags - tstr_SettingsActionsEditCommandDescOverlayShow, //^ - tstr_SettingsActionsEditCommandDescOverlayHide, //^ + tstr_SettingsActionsEditCommandDescOverlayToggle, //%TAGS% == target tags + tstr_SettingsActionsEditCommandDescOverlayShow, //^ + tstr_SettingsActionsEditCommandDescOverlayHide, //^ tstr_SettingsActionsEditCommandDescOverlayTargetDefault, tstr_SettingsActionsEditCommandDescSwitchTask, - tstr_SettingsActionsEditCommandDescSwitchTaskWindow, //%WINDOW% == window title string + tstr_SettingsActionsEditCommandDescSwitchTaskWindow, //%WINDOW% == window title string + tstr_SettingsActionsEditCommandDescLoadOverlayProfile, //%PROFILE% == profile name string + tstr_SettingsActionsEditCommandDescLoadOverlayProfileAdd, //^ tstr_SettingsActionsEditCommandDescUnknown, tstr_SettingsActionsOrderHeader, - tstr_SettingsActionsOrderButtonLabel, //%COUNT% == Action count - tstr_SettingsActionsOrderButtonLabelSingular, //^ + tstr_SettingsActionsOrderButtonLabel, //%COUNT% == Action count + tstr_SettingsActionsOrderButtonLabelSingular, //^ tstr_SettingsActionsOrderNoActions, tstr_SettingsActionsOrderAdd, tstr_SettingsActionsOrderRemove, @@ -218,7 +223,7 @@ enum TRMGRStrID tstr_SettingsKeyboardAutoShowDesktop, tstr_SettingsKeyboardAutoShowDesktopTip, tstr_SettingsKeyboardAutoShowBrowser, - tstr_SettingsKeyboardLayoutAuthor, //%AUTHOR% == Layout Author string + tstr_SettingsKeyboardLayoutAuthor, //%AUTHOR% == Layout Author string tstr_SettingsKeyboardKeyClusters, tstr_SettingsKeyboardKeyClusterBase, tstr_SettingsKeyboardKeyClusterFunction, diff --git a/src/DesktopPlusUI/UIManager.cpp b/src/DesktopPlusUI/UIManager.cpp index 7a411ce..56a5b20 100644 --- a/src/DesktopPlusUI/UIManager.cpp +++ b/src/DesktopPlusUI/UIManager.cpp @@ -250,6 +250,31 @@ void UIManager::SetOverlayInputEnabled(bool is_enabled) vr::VROverlay()->SetOverlayInputMethod(m_OvrlHandleAuxUI, input_method); } +void UIManager::HandleOverlayProfileLoadMessage(LPARAM lparam) +{ + IPCActionOverlayProfileLoadArg profile_load_arg = (IPCActionOverlayProfileLoadArg)LOWORD(lparam); + int profile_overlay_id = GET_Y_LPARAM(lparam); + + const std::string& profile_name = ConfigManager::GetValue(configid_str_state_profile_name_load); + + if (profile_overlay_id == -2) + { + ConfigManager::Get().LoadOverlayProfileDefault(true); + } + else if (profile_load_arg == ipcactv_ovrl_profile_multi) + { + ConfigManager::Get().LoadMultiOverlayProfileFromFile(profile_name + ".ini", true); + } + else if (profile_load_arg == ipcactv_ovrl_profile_multi_add) + { + IM_ASSERT(profile_overlay_id != -1); //Exclusion is unhandled for now. Shouldn't be sent anyways + + ConfigManager::Get().LoadMultiOverlayProfileFromFile(profile_name + ".ini", false); + } + + OnProfileLoaded(); +} + UIManager* UIManager::Get() { return g_UIManagerPtr; @@ -504,6 +529,11 @@ void UIManager::HandleIPCMessage(const MSG& msg, bool handle_delayed) m_WindowPerformance.ScheduleOverlaySharedTextureUpdate(); break; } + case ipcact_overlay_profile_load: + { + HandleOverlayProfileLoadMessage(msg.lParam); + break; + } case ipcact_overlay_new_drag: { int desktop_id = GET_X_LPARAM(msg.lParam); //(No need to extract pointer distance) diff --git a/src/DesktopPlusUI/UIManager.h b/src/DesktopPlusUI/UIManager.h index e3e56e8..d986e24 100644 --- a/src/DesktopPlusUI/UIManager.h +++ b/src/DesktopPlusUI/UIManager.h @@ -126,6 +126,8 @@ class UIManager void DisplayInitialSetupNotification(); void SetOverlayInputEnabled(bool is_enabled); + void HandleOverlayProfileLoadMessage(LPARAM lparam); + public: static UIManager* Get(); diff --git a/src/DesktopPlusUI/WindowSettings.cpp b/src/DesktopPlusUI/WindowSettings.cpp index 1d13615..7658254 100644 --- a/src/DesktopPlusUI/WindowSettings.cpp +++ b/src/DesktopPlusUI/WindowSettings.cpp @@ -3937,6 +3937,9 @@ void WindowSettings::UpdatePageActionsEdit(bool only_restore_settings) reload_icon = true; input_tags_state.PopupShow = false; + //Make sure profile list is ready + m_ProfileList = ConfigManager::Get().GetOverlayProfileList(); + //Create from scratch if selected UID is 0 if (m_ActionSelectionUID == k_ActionUID_Invalid) { @@ -4353,7 +4356,7 @@ void WindowSettings::UpdatePageActionsEdit(bool only_restore_settings) int command_type_temp = command.Type; ImGui::SetNextItemWidth(-1); - if (TranslatedComboAnimated("##ComboCommandType", command_type_temp, tstr_SettingsActionsEditCommandTypeNone, tstr_SettingsActionsEditCommandTypeSwitchTask)) + if (TranslatedComboAnimated("##ComboCommandType", command_type_temp, tstr_SettingsActionsEditCommandTypeNone, tstr_SettingsActionsEditCommandTypeLoadOverlayProfile)) { //Reset command values, then set type command = ActionCommand(); @@ -4364,6 +4367,12 @@ void WindowSettings::UpdatePageActionsEdit(bool only_restore_settings) ui_state.temp_int_1 = 0; ui_state.temp_int_2 = 0; + //Set command specific default values + if (command.Type == ActionCommand::command_load_overlay_profile) + { + command.UIntID = 1; //Clear existing overlays: true + } + has_value_changed = true; } ImGui::Spacing(); @@ -4726,6 +4735,79 @@ void WindowSettings::UpdatePageActionsEdit(bool only_restore_settings) break; } + case ActionCommand::command_load_overlay_profile: + { + bool clear_existing = (command.UIntID == 1); + + int& list_id = ui_state.temp_int_1; + + //Find current selection index if needed + if ((list_id == 0) && (!command.StrMain.empty())) + { + const auto it = std::find(m_ProfileList.begin(), m_ProfileList.end(), command.StrMain); + list_id = (it != m_ProfileList.end()) ? (int)std::distance(m_ProfileList.begin(), it) : -1; + } + + ImGui::AlignTextToFramePadding(); + ImGui::TextUnformatted(TranslationManager::GetString(tstr_SettingsActionsEditCommandProfile)); + + ImGui::NextColumn(); + + ImGui::PushItemWidth(-1); + ImGui::SetNextItemWidth(-1); + if (ImGui::BeginComboAnimated("##ComboLang", (!command.StrMain.empty()) ? command.StrMain.c_str() : TranslationManager::GetString(tstr_SettingsProfilesOverlaysNameDefault) )) + { + int index = 0; + for (const auto& name : m_ProfileList) + { + //Skip [New Profile] which is always at the end of the list + if (index == m_ProfileList.size() - 1) + { + break; + } + + ImGui::PushID(index); + if (ImGui::Selectable(name.c_str(), (index == list_id))) + { + list_id = index; + + if (list_id == 0) + { + command.StrMain = ""; + command.UIntID = 1; + } + else + { + command.StrMain = m_ProfileList[list_id]; + } + + has_value_changed = true; + } + ImGui::PopID(); + + index++; + } + + ImGui::EndCombo(); + } + + ImGui::NextColumn(); + + //"Default Profile" is always clearing overlays + if (list_id == 0) + ImGui::PushItemDisabled(); + + if (ImGui::Checkbox(TranslationManager::GetString(tstr_SettingsActionsEditCommandProfileClear), &clear_existing)) + { + command.UIntID = clear_existing; + has_value_changed = true; + } + + if (list_id == 0) + ImGui::PopItemDisabled(); + + break; + } default: break; } diff --git a/src/Shared/Actions.cpp b/src/Shared/Actions.cpp index 1033e27..a603533 100644 --- a/src/Shared/Actions.cpp +++ b/src/Shared/Actions.cpp @@ -52,6 +52,7 @@ const char* ActionCommand::s_CommandTypeNames[ActionCommand::command_MAX] = "CropActiveWindow", "ShowOverlay", "SwitchTask", + "LoadOverlayProfile", "Unknown" }; @@ -477,6 +478,38 @@ void ActionManager::DoSwitchTaskCommand(const ActionCommand& command, OverlayIDL } } +void ActionManager::DoLoadOverlayProfileCommand(const ActionCommand& command, OverlayIDList& /*overlay_targets*/) const +{ + const bool clear_existing = (command.UIntID == 1); + + LOG_F(INFO, "Command LoadOverlayProfile:"); + + if (command.StrMain.empty()) + { + ConfigManager::Get().LoadOverlayProfileDefault(true); + + //Tell UI app to load the profile as well + IPCManager::Get().PostMessageToUIApp(ipcmsg_action, ipcact_overlay_profile_load, MAKELPARAM(ipcactv_ovrl_profile_multi, -2)); + + OutputManager::Get()->ResetOverlays(); + } + else + { + const bool has_loaded_profile = ConfigManager::Get().LoadMultiOverlayProfileFromFile(command.StrMain + ".ini"); + + if (has_loaded_profile) + { + //Tell UI app to load the profile as well + HWND window = (OutputManager::Get() != nullptr) ? OutputManager::Get()->GetWindowHandle() : nullptr; + + IPCManager::Get().SendStringToUIApp(configid_str_state_profile_name_load, command.StrMain, window); + IPCManager::Get().PostMessageToUIApp(ipcmsg_action, ipcact_overlay_profile_load, (clear_existing) ? ipcactv_ovrl_profile_multi : ipcactv_ovrl_profile_multi_add); + + OutputManager::Get()->ResetOverlays(); + } + } +} + #endif //ifdef DPLUS_UI #ifdef DPLUS_UI @@ -743,15 +776,16 @@ void ActionManager::StartAction(ActionUID action_uid, unsigned int overlay_sourc { switch (command.Type) { - case ActionCommand::command_key: DoKeyCommand( command, overlay_targets, true); break; - case ActionCommand::command_mouse_pos: DoMousePosCommand( command, overlay_targets); break; - case ActionCommand::command_string: DoStringCommand( command, overlay_targets); break; - case ActionCommand::command_launch_app: DoLaunchAppCommand( command, overlay_targets); break; - case ActionCommand::command_show_keyboard: DoShowKeyboardCommand( command, overlay_targets); break; - case ActionCommand::command_crop_active_window: DoCropActiveWindowCommand(command, overlay_targets); break; - case ActionCommand::command_show_overlay: DoShowOverlayCommand( command, overlay_targets, false); break; - case ActionCommand::command_switch_task: DoSwitchTaskCommand( command, overlay_targets); break; - default: break; + case ActionCommand::command_key: DoKeyCommand( command, overlay_targets, true); break; + case ActionCommand::command_mouse_pos: DoMousePosCommand( command, overlay_targets); break; + case ActionCommand::command_string: DoStringCommand( command, overlay_targets); break; + case ActionCommand::command_launch_app: DoLaunchAppCommand( command, overlay_targets); break; + case ActionCommand::command_show_keyboard: DoShowKeyboardCommand( command, overlay_targets); break; + case ActionCommand::command_crop_active_window: DoCropActiveWindowCommand( command, overlay_targets); break; + case ActionCommand::command_show_overlay: DoShowOverlayCommand( command, overlay_targets, false); break; + case ActionCommand::command_switch_task: DoSwitchTaskCommand( command, overlay_targets); break; + case ActionCommand::command_load_overlay_profile: DoLoadOverlayProfileCommand(command, overlay_targets); break; + default: break; } } #endif @@ -1090,6 +1124,21 @@ std::string ActionManager::GetCommandDescription(const ActionCommand& command, f } break; } + case ActionCommand::command_load_overlay_profile: + { + if (command.UIntID == 0) + { + str = TranslationManager::GetString(tstr_SettingsActionsEditCommandDescLoadOverlayProfileAdd); + } + else + { + str = TranslationManager::GetString(tstr_SettingsActionsEditCommandDescLoadOverlayProfile); + } + + StringReplaceAll(str, "%PROFILE%", (!command.StrMain.empty()) ? command.StrMain : TranslationManager::GetString(tstr_SettingsProfilesOverlaysNameDefault)); + + break; + } default: str = TranslationManager::GetString(tstr_SettingsActionsEditCommandDescUnknown); break; } diff --git a/src/Shared/Actions.h b/src/Shared/Actions.h index 9b7d7cc..b1d78d2 100644 --- a/src/Shared/Actions.h +++ b/src/Shared/Actions.h @@ -22,6 +22,7 @@ struct ActionCommand command_crop_active_window, command_show_overlay, command_switch_task, + command_load_overlay_profile, command_unknown, //Set when loading unrecognized command command_MAX }; @@ -94,14 +95,15 @@ class ActionManager #endif #ifndef DPLUS_UI - void DoKeyCommand( const ActionCommand& command, OverlayIDList& overlay_targets, bool down) const; - void DoMousePosCommand( const ActionCommand& command, OverlayIDList& overlay_targets) const; - void DoStringCommand( const ActionCommand& command, OverlayIDList& overlay_targets) const; - void DoLaunchAppCommand( const ActionCommand& command, OverlayIDList& overlay_targets) const; - void DoShowKeyboardCommand( const ActionCommand& command, OverlayIDList& overlay_targets) const; - void DoCropActiveWindowCommand(const ActionCommand& command, OverlayIDList& overlay_targets) const; - void DoShowOverlayCommand( const ActionCommand& command, OverlayIDList& overlay_targets, bool undo) const; - void DoSwitchTaskCommand( const ActionCommand& command, OverlayIDList& overlay_targets) const; + void DoKeyCommand( const ActionCommand& command, OverlayIDList& overlay_targets, bool down) const; + void DoMousePosCommand( const ActionCommand& command, OverlayIDList& overlay_targets) const; + void DoStringCommand( const ActionCommand& command, OverlayIDList& overlay_targets) const; + void DoLaunchAppCommand( const ActionCommand& command, OverlayIDList& overlay_targets) const; + void DoShowKeyboardCommand( const ActionCommand& command, OverlayIDList& overlay_targets) const; + void DoCropActiveWindowCommand( const ActionCommand& command, OverlayIDList& overlay_targets) const; + void DoShowOverlayCommand( const ActionCommand& command, OverlayIDList& overlay_targets, bool undo) const; + void DoSwitchTaskCommand( const ActionCommand& command, OverlayIDList& overlay_targets) const; + void DoLoadOverlayProfileCommand(const ActionCommand& command, OverlayIDList& overlay_targets) const; #endif #ifdef DPLUS_UI