1
0
mirror of https://github.com/RPCS3/rpcs3.git synced 2024-11-22 02:32:36 +01:00
* Qt15: replace deprecated stuff

* Use Qt 5.15.1

* Move windows to Qt 5.15.2

* Move Ubuntu to Qt 5.15.2
This commit is contained in:
Megamouse 2020-12-08 22:22:08 +01:00 committed by GitHub
parent 062c605eb1
commit a7e5c255b4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 42 additions and 49 deletions

View File

@ -10,8 +10,9 @@ PR_NUMBER="$SYSTEM_PULLREQUEST_PULLREQUESTID"
QT_HOST="http://mirrors.ocf.berkeley.edu/qt/" QT_HOST="http://mirrors.ocf.berkeley.edu/qt/"
#QT_HOST="http://qt.mirror.constant.com/" #QT_HOST="http://qt.mirror.constant.com/"
QT_URL_VER=$(echo "$QT_VER" | sed "s/\.//g") QT_URL_VER=$(echo "$QT_VER" | sed "s/\.//g")
QT_PREFIX="online/qtsdkrepository/windows_x86/desktop/qt5_${QT_URL_VER}/qt.qt5.${QT_URL_VER}.win64_msvc2017_64/${QT_VER}-0-${QT_DATE}" QT_VER_MSVC_UP=$(echo ${QT_VER_MSVC} | tr '[:lower:]' '[:upper:]')
QT_SUFFIX="-Windows-Windows_10-MSVC2017-Windows-Windows_10-X86_64.7z" QT_PREFIX="online/qtsdkrepository/windows_x86/desktop/qt${QT_VER_MAIN}_${QT_URL_VER}/qt.qt${QT_VER_MAIN}.${QT_URL_VER}.win64_${QT_VER_MSVC}_64/${QT_VER}-0-${QT_DATE}"
QT_SUFFIX="-Windows-Windows_10-${QT_VER_MSVC_UP}-Windows-Windows_10-X86_64.7z"
QT_BASE_URL="${QT_HOST}${QT_PREFIX}qtbase${QT_SUFFIX}" QT_BASE_URL="${QT_HOST}${QT_PREFIX}qtbase${QT_SUFFIX}"
QT_WINE_URL="${QT_HOST}${QT_PREFIX}qtwinextras${QT_SUFFIX}" QT_WINE_URL="${QT_HOST}${QT_PREFIX}qtwinextras${QT_SUFFIX}"
QT_DECL_URL="${QT_HOST}${QT_PREFIX}qtdeclarative${QT_SUFFIX}" QT_DECL_URL="${QT_HOST}${QT_PREFIX}qtdeclarative${QT_SUFFIX}"

View File

@ -9,11 +9,11 @@ Other instructions may be found [here](https://wiki.rpcs3.net/index.php?title=Bu
* [CMake 3.14.1+](https://www.cmake.org/download/) (add to PATH) * [CMake 3.14.1+](https://www.cmake.org/download/) (add to PATH)
* [Python 3.3+](https://www.python.org/downloads/) (add to PATH) * [Python 3.3+](https://www.python.org/downloads/) (add to PATH)
* [Qt 5.14.2](https://www.qt.io/download-qt-installer) * [Qt 5.15.2](https://www.qt.io/download-qt-installer)
* [Visual Studio 2019](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community) * [Visual Studio 2019](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community)
* [Vulkan SDK 1.1.126+](https://vulkan.lunarg.com/sdk/home) (See "Install the SDK" [here](https://vulkan.lunarg.com/doc/sdk/latest/windows/getting_started.html)) * [Vulkan SDK 1.1.126+](https://vulkan.lunarg.com/sdk/home) (See "Install the SDK" [here](https://vulkan.lunarg.com/doc/sdk/latest/windows/getting_started.html))
**Either add the** `QTDIR` **environment variable, e.g.** `<QtInstallFolder>\5.14.2\msvc2017_64\` **, or use the [Visual Studio Qt Plugin](https://marketplace.visualstudio.com/items?itemName=TheQtCompany.QtVisualStudioTools2019)** **Either add the** `QTDIR` **environment variable, e.g.** `<QtInstallFolder>\5.15.2\msvc2019_64\` **, or use the [Visual Studio Qt Plugin](https://marketplace.visualstudio.com/items?itemName=TheQtCompany.QtVisualStudioTools2019)**
### Linux ### Linux
@ -21,7 +21,7 @@ These are the essentials tools to build RPCS3 on Linux. Some of them can be inst
* Clang 9+ or GCC 9+ * Clang 9+ or GCC 9+
* [CMake 3.14.1+](https://www.cmake.org/download/) * [CMake 3.14.1+](https://www.cmake.org/download/)
* [Qt 5.14.2](https://www.qt.io/download-qt-installer) * [Qt 5.15.2](https://www.qt.io/download-qt-installer)
* [Vulkan SDK 1.1.126+](https://vulkan.lunarg.com/sdk/home) (See "Install the SDK" [here](https://vulkan.lunarg.com/doc/sdk/latest/linux/getting_started.html)) * [Vulkan SDK 1.1.126+](https://vulkan.lunarg.com/sdk/home) (See "Install the SDK" [here](https://vulkan.lunarg.com/doc/sdk/latest/linux/getting_started.html))
* [SDL2](https://www.libsdl.org/download-2.0.php) (for the FAudio backend) * [SDL2](https://www.libsdl.org/download-2.0.php) (for the FAudio backend)
@ -41,10 +41,10 @@ Ubuntu is usually horrendously out of date, and some packages need to be downloa
Ubuntu usually does not have a new enough Qt package to suit rpcs3's needs. There is a PPA available to work around this. Run the following: Ubuntu usually does not have a new enough Qt package to suit rpcs3's needs. There is a PPA available to work around this. Run the following:
``` ```
. /etc/os-release . /etc/os-release
sudo add-apt-repository ppa:beineri/opt-qt-5.14.2-$UBUNTU_CODENAME sudo add-apt-repository ppa:beineri/opt-qt-5.15.2-$UBUNTU_CODENAME
sudo apt-get update sudo apt-get update
sudo apt-get install qt514-meta-minimal qt514svg sudo apt-get install qt515-meta-minimal qt515svg
. /opt/qt514/bin/qt514-env.sh >/dev/null 2>&1 . /opt/qt515/bin/qt515-env.sh >/dev/null 2>&1
``` ```
##### GCC 9.x installation ##### GCC 9.x installation
@ -103,7 +103,7 @@ git submodule update --init
#### Configuring the Qt plugin (if used) #### Configuring the Qt plugin (if used)
1) Go to the Qt5 menu and edit Qt5 options. 1) Go to the Qt5 menu and edit Qt5 options.
2) Add the path to your Qt installation with compiler e.g. `<QtInstallFolder>\5.14.2\msvc2017_64`. 2) Add the path to your Qt installation with compiler e.g. `<QtInstallFolder>\5.15.2\msvc2019_64`.
3) While selecting the rpcs3qt project, go to Qt5->Project Setting and select the version you added. 3) While selecting the rpcs3qt project, go to Qt5->Project Setting and select the version you added.
#### Building the projects #### Building the projects

View File

@ -33,13 +33,13 @@ jobs:
displayName: ccache displayName: ccache
- bash: | - bash: |
docker pull --quiet rpcs3/rpcs3-travis-xenial:1.6 docker pull --quiet rpcs3/rpcs3-travis-xenial:1.7
docker run \ docker run \
-v $(pwd):/rpcs3 \ -v $(pwd):/rpcs3 \
--env-file .ci/docker.env \ --env-file .ci/docker.env \
-v $CCACHE_DIR:/root/.ccache \ -v $CCACHE_DIR:/root/.ccache \
-v $BUILD_ARTIFACTSTAGINGDIRECTORY:/root/artifacts \ -v $BUILD_ARTIFACTSTAGINGDIRECTORY:/root/artifacts \
rpcs3/rpcs3-travis-xenial:1.6 \ rpcs3/rpcs3-travis-xenial:1.7 \
/rpcs3/.ci/build-linux.sh /rpcs3/.ci/build-linux.sh
displayName: Docker setup and build displayName: Docker setup and build
@ -56,9 +56,11 @@ jobs:
- job: Windows_Build - job: Windows_Build
variables: variables:
COMPILER: msvc COMPILER: msvc
QT_VER: '5.14.2' QT_VER_MAIN: '5'
QT_DATE: '202003291224' QT_VER: '5.15.2'
QTDIR: C:\Qt\$(QT_VER)\msvc2017_64 QT_VER_MSVC: 'msvc2019'
QT_DATE: '202011130602'
QTDIR: C:\Qt\$(QT_VER)\$(QT_VER_MSVC)_64
VULKAN_VER: '1.2.154.1' VULKAN_VER: '1.2.154.1'
VULKAN_SDK_SHA: 'b64471f3a720e649c1fae6535ea83b8c642655ebed1485bfdf15bf4d88f746d9' VULKAN_SDK_SHA: 'b64471f3a720e649c1fae6535ea83b8c642655ebed1485bfdf15bf4d88f746d9'
VULKAN_SDK: C:\VulkanSDK\$(VULKAN_VER) VULKAN_SDK: C:\VulkanSDK\$(VULKAN_VER)

View File

@ -301,7 +301,7 @@ void pad_settings_dialog::InitButtons()
m_padButtons->addButton(ui->b_refresh, button_ids::id_refresh); m_padButtons->addButton(ui->b_refresh, button_ids::id_refresh);
m_padButtons->addButton(ui->b_addProfile, button_ids::id_add_profile); m_padButtons->addButton(ui->b_addProfile, button_ids::id_add_profile);
connect(m_padButtons, static_cast<void(QButtonGroup::*)(int)>(&QButtonGroup::buttonClicked), this, &pad_settings_dialog::OnPadButtonClicked); connect(m_padButtons, &QButtonGroup::idClicked, this, &pad_settings_dialog::OnPadButtonClicked);
connect(&m_timer, &QTimer::timeout, [this]() connect(&m_timer, &QTimer::timeout, [this]()
{ {
@ -1260,7 +1260,7 @@ void pad_settings_dialog::ChangeInputType()
{ {
if (is_ldd_pad) if (is_ldd_pad)
{ {
ui->chooseDevice->addItem(tr("Custom Controller")); ui->chooseDevice->setPlaceholderText(tr("Custom Controller"));
break; break;
} }
[[fallthrough]]; [[fallthrough]];
@ -1277,9 +1277,6 @@ void pad_settings_dialog::ChangeInputType()
// Handle empty device list // Handle empty device list
bool config_enabled = force_enable || (m_handler->m_type != pad_handler::null && ui->chooseDevice->count() > 0); bool config_enabled = force_enable || (m_handler->m_type != pad_handler::null && ui->chooseDevice->count() > 0);
ui->chooseDevice->setEnabled(config_enabled);
ui->chooseClass->setEnabled(config_enabled);
ui->chooseProduct->setEnabled(config_enabled);
if (config_enabled) if (config_enabled)
{ {
@ -1306,7 +1303,7 @@ void pad_settings_dialog::ChangeInputType()
if (profiles.isEmpty()) if (profiles.isEmpty())
{ {
QString def_name = "Default Profile"; const QString def_name = "Default Profile";
if (CreateConfigFile(profile_dir, def_name)) if (CreateConfigFile(profile_dir, def_name))
{ {
ui->chooseProfile->addItem(def_name); ui->chooseProfile->addItem(def_name);
@ -1327,21 +1324,24 @@ void pad_settings_dialog::ChangeInputType()
} }
else else
{ {
ui->chooseProfile->addItem(tr("No Profiles")); ui->chooseProfile->setPlaceholderText(tr("No Profiles"));
if (ui->chooseDevice->count() == 0) if (ui->chooseDevice->count() == 0)
{ {
ui->chooseDevice->addItem(tr("No Device Detected"), -1); ui->chooseDevice->setPlaceholderText(tr("No Device Detected"));
} }
} }
// enable configuration and profile list if possible // Enable configuration and profile list if possible
SwitchButtons(config_enabled && m_handler->m_type == pad_handler::keyboard); SwitchButtons(config_enabled && m_handler->m_type == pad_handler::keyboard);
ui->b_addProfile->setEnabled(config_enabled);
ui->chooseProfile->setEnabled(config_enabled);
ui->buttonBox->button(QDialogButtonBox::RestoreDefaults)->setEnabled(!is_ldd_pad); ui->buttonBox->button(QDialogButtonBox::RestoreDefaults)->setEnabled(!is_ldd_pad);
ui->chooseHandler->setEnabled(!is_ldd_pad); ui->b_addProfile->setEnabled(config_enabled);
ui->chooseProfile->setEnabled(config_enabled && ui->chooseProfile->count() > 0);
ui->chooseDevice->setEnabled(config_enabled && ui->chooseDevice->count() > 0);
ui->chooseClass->setEnabled(config_enabled && ui->chooseClass->count() > 0);
ui->chooseProduct->setEnabled(config_enabled && ui->chooseProduct->count() > 0);
ui->chooseHandler->setEnabled(!is_ldd_pad && ui->chooseHandler->count() > 0);
} }
void pad_settings_dialog::ChangeProfile() void pad_settings_dialog::ChangeProfile()

View File

@ -231,7 +231,7 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> gui_settings, std
else else
{ {
ui->enableTSX->setEnabled(false); ui->enableTSX->setEnabled(false);
ui->enableTSX->addItem(tr("Not supported", "Enable TSX")); ui->enableTSX->setPlaceholderText(tr("Not supported", "Enable TSX"));
SubscribeTooltip(ui->enableTSX, tr("Unfortunately your CPU model does not support this instruction set.", "Enable TSX")); SubscribeTooltip(ui->enableTSX, tr("Unfortunately your CPU model does not support this instruction set.", "Enable TSX"));
m_emu_settings->SetSetting(emu_settings_type::EnableTSX, fmt::format("%s", tsx_usage::disabled)); m_emu_settings->SetSetting(emu_settings_type::EnableTSX, fmt::format("%s", tsx_usage::disabled));
@ -555,14 +555,15 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> gui_settings, std
// Fill combobox with placeholder if no adapters needed // Fill combobox with placeholder if no adapters needed
if (!renderer.has_adapters) if (!renderer.has_adapters)
{ {
ui->graphicsAdapterBox->addItem(tr("Not needed for %1 renderer", "Graphics adapter").arg(text)); ui->graphicsAdapterBox->clear();
ui->graphicsAdapterBox->setPlaceholderText(tr("Not needed for %0 renderer", "Graphics adapter").arg(text));
return; return;
} }
// Fill combobox // Fill combobox
for (const auto& adapter : renderer.adapters) ui->graphicsAdapterBox->clear();
{ ui->graphicsAdapterBox->addItems(renderer.adapters);
ui->graphicsAdapterBox->addItem(adapter);
}
// Reset Adapter to old config // Reset Adapter to old config
int idx = ui->graphicsAdapterBox->findText(renderer.old_adapter); int idx = ui->graphicsAdapterBox->findText(renderer.old_adapter);
if (idx < 0) if (idx < 0)
@ -1057,18 +1058,11 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> gui_settings, std
ui->searchBox->setPlaceholderText(tr("Search libraries", "Library search box")); ui->searchBox->setPlaceholderText(tr("Search libraries", "Library search box"));
auto on_lib_button_clicked = [this](int ind) auto on_lib_button_clicked = [this](int id)
{ {
if (ind != static_cast<int>(lib_loading_type::liblv2only)) const bool enableLibs = id != static_cast<int>(lib_loading_type::liblv2only);
{ ui->searchBox->setEnabled(enableLibs);
ui->searchBox->setEnabled(true); ui->lleList->setEnabled(enableLibs);
ui->lleList->setEnabled(true);
}
else
{
ui->searchBox->setEnabled(false);
ui->lleList->setEnabled(false);
}
}; };
auto on_search_box_text_changed = [this](QString text) auto on_search_box_text_changed = [this](QString text)
@ -1101,7 +1095,7 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> gui_settings, std
}; };
// Events // Events
connect(lib_mode_bg, static_cast<void(QButtonGroup::*)(int)>(&QButtonGroup::buttonClicked), on_lib_button_clicked); connect(lib_mode_bg, &QButtonGroup::idClicked, on_lib_button_clicked);
connect(ui->searchBox, &QLineEdit::textChanged, on_search_box_text_changed); connect(ui->searchBox, &QLineEdit::textChanged, on_search_box_text_changed);
// enable multiselection (there must be a better way) // enable multiselection (there must be a better way)
@ -1798,11 +1792,7 @@ void settings_dialog::SnapSlider(QSlider *slider, int interval)
void settings_dialog::AddGuiConfigs() void settings_dialog::AddGuiConfigs()
{ {
ui->combo_configs->clear(); ui->combo_configs->clear();
ui->combo_configs->addItems(m_gui_settings->GetConfigEntries());
for (const QString& entry : m_gui_settings->GetConfigEntries())
{
ui->combo_configs->addItem(entry);
}
m_current_gui_config = m_gui_settings->GetValue(gui::m_currentConfig).toString(); m_current_gui_config = m_gui_settings->GetValue(gui::m_currentConfig).toString();