Merge branch 'master' into qt-inisettings

This commit is contained in:
Connor McLaughlin
2020-07-21 13:28:18 +10:00
committed by GitHub
19 changed files with 161 additions and 100 deletions

View File

@ -214,14 +214,14 @@ GameListSettingsWidget::GameListSettingsWidget(QtHostInterface* host_interface,
m_ui.searchDirectoryList->setCurrentIndex({});
connect(m_ui.searchDirectoryList, &QTableView::clicked, this, &GameListSettingsWidget::onDirectoryListItemClicked);
connect(m_ui.addSearchDirectoryButton, &QToolButton::pressed, this,
&GameListSettingsWidget::onAddSearchDirectoryButtonPressed);
connect(m_ui.removeSearchDirectoryButton, &QToolButton::pressed, this,
&GameListSettingsWidget::onRemoveSearchDirectoryButtonPressed);
connect(m_ui.rescanAllGames, &QToolButton::pressed, this, &GameListSettingsWidget::onRescanAllGamesPressed);
connect(m_ui.scanForNewGames, &QToolButton::pressed, this, &GameListSettingsWidget::onScanForNewGamesPressed);
connect(m_ui.updateRedumpDatabase, &QToolButton::pressed, this,
&GameListSettingsWidget::onUpdateRedumpDatabaseButtonPressed);
connect(m_ui.addSearchDirectoryButton, &QPushButton::clicked, this,
&GameListSettingsWidget::onAddSearchDirectoryButtonClicked);
connect(m_ui.removeSearchDirectoryButton, &QPushButton::clicked, this,
&GameListSettingsWidget::onRemoveSearchDirectoryButtonClicked);
connect(m_ui.rescanAllGames, &QPushButton::clicked, this, &GameListSettingsWidget::onRescanAllGamesClicked);
connect(m_ui.scanForNewGames, &QPushButton::clicked, this, &GameListSettingsWidget::onScanForNewGamesClicked);
connect(m_ui.updateRedumpDatabase, &QPushButton::clicked, this,
&GameListSettingsWidget::onUpdateRedumpDatabaseButtonClicked);
}
GameListSettingsWidget::~GameListSettingsWidget() = default;
@ -248,7 +248,9 @@ void GameListSettingsWidget::onDirectoryListItemClicked(const QModelIndex& index
void GameListSettingsWidget::addSearchDirectory(QWidget* parent_widget)
{
QString dir = QFileDialog::getExistingDirectory(parent_widget, tr("Select Search Directory"));
QString dir =
QDir::toNativeSeparators(QFileDialog::getExistingDirectory(parent_widget, tr("Select Search Directory")));
if (dir.isEmpty())
return;
@ -265,12 +267,12 @@ void GameListSettingsWidget::addSearchDirectory(QWidget* parent_widget)
m_search_directories_model->addEntry(dir, recursive);
}
void GameListSettingsWidget::onAddSearchDirectoryButtonPressed()
void GameListSettingsWidget::onAddSearchDirectoryButtonClicked()
{
addSearchDirectory(this);
}
void GameListSettingsWidget::onRemoveSearchDirectoryButtonPressed()
void GameListSettingsWidget::onRemoveSearchDirectoryButtonClicked()
{
QModelIndexList selection = m_ui.searchDirectoryList->selectionModel()->selectedIndexes();
if (selection.size() < 1)
@ -280,17 +282,17 @@ void GameListSettingsWidget::onRemoveSearchDirectoryButtonPressed()
m_search_directories_model->removeEntry(row);
}
void GameListSettingsWidget::onRescanAllGamesPressed()
void GameListSettingsWidget::onRescanAllGamesClicked()
{
m_host_interface->refreshGameList(true, false);
}
void GameListSettingsWidget::onScanForNewGamesPressed()
void GameListSettingsWidget::onScanForNewGamesClicked()
{
m_host_interface->refreshGameList(false, false);
}
void GameListSettingsWidget::onUpdateRedumpDatabaseButtonPressed()
void GameListSettingsWidget::onUpdateRedumpDatabaseButtonClicked()
{
if (QMessageBox::question(this, tr("Download database from redump.org?"),
tr("Do you wish to download the disc database from redump.org?\n\nThis will download "

View File

@ -21,11 +21,11 @@ public Q_SLOTS:
private Q_SLOTS:
void onDirectoryListItemClicked(const QModelIndex& index);
void onAddSearchDirectoryButtonPressed();
void onRemoveSearchDirectoryButtonPressed();
void onScanForNewGamesPressed();
void onRescanAllGamesPressed();
void onUpdateRedumpDatabaseButtonPressed();
void onAddSearchDirectoryButtonClicked();
void onRemoveSearchDirectoryButtonClicked();
void onScanForNewGamesClicked();
void onRescanAllGamesClicked();
void onUpdateRedumpDatabaseButtonClicked();
protected:
void resizeEvent(QResizeEvent* event);

View File

@ -41,7 +41,7 @@
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QToolButton" name="addSearchDirectoryButton">
<widget class="QPushButton" name="addSearchDirectoryButton">
<property name="text">
<string>Add</string>
</property>
@ -49,13 +49,10 @@
<iconset resource="resources/icons.qrc">
<normaloff>:/icons/list-add.png</normaloff>:/icons/list-add.png</iconset>
</property>
<property name="toolButtonStyle">
<enum>Qt::ToolButtonTextBesideIcon</enum>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="removeSearchDirectoryButton">
<widget class="QPushButton" name="removeSearchDirectoryButton">
<property name="text">
<string>Remove</string>
</property>
@ -63,9 +60,6 @@
<iconset resource="resources/icons.qrc">
<normaloff>:/icons/list-remove.png</normaloff>:/icons/list-remove.png</iconset>
</property>
<property name="toolButtonStyle">
<enum>Qt::ToolButtonTextBesideIcon</enum>
</property>
</widget>
</item>
<item>
@ -82,7 +76,7 @@
</spacer>
</item>
<item>
<widget class="QToolButton" name="scanForNewGames">
<widget class="QPushButton" name="scanForNewGames">
<property name="text">
<string>Scan New</string>
</property>
@ -90,13 +84,10 @@
<iconset resource="resources/icons.qrc">
<normaloff>:/icons/folder-open.png</normaloff>:/icons/folder-open.png</iconset>
</property>
<property name="toolButtonStyle">
<enum>Qt::ToolButtonTextBesideIcon</enum>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="rescanAllGames">
<widget class="QPushButton" name="rescanAllGames">
<property name="text">
<string>Rescan All</string>
</property>
@ -104,9 +95,6 @@
<iconset resource="resources/icons.qrc">
<normaloff>:/icons/view-refresh.png</normaloff>:/icons/view-refresh.png</iconset>
</property>
<property name="toolButtonStyle">
<enum>Qt::ToolButtonTextBesideIcon</enum>
</property>
</widget>
</item>
<item>

View File

@ -45,6 +45,8 @@ GPUSettingsWidget::GPUSettingsWidget(QtHostInterface* host_interface, QWidget* p
QStringLiteral("ForceNTSCTimings"));
SettingWidgetBinder::BindWidgetToBoolSetting(m_host_interface, m_ui.linearTextureFiltering, QStringLiteral("GPU"),
QStringLiteral("TextureFiltering"));
SettingWidgetBinder::BindWidgetToBoolSetting(m_host_interface, m_ui.widescreenHack, QStringLiteral("GPU"),
QStringLiteral("WidescreenHack"));
connect(m_ui.resolutionScale, QOverload<int>::of(&QComboBox::currentIndexChanged), this,
&GPUSettingsWidget::updateScaledDitheringEnabled);
@ -73,7 +75,7 @@ GPUSettingsWidget::GPUSettingsWidget(QtHostInterface* host_interface, QWidget* p
"Some games display content in the overscan area, or use it for screen effects and may "
"not display correctly with the All Borders setting. Only Overscan offers a good "
"compromise between stability and hiding black borders.");
dialog->registerWidgetHelp(m_ui.disableInterlacing, "Disable Interlacing (force progressive render/scan)", "Checked",
dialog->registerWidgetHelp(m_ui.disableInterlacing, "Disable Interlacing (force progressive render/scan)", "Unchecked",
"Forces the display of frames to progressive mode. This only affects the displayed image, "
"the console will be unaware of the setting. If the game is internally producing "
"interlaced frames, this option may not have any effect. Usually safe to enable.");
@ -115,6 +117,10 @@ GPUSettingsWidget::GPUSettingsWidget(QtHostInterface* host_interface, QWidget* p
"Smooths out the blockyness of magnified textures on 3D object by using bilinear "
"filtering. Will have a greater effect on higher resolution scales. Currently this option "
"produces artifacts around objects in many games and needs further work. Only applies to the hardware renderers.");
dialog->registerWidgetHelp(m_ui.widescreenHack, "Widescreen Hack", "Unchecked",
"Scales vertex positions in screen-space to a widescreen aspect ratio, essentially "
"increasing the field of view from 4:3 to 16:9 in 3D games. For 2D games, or games which "
"use pre-rendered backgrounds, this enhancement will not work as expected.");
}
GPUSettingsWidget::~GPUSettingsWidget() = default;

View File

@ -163,6 +163,13 @@
</property>
</widget>
</item>
<item row="6" column="0" colspan="2">
<widget class="QCheckBox" name="widescreenHack">
<property name="text">
<string>Widescreen Hack</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>

View File

@ -22,9 +22,10 @@ static constexpr std::array<const char*, static_cast<int>(SettingsDialog::Catego
"to populate the game list. Search directories can be added, removed, and switched to recursive/non-recursive. "
"Additionally, the redump.org database can be downloaded or updated to provide titles for discs, as the discs "
"themselves do not provide title information.",
"<strong>Hotkey Settings</strong><hr>Binding a hotkey allows you to trigger events such as a resetting, powering "
"off, taking screenshots or saving/loading states at the press of a key/controller button. Hotkey titles are "
"self-explanatory.",
"<strong>Hotkey Settings</strong><hr>Binding a hotkey allows you to trigger events such as a resetting or taking "
"screenshots at the press of a key/controller button. Hotkey titles are self-explanatory. Clicking a binding will "
"start a countdown, in which case you should press the key or controller button/axis you wish to bind. If no button "
"is pressed and the timer lapses, the binding will be unchanged. To clear a binding, right-click the button.",
"<strong>Controller Settings</strong><hr>This page lets you choose the type of controller you wish to simulate for "
"the console, and rebind the keys or host game controller buttons to your choosing. Clicking a binding will start a "
"countdown, in which case you should press the key or controller button/axis you wish to bind. (For rumble, press "