a5372e9757
- Move over the last of the original settings dialog code to QT. It was actually a bit easier to write in the QT version. wxWidgets was definitely not ideal for that because the pages would fully create/destroy every time. - [Win32] Fix os_dlopen so that it only appends .dll if not present - [MacOS] Fix name dialog text edit widget issue (it would be better if we could just use the list widget for editing labels, will have to look in to that in the future) - Tweak the settings UI a bit more and make 30 FPS default - Add a macro to convert a QString to a UTF-8 const char * string - Rename build/plugins to build/obs-plugins - Remove the last of the wxWidgets code
95 lines
2.4 KiB
C++
95 lines
2.4 KiB
C++
/******************************************************************************
|
|
Copyright (C) 2013 by Hugh Bailey <obs.jim@gmail.com>
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 2 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
******************************************************************************/
|
|
|
|
#pragma once
|
|
|
|
#include <util/util.hpp>
|
|
#include <QDialog>
|
|
#include <memory>
|
|
|
|
class QAbstractButton;
|
|
|
|
#include "ui_OBSBasicSettings.h"
|
|
|
|
class OBSBasicSettings : public QDialog {
|
|
Q_OBJECT
|
|
|
|
private:
|
|
std::unique_ptr<Ui::OBSBasicSettings> ui;
|
|
ConfigFile localeIni;
|
|
bool generalChanged;
|
|
bool outputsChanged;
|
|
bool audioChanged;
|
|
bool videoChanged;
|
|
int pageIndex;
|
|
bool loading;
|
|
|
|
inline bool Changed() const
|
|
{
|
|
return generalChanged || outputsChanged || audioChanged ||
|
|
videoChanged;
|
|
}
|
|
|
|
inline void ClearChanged()
|
|
{
|
|
generalChanged = false;
|
|
outputsChanged = false;
|
|
audioChanged = false;
|
|
videoChanged = false;
|
|
}
|
|
|
|
bool QueryChanges();
|
|
|
|
void LoadGeneralSettings();
|
|
//void LoadOutputSettings();
|
|
//void LoadAudioSettings();
|
|
void LoadVideoSettings();
|
|
|
|
/* general */
|
|
void LoadLanguageList();
|
|
|
|
/* video */
|
|
void LoadRendererList();
|
|
void ResetDownscales(uint32_t cx, uint32_t cy);
|
|
void LoadResolutionLists();
|
|
void LoadFPSData();
|
|
void LoadSettings(bool changedOnly);
|
|
|
|
void SaveGeneralSettings();
|
|
//void SaveOutputSettings();
|
|
//void SaveAudioSettings();
|
|
void SaveVideoSettings();
|
|
void SaveSettings();
|
|
|
|
private slots:
|
|
void on_listWidget_itemSelectionChanged();
|
|
void on_buttonBox_clicked(QAbstractButton *button);
|
|
|
|
void on_language_currentIndexChanged(int index);
|
|
|
|
void on_renderer_currentIndexChanged(int index);
|
|
void on_fpsType_currentIndexChanged(int index);
|
|
void on_baseResolution_editTextChanged(const QString &text);
|
|
void on_outputResolution_editTextChanged(const QString &text);
|
|
|
|
protected:
|
|
virtual void closeEvent(QCloseEvent *event);
|
|
|
|
public:
|
|
OBSBasicSettings(QWidget *parent);
|
|
};
|