Skip to content
Permalink
Browse files
Merge pull request #6659 from spycrab/qt_tabbed_config
Qt/SettingsWindow: Use tabs
  • Loading branch information
delroth committed Apr 17, 2018
2 parents eb97f2d + 4d4a018 commit 94f3e27
Show file tree
Hide file tree
Showing 6 changed files with 21 additions and 132 deletions.
@@ -92,7 +92,6 @@ add_executable(dolphin-emu-qt2
QtUtils/DoubleClickEventFilter.cpp
QtUtils/ElidedButton.cpp
QtUtils/ImageConverter.cpp
QtUtils/ListTabWidget.cpp
QtUtils/WindowActivationEventFilter.cpp
QtUtils/WinIconHelper.cpp
QtUtils/WrapInScrollArea.cpp
@@ -4,11 +4,11 @@

#include <QDialogButtonBox>
#include <QPushButton>
#include <QTabWidget>
#include <QVBoxLayout>

#include "DolphinQt2/Config/SettingsWindow.h"
#include "DolphinQt2/MainWindow.h"
#include "DolphinQt2/QtUtils/ListTabWidget.h"
#include "DolphinQt2/Resources.h"
#include "DolphinQt2/Settings.h"
#include "DolphinQt2/Settings/AdvancedPane.h"
@@ -21,16 +21,6 @@

#include "Core/Core.h"

static int AddTab(ListTabWidget* tab_widget, const QString& label, QWidget* widget,
const char* icon_name)
{
int index = tab_widget->addTab(widget, label);
auto set_icon = [=] { tab_widget->setTabIcon(index, Resources::GetScaledThemeIcon(icon_name)); };
QObject::connect(&Settings::Instance(), &Settings::ThemeChanged, set_icon);
set_icon();
return index;
}

SettingsWindow::SettingsWindow(QWidget* parent) : QDialog(parent)
{
// Set Window Properties
@@ -41,23 +31,23 @@ SettingsWindow::SettingsWindow(QWidget* parent) : QDialog(parent)
QVBoxLayout* layout = new QVBoxLayout;

// Add content to layout before dialog buttons.
m_tabs = new ListTabWidget();
layout->addWidget(m_tabs);
m_tab_widget = new QTabWidget();
layout->addWidget(m_tab_widget);

m_general_pane_index = AddTab(m_tabs, tr("General"), new GeneralPane(), "config");
AddTab(m_tabs, tr("Interface"), new InterfacePane(), "browse");
m_audio_pane_index = AddTab(m_tabs, tr("Audio"), new AudioPane(), "play");
AddTab(m_tabs, tr("GameCube"), new GameCubePane(), "gcpad");
AddTab(m_tabs, tr("Paths"), new PathPane(), "browse");
m_tab_widget->addTab(new GeneralPane(), tr("General"));
m_tab_widget->addTab(new InterfacePane(), tr("Interface"));
m_tab_widget->addTab(new AudioPane(), tr("Audio"));
m_tab_widget->addTab(new PathPane(), tr("Paths"));
m_tab_widget->addTab(new GameCubePane(), tr("GameCube"));

auto* wii_pane = new WiiPane;
AddTab(m_tabs, tr("Wii"), wii_pane, "wiimote");
m_tab_widget->addTab(wii_pane, tr("Wii"));

connect(&Settings::Instance(), &Settings::EmulationStateChanged, [wii_pane](Core::State state) {
wii_pane->OnEmulationStateChanged(state != Core::State::Uninitialized);
});

AddTab(m_tabs, tr("Advanced"), new AdvancedPane(), "config");
m_tab_widget->addTab(new AdvancedPane(), tr("Advanced"));

// Dialog box buttons
QDialogButtonBox* close_box = new QDialogButtonBox(QDialogButtonBox::Close);
@@ -71,10 +61,10 @@ SettingsWindow::SettingsWindow(QWidget* parent) : QDialog(parent)

void SettingsWindow::SelectAudioPane()
{
m_tabs->setCurrentIndex(m_audio_pane_index);
m_tab_widget->setCurrentIndex(static_cast<int>(TabIndex::Audio));
}

void SettingsWindow::SelectGeneralPane()
{
m_tabs->setCurrentIndex(m_general_pane_index);
m_tab_widget->setCurrentIndex(static_cast<int>(TabIndex::Audio));
}
@@ -6,7 +6,13 @@

#include <QDialog>

class ListTabWidget;
class QTabWidget;

enum class TabIndex
{
General = 0,
Audio = 2
};

class SettingsWindow final : public QDialog
{
@@ -17,7 +23,5 @@ class SettingsWindow final : public QDialog
void SelectAudioPane();

private:
ListTabWidget* m_tabs;
int m_audio_pane_index = -1;
int m_general_pane_index = -1;
QTabWidget* m_tab_widget;
};
@@ -288,7 +288,6 @@
<ClCompile Include="QtUtils\DoubleClickEventFilter.cpp" />
<ClCompile Include="QtUtils\ElidedButton.cpp" />
<ClCompile Include="QtUtils\ImageConverter.cpp" />
<ClCompile Include="QtUtils\ListTabWidget.cpp" />
<ClCompile Include="QtUtils\WindowActivationEventFilter.cpp" />
<ClCompile Include="QtUtils\WrapInScrollArea.cpp" />
<ClCompile Include="QtUtils\AspectRatioWidget.cpp" />
@@ -335,7 +334,6 @@
<ClInclude Include="QtUtils\BlockUserInputFilter.h" />
<ClInclude Include="QtUtils\ElidedButton.h" />
<ClInclude Include="QtUtils\ImageConverter.h" />
<ClInclude Include="QtUtils\ListTabWidget.h" />
<ClInclude Include="Resources.h" />
<ClInclude Include="Settings\GameCubePane.h" />
<ClInclude Include="Settings\PathPane.h" />
@@ -425,4 +423,4 @@
<Message Text="Copy: @(BinaryFiles) -&gt; $(BinaryOutputDir)" Importance="High" />
<Copy SourceFiles="@(BinaryFiles)" DestinationFolder="$(BinaryOutputDir)" />
</Target>
</Project>
</Project>

This file was deleted.

This file was deleted.

0 comments on commit 94f3e27

Please sign in to comment.