diff --git a/obs/forms/OBSBasic.ui b/obs/forms/OBSBasic.ui
index 7f4d29fb9..20227cc6d 100644
--- a/obs/forms/OBSBasic.ui
+++ b/obs/forms/OBSBasic.ui
@@ -166,8 +166,8 @@
-
-
+
+
@@ -236,8 +236,8 @@
-
-
+
+
@@ -438,7 +438,7 @@
SourceProperties
-
+
:/res/images/up.ico:/res/images/up.ico
@@ -447,7 +447,7 @@
SceneMoveUp
-
+
:/res/images/up.ico:/res/images/up.ico
@@ -456,7 +456,7 @@
SourceMoveUp
-
+
:/res/images/down.ico:/res/images/down.ico
@@ -465,7 +465,7 @@
SceneMoveDown
-
+
:/res/images/down.ico:/res/images/down.ico
diff --git a/obs/forms/OBSBasicSettings.ui b/obs/forms/OBSBasicSettings.ui
index 6cb512c65..593cd67a5 100644
--- a/obs/forms/OBSBasicSettings.ui
+++ b/obs/forms/OBSBasicSettings.ui
@@ -170,7 +170,7 @@
-
- Aux Audio Device 1:
+ Mic/Aux Audio Device 1:
@@ -184,7 +184,7 @@
-
- Aux Audio Device 2:
+ Mic/Aux Audio Device 2:
@@ -198,7 +198,7 @@
-
- Aux Audio Device 3:
+ Mic/Aux Audio Device 3:
@@ -224,7 +224,7 @@
-
-
+
@@ -247,7 +247,10 @@
-
-
+
+
+ false
+
@@ -261,7 +264,7 @@
-
-
+
true
@@ -284,7 +287,7 @@
-
-
+
true
@@ -294,7 +297,11 @@
-
-
+
+
+ false
+
+
-
@@ -304,7 +311,7 @@
-
-
+
0
@@ -312,25 +319,33 @@
- Common FPS
+ FPS (Common)
QComboBox::AdjustToContents
-
- Common FPS
+ FPS (Common)
-
- Fractional FPS (Advanced)
+ FPS (Integer)
+
+
+ -
+
+ FPS (Fractional)
-
+
+ 0
+
@@ -346,7 +361,75 @@
0
-
-
+
+
+ 30
+
+
-
+
+ 10
+
+
+ -
+
+ 20
+
+
+ -
+
+ 29.97
+
+
+ -
+
+ 30
+
+
+ -
+
+ 48
+
+
+ -
+
+ 59.94
+
+
+ -
+
+ 60
+
+
+
+
+
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+ -
+
+
+ 1
+
+
+ 120
+
+
+ 30
+
+
@@ -368,10 +451,27 @@
0
-
-
+
+
+ 1
+
+
+ 1000000
+
+
+ 30
+
+
-
-
+
+
+ 1
+
+
+ 1000000
+
+
-
@@ -432,7 +532,7 @@
- comboBox_6
+ fpsType
currentIndexChanged(int)
stackedWidget
setCurrentIndex(int)
diff --git a/obs/window-basic-main.cpp b/obs/window-basic-main.cpp
index 3ba3e0244..759610a34 100644
--- a/obs/window-basic-main.cpp
+++ b/obs/window-basic-main.cpp
@@ -20,7 +20,7 @@
#include
#include "obs-app.hpp"
-//#include "window-basic-settings.hpp"
+#include "window-basic-settings.hpp"
#include "window-namedialog.hpp"
#include "window-basic-main.hpp"
#include "qt-wrappers.hpp"
@@ -521,4 +521,6 @@ void OBSBasic::on_actionSourceDown_triggered()
void OBSBasic::on_settingsButton_clicked()
{
+ OBSBasicSettings settings(this);
+ settings.exec();
}
diff --git a/obs/window-basic-settings.cpp b/obs/window-basic-settings.cpp
index 053327d22..411a294d3 100644
--- a/obs/window-basic-settings.cpp
+++ b/obs/window-basic-settings.cpp
@@ -15,86 +15,23 @@
along with this program. If not, see .
******************************************************************************/
-#include
#include "window-basic-settings.hpp"
-using namespace std;
-OBSBasicSettings::OBSBasicSettings(wxWindow *parent)
- : OBSBasicSettingsBase(parent)
+OBSBasicSettings::OBSBasicSettings(QWidget *parent)
+ : QDialog (parent),
+ ui (new Ui::OBSBasicSettings)
{
- unique_ptr data(CreateBasicGeneralSettings(this));
- settings = move(data);
+ ui->setupUi(this);
}
-void OBSBasicSettings::PageChanged(wxListbookEvent &event)
+void OBSBasicSettings::closeEvent(QCloseEvent *event)
{
- wxWindow *curPage = settingsList->GetCurrentPage();
- if (!curPage)
- return;
-
- int id = curPage->GetId();
-
- BasicSettingsData *ptr = NULL;
-
- switch (id) {
- case ID_SETTINGS_GENERAL:
- ptr = CreateBasicGeneralSettings(this);
- break;
- case ID_SETTINGS_VIDEO:
- ptr = CreateBasicVideoSettings(this);
- break;
- }
-
- settings = move(unique_ptr(ptr));
}
-bool OBSBasicSettings::ConfirmChanges()
+void OBSBasicSettings::on_listWidget_currentRowChanged(int row)
{
- if (settings && settings->DataChanged()) {
- int confirm = wxMessageBox(WXStr("Settings.Confirm"),
- WXStr("Settings.ConfirmTitle"),
- wxYES_NO | wxCANCEL);
-
- if (confirm == wxCANCEL) {
- return false;
- } else if (confirm == wxYES) {
- settings->Apply();
- return true;
- }
- }
-
- return true;
}
-void OBSBasicSettings::PageChanging(wxListbookEvent &event)
+void OBSBasicSettings::on_buttonBox_clicked(QAbstractButton *button)
{
- if (!ConfirmChanges())
- event.Veto();
-}
-
-void OBSBasicSettings::OnClose(wxCloseEvent &event)
-{
- if (!ConfirmChanges())
- event.Veto();
- else
- EndModal(0);
-}
-
-void OBSBasicSettings::OKClicked(wxCommandEvent &event)
-{
- if (settings && settings->DataChanged())
- settings->Apply();
-
- EndModal(0);
-}
-
-void OBSBasicSettings::CancelClicked(wxCommandEvent &event)
-{
- EndModal(0);
-}
-
-void OBSBasicSettings::ApplyClicked(wxCommandEvent &event)
-{
- if (settings && settings->DataChanged())
- settings->Apply();
}
diff --git a/obs/window-basic-settings.hpp b/obs/window-basic-settings.hpp
index 9fcca8b29..2517a28e5 100644
--- a/obs/window-basic-settings.hpp
+++ b/obs/window-basic-settings.hpp
@@ -17,25 +17,26 @@
#pragma once
-#include "forms/OBSWindows.h"
-#include "settings-basic.hpp"
-
+#include
#include
-class OBSBasicSettings : public OBSBasicSettingsBase {
+class QAbstractButton;
+
+#include "ui_OBSBasicSettings.h"
+
+class OBSBasicSettings : public QDialog {
+ Q_OBJECT
+
+private:
+ std::unique_ptr ui;
+
+private slots:
+ void on_listWidget_currentRowChanged(int row);
+ void on_buttonBox_clicked(QAbstractButton *button);
+
protected:
- std::unique_ptr settings;
-
- virtual void PageChanged(wxListbookEvent &event);
- virtual void PageChanging(wxListbookEvent &event);
- virtual void OnClose(wxCloseEvent &event);
-
- bool ConfirmChanges();
-
- virtual void OKClicked(wxCommandEvent &event);
- virtual void CancelClicked(wxCommandEvent &event);
- virtual void ApplyClicked(wxCommandEvent &event);
+ virtual void closeEvent(QCloseEvent *event);
public:
- OBSBasicSettings(wxWindow *parent);
+ OBSBasicSettings(QWidget *parent);
};