Update to use Qt 6
This commit is contained in:
parent
d8654e743a
commit
a1755c8c0a
@ -1,6 +1,6 @@
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
project(lubuntu-installer-prompt VERSION 1.1.2 LANGUAGES CXX)
|
||||
project(lubuntu-installer-prompt VERSION 2.0.0 LANGUAGES CXX)
|
||||
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
@ -12,9 +12,8 @@ set(CMAKE_INSTALL_PREFIX "/")
|
||||
|
||||
find_package(ECM REQUIRED NO_MODULE)
|
||||
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
|
||||
find_package(QT NAMES Qt5 REQUIRED COMPONENTS Core Widgets Network LinguistTools)
|
||||
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Widgets Network LinguistTools)
|
||||
find_package(KF5 REQUIRED COMPONENTS NetworkManagerQt WidgetsAddons)
|
||||
find_package(Qt6 REQUIRED COMPONENTS Core Widgets Network LinguistTools)
|
||||
find_package(KF6 REQUIRED COMPONENTS NetworkManagerQt)
|
||||
|
||||
file(GLOB TS_FILES "src/translations/lubuntu-installer-prompt_*.ts")
|
||||
|
||||
@ -43,8 +42,8 @@ set(PROJECT_SOURCES
|
||||
set(TRANSLATION_RESOURCES "src/translations.qrc")
|
||||
|
||||
configure_file(${TRANSLATION_RESOURCES} translations.qrc COPYONLY)
|
||||
qt5_add_translation(QM_FILES ${TS_FILES})
|
||||
qt5_add_resources(QM_RESOURCES ${CMAKE_CURRENT_BINARY_DIR}/translations.qrc)
|
||||
qt_add_translation(QM_FILES ${TS_FILES})
|
||||
qt_add_resources(QM_RESOURCES ${CMAKE_CURRENT_BINARY_DIR}/translations.qrc)
|
||||
|
||||
add_custom_target(translations ALL DEPENDS ${QM_FILES})
|
||||
|
||||
@ -55,7 +54,7 @@ add_executable(lubuntu-installer-prompt
|
||||
|
||||
add_dependencies(lubuntu-installer-prompt translations)
|
||||
|
||||
target_link_libraries(lubuntu-installer-prompt PRIVATE Qt${QT_VERSION_MAJOR}::Widgets Qt5::Network KF5::NetworkManagerQt KF5::WidgetsAddons)
|
||||
target_link_libraries(lubuntu-installer-prompt PRIVATE Qt6::Widgets Qt6::Network KF6::NetworkManagerQt)
|
||||
|
||||
install(TARGETS lubuntu-installer-prompt
|
||||
BUNDLE DESTINATION .
|
||||
|
9
debian/changelog
vendored
9
debian/changelog
vendored
@ -1,3 +1,12 @@
|
||||
lubuntu-installer-prompt (24.10.1) oracular; urgency=medium
|
||||
|
||||
* Update to use Qt 6.
|
||||
* Fix the weird horizontal line at the bottom of the screen. (LP: #2081229)
|
||||
* Update background image. (LP: #2081230)
|
||||
* Use Kvantum theme by default to match the OS default. (LP: #2081233)
|
||||
|
||||
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Tue, 01 Oct 2024 09:30:57 -0500
|
||||
|
||||
lubuntu-installer-prompt (24.04.6) noble; urgency=medium
|
||||
|
||||
* Launch Calamares in OEM mode when "oem-config/enable=true" is passed as a
|
||||
|
7
debian/control
vendored
7
debian/control
vendored
@ -7,10 +7,9 @@ Priority: optional
|
||||
Build-Depends: cmake,
|
||||
debhelper-compat (= 13),
|
||||
extra-cmake-modules,
|
||||
libkf5networkmanagerqt-dev,
|
||||
libkf5widgetsaddons-dev,
|
||||
qtbase5-dev,
|
||||
qttools5-dev
|
||||
libkf6networkmanagerqt-dev,
|
||||
qt6-base-dev,
|
||||
qt6-tools-dev
|
||||
Standards-Version: 4.6.2
|
||||
Vcs-Browser: https://git.lubuntu.me/Lubuntu/installer-prompt-packaging
|
||||
Vcs-Git: https://git.lubuntu.me/Lubuntu/installer-prompt-packaging.git
|
||||
|
@ -7,7 +7,7 @@ export XDG_DATA_DIRS="/usr/share/Lubuntu:"$XDG_DATA_DIRS
|
||||
export XDG_SESSION_CLASS="user"
|
||||
export XDG_SESSION_DESKTOP="Lubuntu"
|
||||
export DESKTOP_SESSION="Lubuntu"
|
||||
export QT_STYLE_OVERRIDE="Breeze"
|
||||
export QT_STYLE_OVERRIDE="kvantum"
|
||||
export QT_QPA_PLATFORMTHEME="lxqt"
|
||||
|
||||
openbox &
|
||||
|
@ -3,6 +3,7 @@
|
||||
#include <QMessageBox>
|
||||
#include <QGuiApplication>
|
||||
#include <QScreen>
|
||||
#include <QPainter>
|
||||
|
||||
BackgroundScreen::BackgroundScreen(QWidget *parent)
|
||||
: QWidget(parent) {
|
||||
@ -16,25 +17,27 @@ BackgroundScreen::~BackgroundScreen()
|
||||
void BackgroundScreen::activateBackground()
|
||||
{
|
||||
// Set the background image and scale it
|
||||
QImage image(":/background");
|
||||
if (image.isNull()) {
|
||||
QImage rawImage(":/background");
|
||||
if (rawImage.isNull()) {
|
||||
return;
|
||||
}
|
||||
|
||||
qreal imgRatio = static_cast<qreal>(image.width()) / image.height();
|
||||
qreal imgRatio = static_cast<qreal>(rawImage.width()) / rawImage.height();
|
||||
qreal screenRatio = static_cast<qreal>(this->width()) / this->height();
|
||||
QImage scaled;
|
||||
if (imgRatio < screenRatio) {
|
||||
scaled = image.scaledToWidth(this->width(), Qt::SmoothTransformation);
|
||||
scaled = rawImage.scaledToWidth(this->width(), Qt::SmoothTransformation);
|
||||
int yGap = (scaled.height() - this->height()) / 2;
|
||||
scaled = scaled.copy(0, yGap, scaled.width(), this->height());
|
||||
} else {
|
||||
scaled = image.scaledToHeight(this->height(), Qt::SmoothTransformation);
|
||||
scaled = rawImage.scaledToHeight(this->height(), Qt::SmoothTransformation);
|
||||
int xGap = (scaled.width() - this->width()) / 2;
|
||||
scaled = scaled.copy(xGap, 0, this->width(), scaled.height());
|
||||
}
|
||||
QPixmap bg = QPixmap::fromImage(scaled);
|
||||
QPalette palette;
|
||||
palette.setBrush(QPalette::Window, bg);
|
||||
this->setPalette(palette);
|
||||
background = scaled;
|
||||
}
|
||||
|
||||
void BackgroundScreen::paintEvent(QPaintEvent *event) {
|
||||
QPainter painter(this);
|
||||
painter.drawImage(0, 0, background);
|
||||
}
|
||||
|
@ -10,6 +10,10 @@ public:
|
||||
explicit BackgroundScreen(QWidget *parent = nullptr);
|
||||
virtual ~BackgroundScreen();
|
||||
void activateBackground();
|
||||
|
||||
private:
|
||||
void paintEvent(QPaintEvent *event) override;
|
||||
QImage background;
|
||||
};
|
||||
|
||||
#endif // BACKGROUNDSCREEN_H
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include <QTimer>
|
||||
#include <QFile>
|
||||
#include <QUuid>
|
||||
#include <QPainter>
|
||||
#include <QDBusPendingReply>
|
||||
#include "installerprompt.h"
|
||||
#include "wifipassworddialog.h"
|
||||
@ -75,28 +76,25 @@ InstallerPrompt::~InstallerPrompt()
|
||||
void InstallerPrompt::activateBackground()
|
||||
{
|
||||
// Set the background image and scale it
|
||||
QImage image(":/background");
|
||||
if (image.isNull()) {
|
||||
QImage rawImage(":/background");
|
||||
if (rawImage.isNull()) {
|
||||
WarningDialog::showWarning(tr("Background image cannot be loaded."));
|
||||
return;
|
||||
}
|
||||
|
||||
qreal imgRatio = static_cast<qreal>(image.width()) / image.height();
|
||||
qreal imgRatio = static_cast<qreal>(rawImage.width()) / rawImage.height();
|
||||
qreal screenRatio = static_cast<qreal>(this->width()) / this->height();
|
||||
QImage scaled;
|
||||
if (imgRatio < screenRatio) {
|
||||
scaled = image.scaledToWidth(this->width(), Qt::SmoothTransformation);
|
||||
scaled = rawImage.scaledToWidth(this->width(), Qt::SmoothTransformation);
|
||||
int yGap = (scaled.height() - this->height()) / 2;
|
||||
scaled = scaled.copy(0, yGap, scaled.width(), this->height());
|
||||
} else {
|
||||
scaled = image.scaledToHeight(this->height(), Qt::SmoothTransformation);
|
||||
scaled = rawImage.scaledToHeight(this->height(), Qt::SmoothTransformation);
|
||||
int xGap = (scaled.width() - this->width()) / 2;
|
||||
scaled = scaled.copy(xGap, 0, this->width(), scaled.height());
|
||||
}
|
||||
QPixmap bg = QPixmap::fromImage(scaled);
|
||||
QPalette palette;
|
||||
palette.setBrush(QPalette::Window, bg);
|
||||
this->setPalette(palette);
|
||||
background = scaled;
|
||||
}
|
||||
|
||||
void InstallerPrompt::onTryClicked()
|
||||
@ -175,7 +173,7 @@ void InstallerPrompt::onNetworkSelected(int index)
|
||||
QString networkId = ui->networkComboBox->itemData(index).toString();
|
||||
if (!networkId.isNull()) {
|
||||
if (networkId.left(4) == "UNI_") { // this is an Ethernet device
|
||||
QString deviceUni = networkId.right(networkId.count() - 4);
|
||||
QString deviceUni = networkId.right(networkId.length() - 4);
|
||||
NetworkManager::WiredDevice wiredDevice(deviceUni);
|
||||
QDBusPendingReply reply = wiredDevice.disconnectInterface();
|
||||
reply.waitForFinished();
|
||||
@ -430,9 +428,9 @@ QString InstallerPrompt::getDisplayNameForLocale(const QLocale &locale) {
|
||||
|
||||
QLocale currentAppLocale = QLocale::system();
|
||||
QString nativeName = locale.nativeLanguageName();
|
||||
QString nativeCountryName = sanitize(locale.nativeCountryName());
|
||||
QString nativeCountryName = sanitize(locale.nativeTerritoryName());
|
||||
QString englishLanguageName = currentAppLocale.languageToString(locale.language());
|
||||
QString englishCountryName = sanitize(currentAppLocale.countryToString(locale.country()));
|
||||
QString englishCountryName = sanitize(currentAppLocale.territoryToString(locale.territory()));
|
||||
|
||||
if (nativeName.isEmpty() || nativeCountryName.isEmpty()) {
|
||||
return QString();
|
||||
@ -452,3 +450,8 @@ QString InstallerPrompt::getDisplayNameForLocale(const QLocale &locale) {
|
||||
|
||||
return displayName;
|
||||
}
|
||||
|
||||
void InstallerPrompt::paintEvent(QPaintEvent *event) {
|
||||
QPainter painter(this);
|
||||
painter.drawImage(0, 0, background);
|
||||
}
|
||||
|
@ -10,6 +10,7 @@
|
||||
#include <QMutex>
|
||||
#include <QLineEdit>
|
||||
#include <QProcess>
|
||||
#include <QImage>
|
||||
#include <NetworkManagerQt/Device>
|
||||
#include <NetworkManagerQt/WirelessDevice>
|
||||
#include <NetworkManagerQt/WiredDevice>
|
||||
@ -45,10 +46,12 @@ private:
|
||||
bool wifiWrongHandling = false;
|
||||
QMap<QString, QString> languageLocaleMap;
|
||||
bool firstUpdateConnectionInfoCall = true;
|
||||
void paintEvent(QPaintEvent *event) override;
|
||||
|
||||
void initLanguageComboBox();
|
||||
QStringList getAvailableLanguages();
|
||||
QString getDisplayNameForLocale(const QLocale &locale);
|
||||
QImage background;
|
||||
};
|
||||
|
||||
#endif // INSTALLERPROMPT_H
|
||||
|
@ -7,7 +7,7 @@
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1450</width>
|
||||
<height>710</height>
|
||||
<height>604</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
@ -19,6 +19,9 @@
|
||||
<property name="windowTitle">
|
||||
<string>Try or Install Lubuntu</string>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">QWidget {
|
||||
color: #000000;
|
||||
@ -515,7 +518,6 @@ QToolTip {
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QStatusBar" name="statusbar"/>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="resource.qrc"/>
|
||||
|
@ -43,12 +43,14 @@ int main(int argc, char *argv[])
|
||||
w->setGeometry(screen->geometry());
|
||||
w->activateBackground();
|
||||
w->showFullScreen();
|
||||
w->repaint();
|
||||
continue;
|
||||
}
|
||||
BackgroundScreen *backscreen = new BackgroundScreen();
|
||||
backscreen->setGeometry(screen->geometry());
|
||||
backscreen->activateBackground();
|
||||
backscreen->showFullScreen();
|
||||
backscreen->repaint();
|
||||
bss.append(backscreen);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user