revised preferences dialog design

This commit is contained in:
itsmattkc
2019-09-26 16:13:23 +10:00
parent ce20dc159e
commit 55e845edf8
8 changed files with 28 additions and 6 deletions
+17 -5
View File
@@ -21,6 +21,8 @@
#include "preferences.h"
#include <QDialogButtonBox>
#include <QListWidget>
#include <QSplitter>
#include <QVBoxLayout>
#include "config/config.h"
@@ -37,8 +39,14 @@ PreferencesDialog::PreferencesDialog(QWidget *parent, QMenuBar* main_menu_bar) :
{
setWindowTitle(tr("Preferences"));
QVBoxLayout* verticalLayout = new QVBoxLayout(this);
tab_widget_ = new QTabWidget(this);
QVBoxLayout* layout = new QVBoxLayout(this);
QSplitter* splitter = new QSplitter();
layout->addWidget(splitter);
list_widget_ = new QListWidget();
preference_pane_stack_ = new QStackedWidget(this);
AddTab(new PreferencesGeneralTab(), tr("General"));
AddTab(new PreferencesAppearanceTab(), tr("Appearance"));
@@ -48,17 +56,20 @@ PreferencesDialog::PreferencesDialog(QWidget *parent, QMenuBar* main_menu_bar) :
AddTab(new PreferencesAudioTab(), tr("Audio"));
AddTab(new PreferencesKeyboardTab(main_menu_bar), tr("Keyboard"));
verticalLayout->addWidget(tab_widget_);
splitter->addWidget(list_widget_);
splitter->addWidget(preference_pane_stack_);
QDialogButtonBox* buttonBox = new QDialogButtonBox(this);
buttonBox->setOrientation(Qt::Horizontal);
buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok);
verticalLayout->addWidget(buttonBox);
layout->addWidget(buttonBox);
connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
connect(list_widget_, SIGNAL(currentRowChanged(int)), preference_pane_stack_, SLOT(setCurrentIndex(int)));
// set up default sequence
/*default_sequence.set_name(tr("Default Sequence"));
default_sequence.set_width(olive::config.default_sequence_width);
@@ -329,7 +340,8 @@ void PreferencesDialog::accept()
void PreferencesDialog::AddTab(PreferencesTab *tab, const QString &title)
{
tab_widget_->addTab(tab, title);
list_widget_->addItem(title);
preference_pane_stack_->addWidget(tab);
tabs_.append(tab);
}
+5 -1
View File
@@ -23,7 +23,9 @@
#include <QCheckBox>
#include <QDialog>
#include <QListWidget>
#include <QMenuBar>
#include <QStackedWidget>
#include <QTabWidget>
#include "tabs/preferencestab.h"
@@ -57,7 +59,9 @@ private slots:
private:
void AddTab(PreferencesTab* tab, const QString& title);
QTabWidget* tab_widget_;
QListWidget* list_widget_;
QStackedWidget* preference_pane_stack_;
QList<PreferencesTab*> tabs_;
@@ -8,6 +8,7 @@
PreferencesAppearanceTab::PreferencesAppearanceTab()
{
QVBoxLayout* layout = new QVBoxLayout(this);
layout->setMargin(0);
QGridLayout* appearance_layout = new QGridLayout();
layout->addLayout(appearance_layout);
@@ -9,6 +9,7 @@
PreferencesAudioTab::PreferencesAudioTab()
{
QGridLayout* audio_tab_layout = new QGridLayout(this);
audio_tab_layout->setMargin(0);
int row = 0;
@@ -6,6 +6,7 @@
PreferencesBehaviorTab::PreferencesBehaviorTab()
{
QVBoxLayout* layout = new QVBoxLayout(this);
layout->setMargin(0);
behavior_tree_ = new QTreeWidget();
layout->addWidget(behavior_tree_);
@@ -11,6 +11,7 @@
PreferencesColorManagementTab::PreferencesColorManagementTab()
{
QGridLayout* color_management_layout = new QGridLayout(this);
color_management_layout->setMargin(0);
int row = 0;
@@ -9,6 +9,7 @@
PreferencesGeneralTab::PreferencesGeneralTab()
{
QVBoxLayout* layout = new QVBoxLayout(this);
layout->setMargin(0);
QGridLayout* general_layout = new QGridLayout();
layout->addLayout(general_layout);
@@ -10,6 +10,7 @@
PreferencesKeyboardTab::PreferencesKeyboardTab(QMenuBar *menubar)
{
QVBoxLayout* shortcut_layout = new QVBoxLayout(this);
shortcut_layout->setMargin(0);
QLineEdit* key_search_line = new QLineEdit();
key_search_line->setPlaceholderText(tr("Search for action or shortcut"));