mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-19 20:32:15 +02:00
Fix/update forms for main and settings window
- Had the wrong names set for the up/down widgets for sources/scenes - Updated the settings dialog and gave most of the widgets actual object names - Added code for the settings window. Settings window should now at least display.
This commit is contained in:
parent
f2d0c98ffe
commit
092f36fac4
@ -166,8 +166,8 @@
|
||||
<addaction name="actionRemoveScene"/>
|
||||
<addaction name="actionSceneProperties"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="actionSceneMoveUp"/>
|
||||
<addaction name="actionSceneMoveDown"/>
|
||||
<addaction name="actionSceneUp"/>
|
||||
<addaction name="actionSceneDown"/>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
@ -236,8 +236,8 @@
|
||||
<addaction name="actionRemoveSource"/>
|
||||
<addaction name="actionSourceProperties"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="actionSourceMoveUp"/>
|
||||
<addaction name="actionSourceMoveDown"/>
|
||||
<addaction name="actionSourceUp"/>
|
||||
<addaction name="actionSourceDown"/>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
@ -438,7 +438,7 @@
|
||||
<string>SourceProperties</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionSceneMoveUp">
|
||||
<action name="actionSceneUp">
|
||||
<property name="icon">
|
||||
<iconset resource="obs.qrc">
|
||||
<normaloff>:/res/images/up.ico</normaloff>:/res/images/up.ico</iconset>
|
||||
@ -447,7 +447,7 @@
|
||||
<string>SceneMoveUp</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionSourceMoveUp">
|
||||
<action name="actionSourceUp">
|
||||
<property name="icon">
|
||||
<iconset resource="obs.qrc">
|
||||
<normaloff>:/res/images/up.ico</normaloff>:/res/images/up.ico</iconset>
|
||||
@ -456,7 +456,7 @@
|
||||
<string>SourceMoveUp</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionSceneMoveDown">
|
||||
<action name="actionSceneDown">
|
||||
<property name="icon">
|
||||
<iconset resource="obs.qrc">
|
||||
<normaloff>:/res/images/down.ico</normaloff>:/res/images/down.ico</iconset>
|
||||
@ -465,7 +465,7 @@
|
||||
<string>SceneMoveDown</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionSourceMoveDown">
|
||||
<action name="actionSourceDown">
|
||||
<property name="icon">
|
||||
<iconset resource="obs.qrc">
|
||||
<normaloff>:/res/images/down.ico</normaloff>:/res/images/down.ico</iconset>
|
||||
|
@ -170,7 +170,7 @@
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Aux Audio Device 1:</string>
|
||||
<string>Mic/Aux Audio Device 1:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -184,7 +184,7 @@
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>Aux Audio Device 2:</string>
|
||||
<string>Mic/Aux Audio Device 2:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -198,7 +198,7 @@
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>Aux Audio Device 3:</string>
|
||||
<string>Mic/Aux Audio Device 3:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -224,7 +224,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="comboBox_2">
|
||||
<widget class="QComboBox" name="renderer">
|
||||
<property name="currentText">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
@ -247,7 +247,10 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="comboBox">
|
||||
<widget class="QComboBox" name="adapter">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="currentText">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
@ -261,7 +264,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QComboBox" name="comboBox_3">
|
||||
<widget class="QComboBox" name="baseResolution">
|
||||
<property name="editable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
@ -284,7 +287,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QComboBox" name="comboBox_4">
|
||||
<widget class="QComboBox" name="outputResolution">
|
||||
<property name="editable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
@ -294,7 +297,11 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QComboBox" name="comboBox_5"/>
|
||||
<widget class="QComboBox" name="downscaleFilter">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_11">
|
||||
@ -304,7 +311,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QComboBox" name="comboBox_6">
|
||||
<widget class="QComboBox" name="fpsType">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
@ -312,25 +319,33 @@
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="currentText">
|
||||
<string>Common FPS</string>
|
||||
<string>FPS (Common)</string>
|
||||
</property>
|
||||
<property name="sizeAdjustPolicy">
|
||||
<enum>QComboBox::AdjustToContents</enum>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Common FPS</string>
|
||||
<string>FPS (Common)</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Fractional FPS (Advanced)</string>
|
||||
<string>FPS (Integer)</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>FPS (Fractional)</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QStackedWidget" name="stackedWidget">
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="page">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<property name="leftMargin">
|
||||
@ -346,7 +361,75 @@
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item alignment="Qt::AlignTop">
|
||||
<widget class="QComboBox" name="comboBox_7"/>
|
||||
<widget class="QComboBox" name="fpsCommon">
|
||||
<property name="currentText">
|
||||
<string notr="true">30</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string notr="true">10</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string notr="true">20</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string notr="true">29.97</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string notr="true">30</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string notr="true">48</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string notr="true">59.94</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string notr="true">60</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="page_3">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item alignment="Qt::AlignTop">
|
||||
<widget class="QSpinBox" name="fpsInteger">
|
||||
<property name="minimum">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>120</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
@ -368,10 +451,27 @@
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item row="0" column="1">
|
||||
<widget class="QSpinBox" name="spinBox_2"/>
|
||||
<widget class="QSpinBox" name="fpsNumerator">
|
||||
<property name="minimum">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>1000000</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QSpinBox" name="spinBox"/>
|
||||
<widget class="QSpinBox" name="fpsDenominator">
|
||||
<property name="minimum">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>1000000</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_12">
|
||||
@ -432,7 +532,7 @@
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>comboBox_6</sender>
|
||||
<sender>fpsType</sender>
|
||||
<signal>currentIndexChanged(int)</signal>
|
||||
<receiver>stackedWidget</receiver>
|
||||
<slot>setCurrentIndex(int)</slot>
|
||||
|
@ -20,7 +20,7 @@
|
||||
#include <QMessageBox>
|
||||
|
||||
#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();
|
||||
}
|
||||
|
@ -15,86 +15,23 @@
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
******************************************************************************/
|
||||
|
||||
#include <wx/msgdlg.h>
|
||||
#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<BasicSettingsData> 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<BasicSettingsData>(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();
|
||||
}
|
||||
|
@ -17,25 +17,26 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "forms/OBSWindows.h"
|
||||
#include "settings-basic.hpp"
|
||||
|
||||
#include <QDialog>
|
||||
#include <memory>
|
||||
|
||||
class OBSBasicSettings : public OBSBasicSettingsBase {
|
||||
class QAbstractButton;
|
||||
|
||||
#include "ui_OBSBasicSettings.h"
|
||||
|
||||
class OBSBasicSettings : public QDialog {
|
||||
Q_OBJECT
|
||||
|
||||
private:
|
||||
std::unique_ptr<Ui::OBSBasicSettings> ui;
|
||||
|
||||
private slots:
|
||||
void on_listWidget_currentRowChanged(int row);
|
||||
void on_buttonBox_clicked(QAbstractButton *button);
|
||||
|
||||
protected:
|
||||
std::unique_ptr<BasicSettingsData> 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);
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user