You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
installer-prompt/src/installerprompt.cpp

58 lines
1.8 KiB

#include <QProcess>
#include <QScreen>
#include "installerprompt.h"
#include "./ui_installerprompt.h"
2 years ago
InstallerPrompt::InstallerPrompt(QWidget *parent)
2 years ago
: QMainWindow(parent)
, ui(new Ui::InstallerPrompt)
2 years ago
{
ui->setupUi(this);
// Set the background image and scale it
QPixmap bg("/usr/share/lubuntu/installer-prompt/background.png");
QScreen *screen = QGuiApplication::primaryScreen();
QRect screenGeometry = screen->geometry();
int height = screenGeometry.height();
int width = screenGeometry.width();
bg = bg.scaled(width, height, Qt::IgnoreAspectRatio);
QPalette palette;
palette.setBrush(QPalette::Window, bg);
this->setPalette(palette);
// Resize the layout widget to the screen size.
ui->gridLayoutWidget->resize(width, height);
// Set the button colors
QString css = "background-color: rgba(0, 104, 200, 100); color: white; border-radius: 15px;";
ui->tryLubuntu->setAttribute(Qt::WA_TranslucentBackground);
ui->tryLubuntu->setStyleSheet(css);
ui->installLubuntu->setAttribute(Qt::WA_TranslucentBackground);
ui->installLubuntu->setStyleSheet(css);
// Slots and signals
connect(ui->tryLubuntu, &QAbstractButton::clicked, this, &InstallerPrompt::tryLubuntu);
connect(ui->installLubuntu, &QAbstractButton::clicked, this, &InstallerPrompt::installLubuntu);
}
void InstallerPrompt::tryLubuntu()
{
QApplication::quit();
2 years ago
}
void InstallerPrompt::installLubuntu()
{
QProcess *calamares = new QProcess(this);
calamares->start("/usr/libexec/lubuntu-installer");
// If Calamares exits, it either crashed or the user cancelled the installation. Exit the installer prompt (and start LXQt).
connect(calamares, &QProcess::finished, this, &InstallerPrompt::tryLubuntu);
}
InstallerPrompt::~InstallerPrompt()
2 years ago
{
delete ui;
}