Skip to content

Commit

Permalink
Merge pull request #5504 from ligfx/qtsettingsandpaths
Browse files Browse the repository at this point in the history
DolphinQt2: rework Settings/PathDialog + empty GameList interaction
  • Loading branch information
shuffle2 committed Jun 5, 2017
2 parents 95ef785 + 688f5ed commit d712914
Show file tree
Hide file tree
Showing 25 changed files with 234 additions and 189 deletions.
3 changes: 2 additions & 1 deletion Source/Core/DolphinQt2/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,17 +32,18 @@ set(SRCS
Config/Mapping/WiimoteEmuExtension.cpp
Config/Mapping/WiimoteEmuGeneral.cpp
Config/Mapping/WiimoteEmuMotionControl.cpp
Config/PathDialog.cpp
Config/PropertiesDialog.cpp
Config/SettingsWindow.cpp
GameList/GameFile.cpp
GameList/GameList.cpp
GameList/GameListModel.cpp
GameList/GameTracker.cpp
GameList/ListProxyModel.cpp
QtUtils/DoubleClickEventFilter.cpp
QtUtils/ElidedButton.cpp
Settings/GeneralPane.cpp
Settings/InterfacePane.cpp
Settings/PathPane.cpp
)

list(APPEND LIBS core uicommon)
Expand Down
30 changes: 16 additions & 14 deletions Source/Core/DolphinQt2/Config/ControllersWindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -371,7 +371,7 @@ void ControllersWindow::OnWiimoteRefreshPressed()

void ControllersWindow::OnEmulationStateChanged(bool running)
{
if (!Settings().IsWiiGameRunning() || NetPlay::IsNetPlayRunning())
if (!Settings::Instance().IsWiiGameRunning() || NetPlay::IsNetPlayRunning())
{
m_wiimote_sync->setEnabled(!running);
m_wiimote_reset->setEnabled(!running);
Expand All @@ -383,7 +383,7 @@ void ControllersWindow::OnEmulationStateChanged(bool running)
m_wiimote_emu->setEnabled(!running);
m_wiimote_passthrough->setEnabled(!running);

if (!Settings().IsWiiGameRunning())
if (!Settings::Instance().IsWiiGameRunning())
{
m_wiimote_real_balance_board->setEnabled(!running);
m_wiimote_continuous_scanning->setEnabled(!running);
Expand Down Expand Up @@ -471,33 +471,35 @@ void ControllersWindow::UnimplementedButton()

void ControllersWindow::LoadSettings()
{
auto& settings = Settings::Instance();
for (size_t i = 0; i < m_wiimote_groups.size(); i++)
{
m_gc_controller_boxes[i]->setCurrentIndex(ToGCMenuIndex(Settings().GetSIDevice(i)));
m_gc_controller_boxes[i]->setCurrentIndex(ToGCMenuIndex(settings.GetSIDevice(i)));
m_wiimote_boxes[i]->setCurrentIndex(ToWiimoteMenuIndex(g_wiimote_sources[i]));
}
m_wiimote_real_balance_board->setChecked(g_wiimote_sources[WIIMOTE_BALANCE_BOARD] ==
WIIMOTE_SRC_REAL);
m_wiimote_speaker_data->setChecked(Settings().IsWiimoteSpeakerEnabled());
m_wiimote_continuous_scanning->setChecked(Settings().IsContinuousScanningEnabled());
m_wiimote_speaker_data->setChecked(settings.IsWiimoteSpeakerEnabled());
m_wiimote_continuous_scanning->setChecked(settings.IsContinuousScanningEnabled());

m_advanced_bg_input->setChecked(Settings().IsBackgroundInputEnabled());
m_advanced_bg_input->setChecked(settings.IsBackgroundInputEnabled());

if (Settings().IsBluetoothPassthroughEnabled())
if (settings.IsBluetoothPassthroughEnabled())
m_wiimote_passthrough->setChecked(true);
else
m_wiimote_emu->setChecked(true);

OnWiimoteModeChanged(Settings().IsBluetoothPassthroughEnabled());
OnWiimoteModeChanged(settings.IsBluetoothPassthroughEnabled());
}

void ControllersWindow::SaveSettings()
{
Settings().SetWiimoteSpeakerEnabled(m_wiimote_speaker_data->isChecked());
Settings().SetContinuousScanningEnabled(m_wiimote_continuous_scanning->isChecked());
auto& settings = Settings::Instance();
settings.SetWiimoteSpeakerEnabled(m_wiimote_speaker_data->isChecked());
settings.SetContinuousScanningEnabled(m_wiimote_continuous_scanning->isChecked());

Settings().SetBluetoothPassthroughEnabled(m_wiimote_passthrough->isChecked());
Settings().SetBackgroundInputEnabled(m_advanced_bg_input->isChecked());
settings.SetBluetoothPassthroughEnabled(m_wiimote_passthrough->isChecked());
settings.SetBackgroundInputEnabled(m_advanced_bg_input->isChecked());

WiimoteReal::ChangeWiimoteSource(WIIMOTE_BALANCE_BOARD,
m_wiimote_real_balance_board->isChecked() ? WIIMOTE_SRC_REAL :
Expand All @@ -515,8 +517,8 @@ void ControllersWindow::SaveSettings()
for (size_t i = 0; i < m_gc_groups.size(); i++)
{
const int index = m_gc_controller_boxes[i]->currentIndex();
Settings().SetSIDevice(i, FromGCMenuIndex(index));
settings.SetSIDevice(i, FromGCMenuIndex(index));
m_gc_buttons[i]->setEnabled(index != 0 && index != 6);
}
Settings().Save();
settings.Save();
}
8 changes: 4 additions & 4 deletions Source/Core/DolphinQt2/Config/Mapping/GCPadWiiU.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,14 +48,14 @@ void GCPadWiiU::ConnectWidgets()

void GCPadWiiU::LoadSettings()
{
m_rumble->setChecked(Settings().IsGCAdapterRumbleEnabled(GetPort()));
m_simulate_bongos->setChecked(Settings().IsGCAdapterSimulatingDKBongos(GetPort()));
m_rumble->setChecked(Settings::Instance().IsGCAdapterRumbleEnabled(GetPort()));
m_simulate_bongos->setChecked(Settings::Instance().IsGCAdapterSimulatingDKBongos(GetPort()));
}

void GCPadWiiU::SaveSettings()
{
Settings().SetGCAdapterRumbleEnabled(GetPort(), m_rumble->isChecked());
Settings().SetGCAdapterSimulatingDKBongos(GetPort(), m_simulate_bongos->isChecked());
Settings::Instance().SetGCAdapterRumbleEnabled(GetPort(), m_rumble->isChecked());
Settings::Instance().SetGCAdapterSimulatingDKBongos(GetPort(), m_simulate_bongos->isChecked());
}

InputConfig* GCPadWiiU::GetConfig()
Expand Down
13 changes: 8 additions & 5 deletions Source/Core/DolphinQt2/Config/Mapping/MappingWindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -126,8 +126,9 @@ void MappingWindow::ConnectWidgets()

void MappingWindow::OnDeleteProfilePressed()
{
auto& settings = Settings::Instance();
const QString profile_name = m_profiles_combo->currentText();
if (!Settings().GetProfiles(m_config).contains(profile_name))
if (!settings.GetProfiles(m_config).contains(profile_name))
{
QMessageBox error;
error.setIcon(QMessageBox::Critical);
Expand All @@ -153,7 +154,7 @@ void MappingWindow::OnDeleteProfilePressed()

QMessageBox result(this);

std::string profile_path = Settings().GetProfileINIPath(m_config, profile_name).toStdString();
std::string profile_path = settings.GetProfileINIPath(m_config, profile_name).toStdString();

File::CreateFullPath(profile_path);

Expand All @@ -170,7 +171,8 @@ void MappingWindow::OnLoadProfilePressed()
if (profile_name.isEmpty())
return;

std::string profile_path = Settings().GetProfileINIPath(m_config, profile_name).toStdString();
std::string profile_path =
Settings::Instance().GetProfileINIPath(m_config, profile_name).toStdString();

File::CreateFullPath(profile_path);

Expand All @@ -192,7 +194,8 @@ void MappingWindow::OnSaveProfilePressed()
if (profile_name.isEmpty())
return;

std::string profile_path = Settings().GetProfileINIPath(m_config, profile_name).toStdString();
std::string profile_path =
Settings::Instance().GetProfileINIPath(m_config, profile_name).toStdString();

File::CreateFullPath(profile_path);

Expand Down Expand Up @@ -297,7 +300,7 @@ void MappingWindow::ChangeMappingType(MappingWindow::Type type)
m_controller = m_config->GetController(GetPort());

m_profiles_combo->addItem(QStringLiteral(""));
for (const auto& item : Settings().GetProfiles(m_config))
for (const auto& item : Settings::Instance().GetProfiles(m_config))
m_profiles_combo->addItem(item);
}

Expand Down
5 changes: 4 additions & 1 deletion Source/Core/DolphinQt2/Config/SettingsWindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
#include "DolphinQt2/Settings.h"
#include "DolphinQt2/Settings/GeneralPane.h"
#include "DolphinQt2/Settings/InterfacePane.h"
#include "DolphinQt2/Settings/PathPane.h"

SettingsWindow::SettingsWindow(QWidget* parent) : QDialog(parent)
{
Expand Down Expand Up @@ -53,6 +54,7 @@ void SettingsWindow::SetupSettingsWidget()
// Panes initalised here
m_settings_outer->addWidget(new GeneralPane);
m_settings_outer->addWidget(new InterfacePane);
m_settings_outer->addWidget(new PathPane);
}

void SettingsWindow::MakeUnfinishedWarning()
Expand All @@ -67,7 +69,7 @@ void SettingsWindow::MakeUnfinishedWarning()

void SettingsWindow::AddCategoryToList(const QString& title, const QString& icon)
{
QString dir = Settings().GetThemeDir();
QString dir = Settings::Instance().GetThemeDir();
QListWidgetItem* button = new QListWidgetItem();
button->setIcon(QIcon(dir.append(icon)));
button->setText(title);
Expand All @@ -87,6 +89,7 @@ void SettingsWindow::MakeCategoryList()

AddCategoryToList(tr("General"), QStringLiteral("config.png"));
AddCategoryToList(tr("Interface"), QStringLiteral("browse.png"));
AddCategoryToList(tr("Paths"), QStringLiteral("browse.png"));
connect(m_categories, &QListWidget::currentItemChanged, this, &SettingsWindow::changePage);
}

Expand Down
9 changes: 5 additions & 4 deletions Source/Core/DolphinQt2/DolphinQt2.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
<AdditionalOptions>/NODEFAULTLIB:libcmt %(AdditionalOptions)</AdditionalOptions>
</Link>
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir)\VideoInterface;$(ProjectDir)\GameList;$(ProjectDir)\Settings;$(ProjectDir)\Config;$(ProjectDir)\Config\Mapping;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(ProjectDir)\VideoInterface;$(ProjectDir)\GameList;$(ProjectDir)\Settings;$(ProjectDir)\Config;$(ProjectDir)\Config\Mapping;$(ProjectDir)\QtUtils;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Manifest>
<AdditionalManifestFiles>DolphinQt2.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
Expand All @@ -75,7 +75,6 @@
<QtMoc Include="Config\Mapping\MappingWidget.h" />
<QtMoc Include="Config\Mapping\MappingWindow.h" />
<QtMoc Include="Config\InfoWidget.h" />
<QtMoc Include="Config\PathDialog.h" />
<QtMoc Include="Config\PropertiesDialog.h" />
<QtMoc Include="Config\SettingsWindow.h" />
<QtMoc Include="GameList\GameFile.h" />
Expand All @@ -88,6 +87,7 @@
<QtMoc Include="Settings\InterfacePane.h" />
<QtMoc Include="MainWindow.h" />
<QtMoc Include="MenuBar.h" />
<QtMoc Include="QtUtils\DoubleClickEventFilter.h" />
<QtMoc Include="RenderWidget.h" />
<QtMoc Include="Settings.h" />
<QtMoc Include="Settings\GeneralPane.h" />
Expand All @@ -112,8 +112,8 @@
<ClCompile Include="$(QtMocOutPrefix)MappingWidget.cpp" />
<ClCompile Include="$(QtMocOutPrefix)MappingWindow.cpp" />
<ClCompile Include="$(QtMocOutPrefix)MenuBar.cpp" />
<ClCompile Include="$(QtMocOutPrefix)PathDialog.cpp" />
<ClCompile Include="$(QtMocOutPrefix)PropertiesDialog.cpp" />
<ClCompile Include="$(QtMocOutPrefix)DoubleClickEventFilter.cpp" />
<ClCompile Include="$(QtMocOutPrefix)RenderWidget.cpp" />
<ClCompile Include="$(QtMocOutPrefix)Settings.cpp" />
<ClCompile Include="$(QtMocOutPrefix)SettingsWindow.cpp" />
Expand All @@ -133,7 +133,6 @@
<ClCompile Include="Config\Mapping\WiimoteEmuExtension.cpp" />
<ClCompile Include="Config\Mapping\WiimoteEmuGeneral.cpp" />
<ClCompile Include="Config\Mapping\WiimoteEmuMotionControl.cpp" />
<ClCompile Include="Config\PathDialog.cpp" />
<ClCompile Include="Config\PropertiesDialog.cpp" />
<ClCompile Include="Config\SettingsWindow.cpp" />
<ClCompile Include="GameList\GameFile.cpp" />
Expand All @@ -146,12 +145,14 @@
<ClCompile Include="Main.cpp" />
<ClCompile Include="MainWindow.cpp" />
<ClCompile Include="MenuBar.cpp" />
<ClCompile Include="QtUtils\DoubleClickEventFilter.cpp" />
<ClCompile Include="QtUtils\ElidedButton.cpp" />
<ClCompile Include="RenderWidget.cpp" />
<ClCompile Include="Resources.cpp" />
<ClCompile Include="Settings.cpp" />
<ClCompile Include="Settings\GeneralPane.cpp" />
<ClCompile Include="Settings\InterfacePane.cpp" />
<ClCompile Include="Settings\PathPane.cpp" />
<ClCompile Include="ToolBar.cpp" />
</ItemGroup>
<!--Put standard C/C++ headers here-->
Expand Down
21 changes: 12 additions & 9 deletions Source/Core/DolphinQt2/DolphinQt2.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@
<ClCompile Include="$(QtMocOutPrefix)MenuBar.cpp">
<Filter>Generated Files</Filter>
</ClCompile>
<ClCompile Include="$(QtMocOutPrefix)DoubleClickEventFilter.cpp">
<Filter>Generated Files</Filter>
</ClCompile>
<ClCompile Include="$(QtMocOutPrefix)RenderWidget.cpp">
<Filter>Generated Files</Filter>
</ClCompile>
Expand Down Expand Up @@ -57,12 +60,6 @@
<ClCompile Include="Settings.cpp" />
<ClCompile Include="ToolBar.cpp" />
<ClCompile Include="Host.cpp" />
<ClCompile Include="$(QtMocOutPrefix)PathDialog.cpp">
<Filter>Generated Files</Filter>
</ClCompile>
<ClCompile Include="Config\PathDialog.cpp">
<Filter>Config</Filter>
</ClCompile>
<ClCompile Include="AboutDialog.cpp" />
<ClCompile Include="$(QtMocOutPrefix)AboutDialog.cpp">
<Filter>Generated Files</Filter>
Expand Down Expand Up @@ -103,6 +100,9 @@
<ClCompile Include="Settings\InterfacePane.cpp">
<Filter>Settings</Filter>
</ClCompile>
<ClCompile Include="Settings\PathPane.cpp">
<Filter>Settings</Filter>
</ClCompile>
<ClCompile Include="$(QtMocOutPrefix)MappingWidget.cpp" />
<ClCompile Include="$(QtMocOutPrefix)MappingWindow.cpp" />
<ClCompile Include="Config\Mapping\GCKeyboardEmu.cpp" />
Expand All @@ -116,6 +116,9 @@
<ClCompile Include="Config\Mapping\WiimoteEmuExtension.cpp" />
<ClCompile Include="Config\Mapping\WiimoteEmuGeneral.cpp" />
<ClCompile Include="Config\Mapping\WiimoteEmuMotionControl.cpp" />
<ClCompile Include="QtUtils\DoubleClickEventFilter.cpp">
<Filter>QtUtils</Filter>
</ClCompile>
<ClCompile Include="QtUtils\ElidedButton.cpp">
<Filter>QtUtils</Filter>
</ClCompile>
Expand All @@ -142,9 +145,6 @@
<QtMoc Include="GameList\GameTracker.h">
<Filter>GameList</Filter>
</QtMoc>
<QtMoc Include="Config\PathDialog.h">
<Filter>Config</Filter>
</QtMoc>
<QtMoc Include="AboutDialog.h" />
<QtMoc Include="Config\SettingsWindow.h" />
<QtMoc Include="Config\PropertiesDialog.h" />
Expand All @@ -160,6 +160,9 @@
</QtMoc>
<QtMoc Include="Config\Mapping\MappingWidget.h" />
<QtMoc Include="Config\Mapping\MappingWindow.h" />
<QtMoc Include="QtUtils\DoubleClickEventFilter.h">
<Filter>QtUtils</Filter>
</QtMoc>
</ItemGroup>
<ItemGroup>
<QtUi Include="*.ui" />
Expand Down
4 changes: 2 additions & 2 deletions Source/Core/DolphinQt2/GameList/GameFile.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -217,9 +217,9 @@ QString GameFile::GetBannerString(const QMap<DiscIO::Language, QString>& m) cons
bool wii = m_platform != DiscIO::Platform::GAMECUBE_DISC;
DiscIO::Language current_lang;
if (wii)
current_lang = Settings().GetWiiSystemLanguage();
current_lang = Settings::Instance().GetWiiSystemLanguage();
else
current_lang = Settings().GetGCSystemLanguage();
current_lang = Settings::Instance().GetGCSystemLanguage();

if (m.contains(current_lang))
return m[current_lang];
Expand Down

0 comments on commit d712914

Please sign in to comment.