mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-09-24 23:31:36 +08:00
UI: Add hotkeys page in settings dialog
This commit is contained in:
@@ -31,6 +31,7 @@ class OBSBasic;
|
||||
class QAbstractButton;
|
||||
class QComboBox;
|
||||
class OBSPropertiesView;
|
||||
class OBSHotkeyWidget;
|
||||
|
||||
#include "ui_OBSBasicSettings.h"
|
||||
|
||||
@@ -58,11 +59,13 @@ private:
|
||||
OBSBasic *main;
|
||||
|
||||
std::unique_ptr<Ui::OBSBasicSettings> ui;
|
||||
|
||||
bool generalChanged = false;
|
||||
bool stream1Changed = false;
|
||||
bool outputsChanged = false;
|
||||
bool audioChanged = false;
|
||||
bool videoChanged = false;
|
||||
bool hotkeysChanged = false;
|
||||
bool advancedChanged = false;
|
||||
int pageIndex = 0;
|
||||
bool loading = true;
|
||||
@@ -74,6 +77,10 @@ private:
|
||||
OBSPropertiesView *streamEncoderProps = nullptr;
|
||||
OBSPropertiesView *recordEncoderProps = nullptr;
|
||||
|
||||
std::vector<std::pair<bool, QPointer<OBSHotkeyWidget>>> hotkeys;
|
||||
OBSSignal hotkeyRegistered;
|
||||
OBSSignal hotkeyUnregistered;
|
||||
|
||||
void SaveCombo(QComboBox *widget, const char *section,
|
||||
const char *value);
|
||||
void SaveComboData(QComboBox *widget, const char *section,
|
||||
@@ -91,7 +98,8 @@ private:
|
||||
inline bool Changed() const
|
||||
{
|
||||
return generalChanged || outputsChanged || stream1Changed ||
|
||||
audioChanged || videoChanged || advancedChanged;
|
||||
audioChanged || videoChanged || advancedChanged ||
|
||||
hotkeysChanged;
|
||||
}
|
||||
|
||||
inline void EnableApplyButton(bool en)
|
||||
@@ -106,6 +114,7 @@ private:
|
||||
outputsChanged = false;
|
||||
audioChanged = false;
|
||||
videoChanged = false;
|
||||
hotkeysChanged = false;
|
||||
advancedChanged= false;
|
||||
EnableApplyButton(false);
|
||||
}
|
||||
@@ -125,6 +134,7 @@ private:
|
||||
void LoadOutputSettings();
|
||||
void LoadAudioSettings();
|
||||
void LoadVideoSettings();
|
||||
void LoadHotkeySettings(obs_hotkey_id ignoreKey=OBS_INVALID_HOTKEY_ID);
|
||||
void LoadAdvancedSettings();
|
||||
void LoadSettings(bool changedOnly);
|
||||
|
||||
@@ -165,6 +175,7 @@ private:
|
||||
void SaveOutputSettings();
|
||||
void SaveAudioSettings();
|
||||
void SaveVideoSettings();
|
||||
void SaveHotkeySettings();
|
||||
void SaveAdvancedSettings();
|
||||
void SaveSettings();
|
||||
|
||||
@@ -199,6 +210,8 @@ private slots:
|
||||
void VideoChanged();
|
||||
void VideoChangedResolution();
|
||||
void VideoChangedRestart();
|
||||
void HotkeysChanged();
|
||||
void ReloadHotkeys(obs_hotkey_id ignoreKey=OBS_INVALID_HOTKEY_ID);
|
||||
void AdvancedChanged();
|
||||
void AdvancedChangedRestart();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user