Add preliminary code for a WiFi dropdown, and a language selector dropdown.
This commit is contained in:
parent
215ba27500
commit
2c5bda9356
@ -2,30 +2,32 @@ cmake_minimum_required(VERSION 3.22)
|
||||
|
||||
project(lubuntu-installer-prompt VERSION 1.0.0 LANGUAGES CXX)
|
||||
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 23)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
# Find the required Qt and KDE packages
|
||||
find_package(ECM REQUIRED NO_MODULE)
|
||||
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
|
||||
find_package(Qt5 REQUIRED COMPONENTS Core Widgets Network)
|
||||
find_package(KF5 REQUIRED COMPONENTS NetworkManagerQt Notifications)
|
||||
|
||||
include_directories(${PROJECT_SOURCE_DIR}/src)
|
||||
# Set the CMAKE variables for automatic code generation with Qt
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
set(CMAKE_CXX_STANDARD 23)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
# Specify project source files
|
||||
include_directories(${PROJECT_SOURCE_DIR}/src)
|
||||
file(GLOB PROJECT_SOURCES
|
||||
"${PROJECT_SOURCE_DIR}/src/*.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/*.h"
|
||||
"${PROJECT_SOURCE_DIR}/src/*.ui"
|
||||
)
|
||||
|
||||
add_executable(lubuntu-installer-prompt ${PROJECT_SOURCES})
|
||||
# Add executable target with project source files
|
||||
add_executable(lubuntu-installer-prompt ${PROJECT_SOURCES} src/resource.qrc)
|
||||
|
||||
# Link libraries with the executable target
|
||||
target_link_libraries(lubuntu-installer-prompt Qt5::Widgets Qt5::Network KF5::NetworkManagerQt KF5::Notifications)
|
||||
target_link_libraries(lubuntu-installer-prompt Qt5::Widgets KF5::NetworkManagerQt KF5::Notifications)
|
||||
|
||||
install(TARGETS lubuntu-installer-prompt DESTINATION bin)
|
||||
|
BIN
img/installer.png
Normal file
BIN
img/installer.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 65 KiB |
BIN
img/lubuntu-logo.png
Normal file
BIN
img/lubuntu-logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 38 KiB |
BIN
img/symbol.png
Normal file
BIN
img/symbol.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 65 KiB |
@ -6,6 +6,7 @@
|
||||
#include <QScreen>
|
||||
#include <QMessageBox>
|
||||
#include <QLineEdit>
|
||||
#include <QGraphicsDropShadowEffect>
|
||||
#include "installerprompt.h"
|
||||
#include "./ui_installerprompt.h"
|
||||
|
||||
@ -15,7 +16,7 @@ InstallerPrompt::InstallerPrompt(QWidget *parent)
|
||||
ui->setupUi(this);
|
||||
|
||||
// Set the background image and scale it
|
||||
QPixmap bg("/usr/share/lubuntu/installer-prompt/background.png");
|
||||
QPixmap bg(":/background");
|
||||
if (bg.isNull()) {
|
||||
QMessageBox::warning(this, tr("Error"), tr("Background image cannot be loaded."));
|
||||
return;
|
||||
|
@ -21,13 +21,12 @@
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">QWidget {
|
||||
color: #000000; /* Set text color to black */
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
QPushButton {
|
||||
background-color: rgba(30, 144, 255, 0.8);
|
||||
color: #ffffff;
|
||||
border: 2px solid #ffffff;
|
||||
border-radius: 15px;
|
||||
padding: 10px 20px;
|
||||
margin: 10px;
|
||||
@ -53,7 +52,14 @@ QComboBox, QLineEdit {
|
||||
|
||||
QLabel {
|
||||
qproperty-alignment: 'AlignCenter';
|
||||
}</string>
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
QLabel#logoLabel {
|
||||
image: url(:/logo);
|
||||
background-color: transparent;
|
||||
}
|
||||
</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="centralwidget">
|
||||
<property name="sizePolicy">
|
||||
@ -107,7 +113,7 @@ QLabel {
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="title">
|
||||
<widget class="QLabel" name="logoLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
@ -117,7 +123,7 @@ QLabel {
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>750</width>
|
||||
<height>64</height>
|
||||
<height>100</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="baseSize">
|
||||
@ -129,7 +135,6 @@ QLabel {
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Ubuntu</family>
|
||||
<pointsize>25</pointsize>
|
||||
<weight>50</weight>
|
||||
<italic>false</italic>
|
||||
<bold>false</bold>
|
||||
@ -139,15 +144,10 @@ QLabel {
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">QLabel {
|
||||
color : white;
|
||||
font: 25pt "Ubuntu";
|
||||
background-color: rgba(0, 104, 200, 200);
|
||||
border-radius: 15px;
|
||||
}</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Lubuntu - Welcome to the Next Universe</string>
|
||||
<string/>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::MarkdownText</enum>
|
||||
@ -207,7 +207,7 @@ QLabel {
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>20</pointsize>
|
||||
<pointsize>14</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
@ -221,7 +221,7 @@ QLabel {
|
||||
<widget class="QComboBox" name="languageComboBox">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>400</width>
|
||||
<width>352</width>
|
||||
<height>50</height>
|
||||
</size>
|
||||
</property>
|
||||
@ -280,13 +280,13 @@ QLabel {
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>20</pointsize>
|
||||
<pointsize>14</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Select a WiFi Network:</string>
|
||||
<string>Select a Wi-Fi Network:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -294,7 +294,7 @@ QLabel {
|
||||
<widget class="QComboBox" name="networkComboBox">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>400</width>
|
||||
<width>352</width>
|
||||
<height>50</height>
|
||||
</size>
|
||||
</property>
|
||||
@ -311,18 +311,17 @@ QLabel {
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>50</height>
|
||||
<height>65</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>50</height>
|
||||
<height>65</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>14</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
@ -366,7 +365,6 @@ QLabel {
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>14</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
@ -449,20 +447,22 @@ QLabel {
|
||||
<widget class="QPushButton" name="tryLubuntu">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>250</width>
|
||||
<height>75</height>
|
||||
<width>300</width>
|
||||
<height>125</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>75</height>
|
||||
<height>125</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Ubuntu</family>
|
||||
<pointsize>24</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
@ -480,7 +480,17 @@ QToolTip {
|
||||
}</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Try Lubuntu</string>
|
||||
<string> Try Lubuntu</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="resource.qrc">
|
||||
<normaloff>:/symbol</normaloff>:/symbol</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>64</width>
|
||||
<height>64</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -514,20 +524,22 @@ QToolTip {
|
||||
<widget class="QPushButton" name="installLubuntu">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>250</width>
|
||||
<height>75</height>
|
||||
<width>300</width>
|
||||
<height>125</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>75</height>
|
||||
<height>125</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Ubuntu</family>
|
||||
<pointsize>24</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
@ -542,7 +554,17 @@ QToolTip {
|
||||
}</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Install Lubuntu</string>
|
||||
<string> Install Lubuntu</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="resource.qrc">
|
||||
<normaloff>:/installer</normaloff>:/installer</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>64</width>
|
||||
<height>64</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -658,7 +680,9 @@ QToolTip {
|
||||
<widget class="QLabel" name="connectionStatusLabel">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>16</pointsize>
|
||||
<pointsize>18</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
@ -699,6 +723,8 @@ QToolTip {
|
||||
</widget>
|
||||
<widget class="QStatusBar" name="statusbar"/>
|
||||
</widget>
|
||||
<resources/>
|
||||
<resources>
|
||||
<include location="resource.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
19
src/main.cpp
19
src/main.cpp
@ -5,22 +5,21 @@
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QApplication app(argc, argv);
|
||||
QList<InstallerPrompt*> windows;
|
||||
QList<InstallerPrompt*> ws;
|
||||
|
||||
// Iterate through all available screens
|
||||
for (QScreen *screen : QApplication::screens()) {
|
||||
InstallerPrompt *window = new InstallerPrompt();
|
||||
window->setGeometry(screen->geometry());
|
||||
window->show();
|
||||
windows.append(window);
|
||||
InstallerPrompt *w = new InstallerPrompt();
|
||||
w->setGeometry(screen->geometry());
|
||||
w->show();
|
||||
ws.append(w);
|
||||
}
|
||||
|
||||
// Connect signals and slots to synchronize state across windows
|
||||
for (InstallerPrompt *window : windows) {
|
||||
for (InstallerPrompt *otherWindow : windows) {
|
||||
if (window != otherWindow) {
|
||||
for (InstallerPrompt *w : ws) {
|
||||
for (InstallerPrompt *otherWindow : ws) {
|
||||
if (w != otherWindow) {
|
||||
// Connect signals and slots for synchronization
|
||||
// Example: connect(window, &InstallerPrompt::someSignal, otherWindow, &InstallerPrompt::someSlot);
|
||||
// Example: connect(ws.last(), &InstallerPrompt::someSignal, otherWindow, &InstallerPrompt::someSlot);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
8
src/resource.qrc
Normal file
8
src/resource.qrc
Normal file
@ -0,0 +1,8 @@
|
||||
<RCC>
|
||||
<qresource prefix="/">
|
||||
<file alias="logo">../img/lubuntu-logo.png</file>
|
||||
<file alias="background">../img/background.png</file>
|
||||
<file alias="installer">../img/installer.png</file>
|
||||
<file alias="symbol">../img/symbol.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
Loading…
x
Reference in New Issue
Block a user