mirror of
https://github.com/Snigdha-OS/snigdhaos-blackbox.git
synced 2025-09-22 20:45:03 +02:00
🧹 chore(redir): application && re-organize files
This commit is contained in:
12
qt/main.cpp
Normal file
12
qt/main.cpp
Normal file
@@ -0,0 +1,12 @@
|
||||
#include "snigdhaosblackbox.h"
|
||||
|
||||
#include <QApplication>
|
||||
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QApplication a(argc, argv);
|
||||
SnigdhaOSBlackBox w(nullptr, a.arguments().length() > 1 ? a.arguments()[1] : "");
|
||||
w.show();
|
||||
return a.exec();
|
||||
}
|
192
qt/snigdhaosblackbox.cpp
Normal file
192
qt/snigdhaosblackbox.cpp
Normal file
@@ -0,0 +1,192 @@
|
||||
#include "snigdhaosblackbox.h"
|
||||
#include "./ui_snigdhaosblackbox.h"
|
||||
|
||||
const char* INTERNET_CHECK_URL = "https://snigdha-os.github.io/"
|
||||
|
||||
SnigdhaOSBlackBox::SnigdhaOSBlackBox(QWidget *parent, Qstring state)
|
||||
: QMainWindow(parent)
|
||||
, ui(new Ui::SnigdhaOSBlackBox)
|
||||
{
|
||||
this->setWindowIcon(QIcon("/usr/share/pixmaps/snigdhaos-blackbox.svg"));
|
||||
ui->setupUi(this);
|
||||
this->setWindowFlags(this->WindowFlags() & -Qt::WindowCloseButtonHint);
|
||||
executable_modify_date = QFileInfo(QCoreApplication::applicationFilePath()).lastModified();
|
||||
updateState(state);
|
||||
}
|
||||
//destructor for Snigdha OS Blackbox class
|
||||
|
||||
SnigdhaOSBlackBox::~SnigdhaOSBlackBox()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void SnigdhaOSBlackBox::doInternetUpRequest(){
|
||||
QNetworkAccessManager* = network_manager = new QNetworkAccessManager();
|
||||
auto network_reply = network_manager->head(QNetworkRequest(QString(INTERNET_CHECK_URL)));
|
||||
|
||||
QTimer* timer = new QTimer(this);
|
||||
timer->setSingleShot(true);
|
||||
timer->start(5000); //5 sec
|
||||
|
||||
// if the time is out we will try again
|
||||
connect(timer, QTimer::timeout, this, [this, timer, network_reply, network_manager](){
|
||||
timer->stop();
|
||||
timer->deleteLayer();
|
||||
network_reply->deleteLater();
|
||||
network_manager->deleteLater();
|
||||
|
||||
if (network_reply->error() == network_reply->NoError){
|
||||
updateState(state::UPDATE);
|
||||
}
|
||||
else{
|
||||
doInternetUpRequest();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void SnigdhaOSBlackBox::doUpdate(){
|
||||
if (qEnvironmentVaribaleSet("SNIGDHAOS_BLACKBOX_SELFUPDATE")) {
|
||||
updateState(State::SELECT);
|
||||
return;
|
||||
}
|
||||
auto process = new QProcess(this);
|
||||
QTemporaryFile* file = new QTemporaryFile(this);
|
||||
file->open();
|
||||
file->setAutoRemove(true);
|
||||
process->start("/usr/lib/snigdhaos/launch-terminal", QStringList() << QString("sudo pacman -Syyu 2>&1 && rm \"" + file->fileName() + "\"; read -p 'Press Ebter to Exit'"));
|
||||
connect(process,QOverload<int, QProcess::ExitStatus>::of(&QProcess::finished), this, [this, process, file](int exitcode, QProcess::ExitStatus status){
|
||||
process->deleteLater();
|
||||
file->deleteLater();
|
||||
|
||||
if (exitcode == 0 && !file->exists()){
|
||||
relaunchSelf("POST_UPDATE");
|
||||
}
|
||||
else{
|
||||
relaunchSelf("UPDATE_RETRY");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void SnigdhaOSBlackBox::doApply(){
|
||||
QStringList packages;
|
||||
QStringList setup_commands;
|
||||
QStringList prepare_commands;
|
||||
|
||||
auto checkboxList = ui->selectWidget_tabs->findChildren<QcheckBox*>();
|
||||
|
||||
for (auto checkbox : checkboxList){
|
||||
if (checkbox->isChecked()){
|
||||
packages += checkbox->property("packages").toStringList();
|
||||
setup_commands += checkbox->property("setup_commands").toStringList();
|
||||
prepare_commands += checkbox->property("prepare_commands").toStringList();
|
||||
}
|
||||
}
|
||||
|
||||
if (packages.empty()){
|
||||
updateState(State::SUCCESS);
|
||||
return;
|
||||
}
|
||||
|
||||
if (packages.contains("docker")){
|
||||
setup_commands += "systemctl enable --now docker.socket";
|
||||
}
|
||||
if (packages.contains("virt-manager-meta") && packages.contains("gnome-boxes")){
|
||||
setup_commands += "systemctl enable --now libvirtd";
|
||||
}
|
||||
|
||||
packages.removeDuplicates();
|
||||
|
||||
QTemporaryFile* prepareFile = new QTemporaryFile(this);
|
||||
prepareFile->setAutoRemove(true);
|
||||
prepareFile->open();
|
||||
QTextStream prepareStream(prepareFile);
|
||||
prepareStream << prepare_commands.join('\n');
|
||||
prepareFile->close();
|
||||
QTemporaryFile* packagesFiles = new QTemporaryFile(this);
|
||||
packagesFiles->setAutoRemove(true);
|
||||
packagesFiles->open();
|
||||
QTextStream packagesStream(packagesFiles);
|
||||
packagesSteam << packages.join(' ');
|
||||
packagesFiles->close();
|
||||
QTemporaryFile* setupFile = new QTemporaryFile(this);
|
||||
setupFile->autoRemove(true);
|
||||
setupFile->open();
|
||||
QTextStream setupStream(setupFile);
|
||||
setupStream <<setup_commands.join('\n');
|
||||
setupFile->close();
|
||||
|
||||
auto process = new QProcess(this);
|
||||
process->start("/usr/lib/snigdhaos/launch-terminal", QStringList() << QString("/usr/lib/snigdhaos/-blackbox/apply.sh \"") + prepareFile->fileName() + "\" \"" + packagesFiles->fileName() + "\" \"" + setupFile->fileName() + "\"");
|
||||
connect(process,QOverload<int,QProcess::ExitStatus>::of(&QProcess::finished), this, [this, process, prepareFile, packagesFiles, setupFile](int exitcode, QProcess::ExitStatus status) {
|
||||
process->deleteLater();
|
||||
prepareFile->deleteLater();
|
||||
packagesFiles->deleteLater();
|
||||
setupFile->deleteLater();
|
||||
|
||||
if (exitcode == 0 && !packagesFiles->exists()){
|
||||
updateState(State::SELECT);
|
||||
}
|
||||
else{
|
||||
updateState(State::APPLY_RETRY);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void SnigdhaOSBlackBox::populateSelectWidget() {
|
||||
if (ui->selectWidget_tabs->count() > 1){
|
||||
return;
|
||||
}
|
||||
|
||||
auto desktop = qEnvironmentVariable("XDG_SESSION_DESKTOP");
|
||||
// I will go for gnome only!
|
||||
ui->checkBox_GNOME->setVisible(desktop == "gnome");
|
||||
|
||||
bool isDesktop = false;
|
||||
auto chassis = QFile("/sys/class/dmi/id/chassis_type");
|
||||
if (chassis.open(QFile::ReadOnly)) {
|
||||
QStringList list = {"3", "4", "6", "7", "23", "24"};
|
||||
QTextStream in(&chassis);
|
||||
isDesktop = list.contains(in.readLine());
|
||||
}
|
||||
ui->checkBox_Performance->setVisible(isDesktop);
|
||||
|
||||
populateSelectWidget("/usr/lib/snigdhaos-blackbox/eshan.txt", "Eshan");
|
||||
}
|
||||
|
||||
void SnigdhaOSBlackBox::populateSelectWidget(QString filename, QString label){
|
||||
QFile file(filename);
|
||||
if (file.open(QIODevice::ReadOnly)){
|
||||
QScrollArea* scroll = new QScrollArea(ui->selectWidget_tabs);
|
||||
QWidget* tab = new QWidget(scroll);
|
||||
QVBoxLayout* layout = new QVBoxLayout(tab);
|
||||
QTextStream in(&file);
|
||||
while(!in.atEnd()) {
|
||||
QString def = in.readLine();
|
||||
QString packages = in.readLine();
|
||||
QString display = in.readLine();
|
||||
auto checkbox = new QCheckBox(tab);
|
||||
checkbox->setChecked(def == "true");
|
||||
checkbox->setText(display);
|
||||
checkbox->setProperty("packages", packages.split(" "));
|
||||
layout->addWidget(checkbox);
|
||||
}
|
||||
|
||||
scroll->setWidget(tab);
|
||||
ui->selectWidget_tabs->addTab(scroll, label);
|
||||
file.close();
|
||||
}
|
||||
}
|
||||
|
||||
void SnigdhaOSBlackBox::updateState(State state){
|
||||
if (currentState != state){
|
||||
currentState = state;
|
||||
this->show();
|
||||
this->activateWindow();
|
||||
this->raise();
|
||||
|
||||
switch(state){
|
||||
case State::WELCOME:
|
||||
ui->mainStackedWidget->setCurrentWidget(ui->textWidget);
|
||||
}
|
||||
}
|
||||
}
|
41
qt/snigdhaosblackbox.h
Normal file
41
qt/snigdhaosblackbox.h
Normal file
@@ -0,0 +1,41 @@
|
||||
#ifndef SNIGDHAOSBLACKBOX_H
|
||||
#define SNIGDHAOSBLACKBOX_H
|
||||
|
||||
#include <QMainWindow>
|
||||
#include <QAbstractButton>
|
||||
#include <QNetwork/QNetworkAccessManager>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
namespace Ui {
|
||||
class SnigdhaOSBlackBox;
|
||||
}
|
||||
QT_END_NAMESPACE
|
||||
|
||||
class SnigdhaOSBlackBox : public QMainWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
enum class State {
|
||||
QUIT,
|
||||
WELCOME,
|
||||
INTERNET,
|
||||
UPDATE,
|
||||
UPDATE_RETRY,
|
||||
SELECT,
|
||||
APPLY,
|
||||
APPLY_RETRY,
|
||||
SUCCESS
|
||||
};
|
||||
|
||||
SnigdhaOSBlackBox(QWidget *parent = nullptr, QString state = "WELCOME");
|
||||
~SnigdhaOSBlackBox();
|
||||
|
||||
private:
|
||||
Ui::SnigdhaOSBlackBox *ui;
|
||||
QDateTime executable_modify_date;
|
||||
State currentState;
|
||||
|
||||
void doInternetUpRequest();
|
||||
};
|
||||
#endif // SNIGDHAOSBLACKBOX_H
|
528
qt/snigdhaosblackbox.ui
Normal file
528
qt/snigdhaosblackbox.ui
Normal file
@@ -0,0 +1,528 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>SnigdhaOSBlackBox</class>
|
||||
<widget class="QMainWindow" name="SnigdhaOSBlackBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>800</width>
|
||||
<height>600</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Snigdha OS BlackBox</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="centralwidget">
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QStackedWidget" name="mainStackedWidget">
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="textWidget">
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="3" column="0">
|
||||
<widget class="QDialogButtonBox" name="textWidget_buttonBox">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok</set>
|
||||
</property>
|
||||
<property name="centerButtons">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QStackedWidget" name="textStackedWidget">
|
||||
<property name="currentIndex">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="textWidget_welcome">
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p><span style=" font-size:24pt;">Welcome to </span><span style=" font-size:24pt; font-weight:700;">Snigdha OS!</span><span style=" font-size:24pt;">😊</span><br/><span style=" font-weight:700;">Snigdha OS BlackBox</span> will help you set up tools on your system to your necessaries.</p><p>Before the Snigdha OS Black Box can continue, initial system updates have to be applied and the Snigdha OS Assistant is updated.<br/>Make sure you have a working internet connection before you continue.</p><p>This application is inspired from <span style=" font-weight:700;">Garuda Linux</span></p></body></html></string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::TextFormat::RichText</enum>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignCenter</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="textWidget_updateRetry">
|
||||
<layout class="QGridLayout" name="gridLayout_5">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p><span style=" font-size:20pt;">Update failed!😒</span><br/>System update failed. Try again?😬</p><p><a href="https://forum.snigdhaos.org"><span style=" text-decoration: underline; color:#754ffe;">Visit the Snigdha OS Forum</span></a> if further issues occour.<br/>Finishing this update via the Snigdha OS Blackbox is highly recommended in order to apply release-specific fixes.</p></body></html></string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::TextFormat::RichText</enum>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignCenter</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="openExternalLinks">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="textWidget_nvidia">
|
||||
<layout class="QGridLayout" name="gridLayout_11">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p><span style=" font-size:20pt;">NVIDIA drivers</span></p><p>Additional nonfree NVIDIA graphics drivers are available. Do you want to install them?</p></body></html></string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::TextFormat::RichText</enum>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignCenter</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="openExternalLinks">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="textWidget_applyRetry">
|
||||
<layout class="QGridLayout" name="gridLayout_8">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p><span style=" font-size:20pt;">Failed to Apply😒!</span><br/>Applying system changes failed. Try again😄?</p><p><a href="https://forum.snigdhaos.org"><span style=" text-decoration: underline; color:#754ffe;">Visit the Snigdha OS Forum</span></a> if further issues occour.</p></body></html></string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::TextFormat::RichText</enum>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignCenter</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="openExternalLinks">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="textWidget_success">
|
||||
<layout class="QGridLayout" name="gridLayout_9">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p><span style=" font-size:20pt;">Success!😎</span><br/>Your system is set up and ready to go!</p><p><a href="https://forum.snigdhais.org"><span style=" text-decoration: underline; color:#754ffe;">Visit the Snigdha OS Forum</span></a> if issues occour.<br/><a href="https://snigdhaos.org/"><span style=" text-decoration: underline; color:#754ffe;">Snigdha OS Documentation<br/></span></a><a href="https://wiki.archlinux.org/"><span style=" text-decoration: underline; color:#754ffe;">Arch Linux Wiki</span></a></p></body></html></string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::TextFormat::RichText</enum>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignCenter</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="openExternalLinks">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="textWidget_quit">
|
||||
<layout class="QGridLayout" name="gridLayout_6">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p><span style=" font-size:20pt;">Before you go🧸</span></p><p>You can restart the Snigdha OS Assistant at any time.<br/>Finishing the Snigdha OS Assistant is recommended in order to apply release-specific fixes.</p><p><a href="https://forum.snigdhaos.org"><span style=" text-decoration: underline; color:#754ffe;">Visit the Snigdha OS Forum</span></a> if issues occour.<br/><a href="https://snigdhaos.org/documentation/"><span style=" text-decoration: underline; color:#754ffe;">Snigdha OS Documentation<br/></span></a><a href="https://wiki.archlinux.org/"><span style=" text-decoration: underline; color:#754ffe;">Arch Linux Wiki</span></a></p></body></html></string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::TextFormat::RichText</enum>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignCenter</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="openExternalLinks">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="waitingWidget">
|
||||
<layout class="QGridLayout" name="gridLayout_4">
|
||||
<item row="3" column="0">
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QProgressBar" name="progressBar">
|
||||
<property name="maximum">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>0</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="waitingWidget_text">
|
||||
<property name="text">
|
||||
<string>TextLabel</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="selectWidget">
|
||||
<layout class="QGridLayout" name="gridLayout_7">
|
||||
<item row="0" column="0">
|
||||
<widget class="QTabWidget" name="selectWidget_tabs">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Ignored">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="elideMode">
|
||||
<enum>Qt::TextElideMode::ElideNone</enum>
|
||||
</property>
|
||||
<widget class="QWidget" name="tab">
|
||||
<attribute name="title">
|
||||
<string>OS preferences</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_10">
|
||||
<item row="15" column="0">
|
||||
<spacer name="verticalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>344</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="14" column="0">
|
||||
<widget class="QCheckBox" name="checkBox_Blackarch">
|
||||
<property name="text">
|
||||
<string>Do you need Pentesting software? (installs BlackArch repo + settings)</string>
|
||||
</property>
|
||||
<property name="packages" stdset="0">
|
||||
<stringlist notr="true">
|
||||
<string>blackarch-keyring</string>
|
||||
<string>blackarch-menus</string>
|
||||
<string>blackarch-mirrorlist</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="prepare_commands" stdset="0">
|
||||
<stringlist notr="true">
|
||||
<string>sh <(wget -qO- https://blackarch.org/strap.sh)</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="setup_commands" stdset="0">
|
||||
<stringlist notr="true">
|
||||
<string>sed -i 's/#server/server/g' /etc/pacman.d/blackarch-mirrorlist</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<widget class="QCheckBox" name="checkBox_Wallpaper">
|
||||
<property name="text">
|
||||
<string>Do you want to install additional Snigdha OS wallpapers?</string>
|
||||
</property>
|
||||
<property name="packages" stdset="0">
|
||||
<stringlist notr="true">
|
||||
<string>snigdhaos-additional-wallpapers</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QCheckBox" name="checkBox_GNOME">
|
||||
<property name="text">
|
||||
<string>Do you want to install additional GNOME applications?</string>
|
||||
</property>
|
||||
<property name="packages" stdset="0">
|
||||
<stringlist notr="true">
|
||||
<string>nautilus-image-converter</string>
|
||||
<string>nautilus-share</string>
|
||||
<string>nautilus-sendto</string>
|
||||
<string>eog-plugins</string>
|
||||
<string>grilo-plugins</string>
|
||||
<string>gnome-logs</string>
|
||||
<string>gnome-sound-recorder</string>
|
||||
<string>gnome-user-share</string>
|
||||
<string>lollypop</string>
|
||||
<string>celluloid</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QCheckBox" name="checkBox_KDE">
|
||||
<property name="text">
|
||||
<string>Do you want to install additional KDE components and applications?</string>
|
||||
</property>
|
||||
<property name="packages" stdset="0">
|
||||
<stringlist notr="true">
|
||||
<string>appmenu-gtk-module</string>
|
||||
<string>ark</string>
|
||||
<string>bluedevil</string>
|
||||
<string>breeze</string>
|
||||
<string>breeze-gtk</string>
|
||||
<string>colord-kde</string>
|
||||
<string>dolphin-plugins</string>
|
||||
<string>drkonqi</string>
|
||||
<string>filelight</string>
|
||||
<string>ffmpegthumbs</string>
|
||||
<string>gwenview</string>
|
||||
<string>icoutils</string>
|
||||
<string>kaccounts-providers</string>
|
||||
<string>kactivitymanagerd</string>
|
||||
<string>kamera</string>
|
||||
<string>kamoso</string>
|
||||
<string>kate</string>
|
||||
<string>kcalc</string>
|
||||
<string>kcron</string>
|
||||
<string>kde-cli-tools</string>
|
||||
<string>kde-gtk-config</string>
|
||||
<string>kde-service-menu-reimage</string>
|
||||
<string>kde-servicemenus-encfs</string>
|
||||
<string>kde-servicemenus-komparemenu</string>
|
||||
<string>kde-servicemenus-pdf</string>
|
||||
<string>kde-servicemenus-pdf-encrypt-decrypt</string>
|
||||
<string>kde-servicemenus-officeconverter</string>
|
||||
<string>kde-servicemenus-sendtodesktop</string>
|
||||
<string>kde-servicemenus-setaswallpaper</string>
|
||||
<string>kdeconnect</string>
|
||||
<string>kdecoration</string>
|
||||
<string>kdegraphics-thumbnailers</string>
|
||||
<string>kdeplasma-addons</string>
|
||||
<string>kdf</string>
|
||||
<string>kdialog</string>
|
||||
<string>keditbookmarks</string>
|
||||
<string>kfind</string>
|
||||
<string>kgamma5</string>
|
||||
<string>khelpcenter</string>
|
||||
<string>khotkeys</string>
|
||||
<string>kimageformats</string>
|
||||
<string>kinfocenter</string>
|
||||
<string>kio-extras</string>
|
||||
<string>kio-fuse</string>
|
||||
<string>kio-gdrive</string>
|
||||
<string>kleopatra</string>
|
||||
<string>kmenuedit</string>
|
||||
<string>kompare</string>
|
||||
<string>konsole</string>
|
||||
<string>krdc</string>
|
||||
<string>krename</string>
|
||||
<string>krfb</string>
|
||||
<string>kscreen</string>
|
||||
<string>ksshaskpass</string>
|
||||
<string>ksystemlog</string>
|
||||
<string>kwalletmanager</string>
|
||||
<string>kwrited</string>
|
||||
<string>milou</string>
|
||||
<string>okular</string>
|
||||
<string>partitionmanager</string>
|
||||
<string>plasma-browser-integration</string>
|
||||
<string>plasma-desktop</string>
|
||||
<string>plasma-disks</string>
|
||||
<string>plasma-firewall</string>
|
||||
<string>plasma-integration</string>
|
||||
<string>plasma-nm</string>
|
||||
<string>plasma-pa</string>
|
||||
<string>plasma-systemmonitor</string>
|
||||
<string>plasma-thunderbolt</string>
|
||||
<string>plasma-vault</string>
|
||||
<string>plasma-workspace</string>
|
||||
<string>plasma-workspace-wallpapers</string>
|
||||
<string>polkit-kde-agent</string>
|
||||
<string>powerdevil</string>
|
||||
<string>qt5-imageformats</string>
|
||||
<string>quota-tools</string>
|
||||
<string>resvg</string>
|
||||
<string>rootactions-servicemenu</string>
|
||||
<string>ruby</string>
|
||||
<string>spectacle</string>
|
||||
<string>systemsettings</string>
|
||||
<string>yakuake</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QCheckBox" name="checkBox_Performance">
|
||||
<property name="text">
|
||||
<string>Do you want to apply additional performance tweaks? (at the cost of power usage/heat)</string>
|
||||
</property>
|
||||
<property name="packages" stdset="0">
|
||||
<stringlist notr="true">
|
||||
<string>performance-tweaks</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="16" column="0">
|
||||
<spacer name="verticalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>344</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QCheckBox" name="checkBox_Samba">
|
||||
<property name="text">
|
||||
<string>Do you need Printer, Scanner and Samba Support?</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QDialogButtonBox" name="selectWidget_buttonBox">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok</set>
|
||||
</property>
|
||||
<property name="centerButtons">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
Reference in New Issue
Block a user