1
0
mirror of https://github.com/RPCS3/rpcs3.git synced 2024-11-21 18:22:33 +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://qt.mirror.constant.com/"
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_SUFFIX="-Windows-Windows_10-MSVC2017-Windows-Windows_10-X86_64.7z"
QT_VER_MSVC_UP=$(echo ${QT_VER_MSVC} | tr '[:lower:]' '[:upper:]')
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_WINE_URL="${QT_HOST}${QT_PREFIX}qtwinextras${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)
* [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)
* [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
@ -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+
* [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))
* [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:
```
. /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 install qt514-meta-minimal qt514svg
. /opt/qt514/bin/qt514-env.sh >/dev/null 2>&1
sudo apt-get install qt515-meta-minimal qt515svg
. /opt/qt515/bin/qt515-env.sh >/dev/null 2>&1
```
##### GCC 9.x installation
@ -103,7 +103,7 @@ git submodule update --init
#### Configuring the Qt plugin (if used)
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.
#### Building the projects

View File

@ -33,13 +33,13 @@ jobs:
displayName: ccache
- bash: |
docker pull --quiet rpcs3/rpcs3-travis-xenial:1.6
docker pull --quiet rpcs3/rpcs3-travis-xenial:1.7
docker run \
-v $(pwd):/rpcs3 \
--env-file .ci/docker.env \
-v $CCACHE_DIR:/root/.ccache \
-v $BUILD_ARTIFACTSTAGINGDIRECTORY:/root/artifacts \
rpcs3/rpcs3-travis-xenial:1.6 \
rpcs3/rpcs3-travis-xenial:1.7 \
/rpcs3/.ci/build-linux.sh
displayName: Docker setup and build
@ -56,9 +56,11 @@ jobs:
- job: Windows_Build
variables:
COMPILER: msvc
QT_VER: '5.14.2'
QT_DATE: '202003291224'
QTDIR: C:\Qt\$(QT_VER)\msvc2017_64
QT_VER_MAIN: '5'
QT_VER: '5.15.2'
QT_VER_MSVC: 'msvc2019'
QT_DATE: '202011130602'
QTDIR: C:\Qt\$(QT_VER)\$(QT_VER_MSVC)_64
VULKAN_VER: '1.2.154.1'
VULKAN_SDK_SHA: 'b64471f3a720e649c1fae6535ea83b8c642655ebed1485bfdf15bf4d88f746d9'
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_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]()
{
@ -1260,7 +1260,7 @@ void pad_settings_dialog::ChangeInputType()
{
if (is_ldd_pad)
{
ui->chooseDevice->addItem(tr("Custom Controller"));
ui->chooseDevice->setPlaceholderText(tr("Custom Controller"));
break;
}
[[fallthrough]];
@ -1277,9 +1277,6 @@ void pad_settings_dialog::ChangeInputType()
// Handle empty device list
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)
{
@ -1306,7 +1303,7 @@ void pad_settings_dialog::ChangeInputType()
if (profiles.isEmpty())
{
QString def_name = "Default Profile";
const QString def_name = "Default Profile";
if (CreateConfigFile(profile_dir, def_name))
{
ui->chooseProfile->addItem(def_name);
@ -1327,21 +1324,24 @@ void pad_settings_dialog::ChangeInputType()
}
else
{
ui->chooseProfile->addItem(tr("No Profiles"));
ui->chooseProfile->setPlaceholderText(tr("No Profiles"));
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);
ui->b_addProfile->setEnabled(config_enabled);
ui->chooseProfile->setEnabled(config_enabled);
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()

View File

@ -231,7 +231,7 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> gui_settings, std
else
{
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"));
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
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;
}
// Fill combobox
for (const auto& adapter : renderer.adapters)
{
ui->graphicsAdapterBox->addItem(adapter);
}
ui->graphicsAdapterBox->clear();
ui->graphicsAdapterBox->addItems(renderer.adapters);
// Reset Adapter to old config
int idx = ui->graphicsAdapterBox->findText(renderer.old_adapter);
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"));
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))
{
ui->searchBox->setEnabled(true);
ui->lleList->setEnabled(true);
}
else
{
ui->searchBox->setEnabled(false);
ui->lleList->setEnabled(false);
}
const bool enableLibs = id != static_cast<int>(lib_loading_type::liblv2only);
ui->searchBox->setEnabled(enableLibs);
ui->lleList->setEnabled(enableLibs);
};
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
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);
// enable multiselection (there must be a better way)
@ -1798,11 +1792,7 @@ void settings_dialog::SnapSlider(QSlider *slider, int interval)
void settings_dialog::AddGuiConfigs()
{
ui->combo_configs->clear();
for (const QString& entry : m_gui_settings->GetConfigEntries())
{
ui->combo_configs->addItem(entry);
}
ui->combo_configs->addItems(m_gui_settings->GetConfigEntries());
m_current_gui_config = m_gui_settings->GetValue(gui::m_currentConfig).toString();