Add icons to buttons, connect buttons to slots
1
build/lib/tileos_welcome/__init__.py
Normal file
|
@ -0,0 +1 @@
|
|||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
12
build/lib/tileos_welcome/data/resources.qrc
Normal file
|
@ -0,0 +1,12 @@
|
|||
<RCC>
|
||||
<qresource prefix="/icons">
|
||||
<file alias="contrib">icons/contrib.svg</file>
|
||||
<file alias="doc">icons/doc.svg</file>
|
||||
<file alias="exit">icons/exit.svg</file>
|
||||
<file alias="gparted">icons/gparted.svg</file>
|
||||
<file alias="install">icons/install-system.svg</file>
|
||||
<file alias="issue">icons/issue.svg</file>
|
||||
<file alias="telegram">icons/telegram.svg</file>
|
||||
<file alias="web">icons/web.svg</file>
|
||||
</qresource>
|
||||
</RCC>
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
141
build/lib/tileos_welcome/main.py
Normal file
|
@ -0,0 +1,141 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
# This file is part of Ubuntu Sway Remix project
|
||||
|
||||
# SPDX-FileCopyrightText: 2022 Aleksey Samoilov <samoilov.lex@gmail.com>
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
import os
|
||||
import signal
|
||||
import sys
|
||||
import subprocess
|
||||
from PyQt6.QtWidgets import (QApplication, QMainWindow)
|
||||
from PyQt6.QtGui import QPixmap, QIcon
|
||||
from PyQt6.QtCore import Qt, QDir
|
||||
from tileos_welcome.ui_mainwindow import Ui_MainWindow
|
||||
|
||||
def get_config_home():
|
||||
config_home = os.getenv('XDG_CONFIG_HOME') if os.getenv('XDG_CONFIG_HOME') else os.path.join(
|
||||
os.getenv("HOME"), ".config/")
|
||||
return config_home
|
||||
|
||||
dir_name = os.path.dirname(__file__)
|
||||
config_home = get_config_home()
|
||||
user = os.getlogin()
|
||||
desktop_file = os.path.join(dir_name, "data/tileos-welcome.desktop")
|
||||
autostart_dir = os.path.join(config_home, "autostart/")
|
||||
icons = os.path.join(dir_name, "data/icons")
|
||||
autostart_desktop_file = os.path.join(config_home, autostart_dir, "tileos-welcome.desktop")
|
||||
|
||||
class MainWindow(QMainWindow):
|
||||
def __init__(self):
|
||||
super(MainWindow, self).__init__()
|
||||
self.ui = Ui_MainWindow()
|
||||
self.ui.setupUi(self)
|
||||
|
||||
# Icons for buttons
|
||||
QDir.addSearchPath("icons", icons)
|
||||
|
||||
# Background
|
||||
page_label = os.path.join(dir_name, "data/label.png")
|
||||
page_pixmap = QPixmap(page_label).scaled(600, 300, Qt.AspectRatioMode.KeepAspectRatio)
|
||||
self.ui.logo.setPixmap(page_pixmap)
|
||||
self.ui.logo2.setPixmap(page_pixmap)
|
||||
|
||||
# Autostart (copying tileos-welcome.desktop to ~/.config/autostart)
|
||||
if os.path.isfile(autostart_desktop_file):
|
||||
self.ui.checkAutostart.setChecked(True)
|
||||
|
||||
# Detect running compositor and adapt Wiki button text to it
|
||||
if os.getenv("SWAYSOCK"):
|
||||
self.ui.btnWiki.setText("Sway Wiki")
|
||||
|
||||
# Page 1
|
||||
self.ui.btnGprd.clicked.connect(self.on_clicked_partition)
|
||||
self.ui.btnGprd.setIcon(QIcon("icons:gparted.svg"))
|
||||
self.ui.btnWebsite.clicked.connect(self.on_clicked_website)
|
||||
self.ui.btnWebsite.setIcon(QIcon("icons:web.svg"))
|
||||
self.ui.btnIssue.clicked.connect(self.on_clicked_tracker)
|
||||
self.ui.btnIssue.setIcon(QIcon("icons:issue.svg"))
|
||||
self.ui.btnContrib.clicked.connect(self.on_clicked_contribute)
|
||||
self.ui.btnContrib.setIcon(QIcon("icons:contrib.svg"))
|
||||
self.ui.btnTelegram.clicked.connect(self.on_clicked_telegram)
|
||||
self.ui.btnTelegram.setIcon(QIcon("icons:telegram.svg"))
|
||||
self.ui.btnNext.clicked.connect(self.on_page_switch)
|
||||
self.ui.btnNext.setIcon(QIcon.fromTheme("go-next"))
|
||||
self.ui.btnQuit.clicked.connect(self.exitApp)
|
||||
self.ui.btnQuit.setIcon(QIcon("icons:exit.svg"))
|
||||
|
||||
# Page 2
|
||||
self.ui.btnGTK.clicked.connect(self.on_clicked_gtk_theme)
|
||||
self.ui.btnKvantum.clicked.connect(self.on_clicked_qt_theme)
|
||||
self.ui.btnDisplay.clicked.connect(self.on_clicked_display_settings)
|
||||
self.ui.btnInput.clicked.connect(self.on_clicked_input_settings)
|
||||
self.ui.btnPrev.clicked.connect(self.on_page_switch)
|
||||
self.ui.btnExit.clicked.connect(self.exitApp)
|
||||
|
||||
def on_clicked_partition(self):
|
||||
subprocess.run("xhost +si:localuser:root && pkexec /usr/sbin/gparted && xhost -si:localuser:root &", shell=True)
|
||||
|
||||
def on_clicked_website(self):
|
||||
subprocess.run(["xdg-open", "https://tile-os.com"])
|
||||
|
||||
# TODO documentation link
|
||||
|
||||
def on_clicked_tracker(self):
|
||||
subprocess.run(["xdg-open", "https://gitlab.com/tile-os/tileos/-/issues"])
|
||||
|
||||
def on_clicked_contribute(self):
|
||||
subprocess.run(["xdg-open", "https://gitlab.com/tile-os"])
|
||||
|
||||
def on_clicked_telegram(self):
|
||||
subprocess.run(["xdg-open", "https://t.me/tile_os"])
|
||||
|
||||
def on_clicked_gtk_theme(self):
|
||||
subprocess.run("/usr/bin/nwg-look")
|
||||
|
||||
def on_clicked_qt_theme(self):
|
||||
subprocess.run("/usr/bin/kvantummanager")
|
||||
|
||||
def on_clicked_display_settings(self):
|
||||
subprocess.run("/usr/bin/nwg-displays")
|
||||
|
||||
# TODO shell selector
|
||||
|
||||
def on_clicked_input_settings(self):
|
||||
subprocess.run("/usr/bin/sway-input-config")
|
||||
|
||||
# TODO software manager
|
||||
|
||||
def on_page_switch(self):
|
||||
if self.ui.stackedWidget.currentIndex() == 0:
|
||||
self.ui.stackedWidget.setCurrentIndex(1)
|
||||
else:
|
||||
self.ui.stackedWidget.setCurrentIndex(0)
|
||||
|
||||
def exitApp(self):
|
||||
self.close()
|
||||
|
||||
def main():
|
||||
app = QApplication(["Welcome to TileOS!"])
|
||||
app.setDesktopFileName("tileos-welcome")
|
||||
win = MainWindow()
|
||||
win.show()
|
||||
sys.exit(app.exec())
|
||||
|
||||
if __name__ == "__main__":
|
||||
signal.signal(signal.SIGINT, signal.SIG_DFL)
|
||||
main()
|
1020
build/lib/tileos_welcome/resources.py
Normal file
303
build/lib/tileos_welcome/ui/mainwindow.ui
Normal file
|
@ -0,0 +1,303 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>MainWindow</class>
|
||||
<widget class="QMainWindow" name="MainWindow">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>664</width>
|
||||
<height>473</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>664</width>
|
||||
<height>473</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>664</width>
|
||||
<height>473</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string/>
|
||||
</property>
|
||||
<widget class="QWidget" name="centralwidget">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QStackedWidget" name="stackedWidget">
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="page">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QLabel" name="logo">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="desc">
|
||||
<property name="text">
|
||||
<string>Want to learn more about the project? Please find the links below!</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QPushButton" name="btnInstall">
|
||||
<property name="text">
|
||||
<string>Install TileOS</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2" colspan="2">
|
||||
<widget class="QPushButton" name="btnGprd">
|
||||
<property name="text">
|
||||
<string>Disk partitioning</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QPushButton" name="btnWebsite">
|
||||
<property name="text">
|
||||
<string>Website</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QPushButton" name="btnDoc">
|
||||
<property name="text">
|
||||
<string>Documentation</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QPushButton" name="btnIssue">
|
||||
<property name="text">
|
||||
<string>Issue Tracker</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QPushButton" name="btnContrib">
|
||||
<property name="text">
|
||||
<string>Contribute</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QPushButton" name="btnWiki">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QPushButton" name="btnTelegram">
|
||||
<property name="text">
|
||||
<string>Telegram Chat</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QPushButton" name="btnQuit">
|
||||
<property name="text">
|
||||
<string>Quit</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="3">
|
||||
<widget class="QPushButton" name="btnNext">
|
||||
<property name="text">
|
||||
<string>Next</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="page_2">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_5">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<item>
|
||||
<widget class="QLabel" name="logo2">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="desc2">
|
||||
<property name="text">
|
||||
<string>Advanced options</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="1" column="2">
|
||||
<widget class="QPushButton" name="btnSoftware">
|
||||
<property name="text">
|
||||
<string>Install Software</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QPushButton" name="btnPrev">
|
||||
<property name="text">
|
||||
<string>Previous</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QPushButton" name="btnKvantum">
|
||||
<property name="text">
|
||||
<string>Change Qt theme</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QPushButton" name="btnDisplay">
|
||||
<property name="text">
|
||||
<string>Display Settings</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QPushButton" name="btnGTK">
|
||||
<property name="text">
|
||||
<string>Change GTK Theme</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QPushButton" name="btnShell">
|
||||
<property name="text">
|
||||
<string>Change Shell</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QPushButton" name="btnExit">
|
||||
<property name="text">
|
||||
<string>Quit</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QPushButton" name="btnInput">
|
||||
<property name="text">
|
||||
<string>Input Settings</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkAutostart">
|
||||
<property name="text">
|
||||
<string>Autostart</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>btnInstall</tabstop>
|
||||
<tabstop>btnGprd</tabstop>
|
||||
<tabstop>btnWebsite</tabstop>
|
||||
<tabstop>btnDoc</tabstop>
|
||||
<tabstop>btnIssue</tabstop>
|
||||
<tabstop>btnContrib</tabstop>
|
||||
<tabstop>btnWiki</tabstop>
|
||||
<tabstop>btnTelegram</tabstop>
|
||||
<tabstop>btnQuit</tabstop>
|
||||
<tabstop>btnNext</tabstop>
|
||||
<tabstop>btnGTK</tabstop>
|
||||
<tabstop>btnKvantum</tabstop>
|
||||
<tabstop>btnDisplay</tabstop>
|
||||
<tabstop>btnShell</tabstop>
|
||||
<tabstop>btnInput</tabstop>
|
||||
<tabstop>btnSoftware</tabstop>
|
||||
<tabstop>btnPrev</tabstop>
|
||||
<tabstop>btnExit</tabstop>
|
||||
<tabstop>checkAutostart</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
73
build/lib/tileos_welcome/ui/warning.ui
Normal file
|
@ -0,0 +1,73 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>WarningMessage</class>
|
||||
<widget class="QDialog" name="WarningMessage">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>640</width>
|
||||
<height>100</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>640</width>
|
||||
<height>100</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>640</width>
|
||||
<height>100</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Your system is already installed! If you wish to reinstall it, boot from the installation media.</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>accepted()</signal>
|
||||
<receiver>WarningMessage</receiver>
|
||||
<slot>accept()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>319</x>
|
||||
<y>78</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>319</x>
|
||||
<y>49</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
181
build/lib/tileos_welcome/ui_mainwindow.py
Normal file
|
@ -0,0 +1,181 @@
|
|||
# Form implementation generated from reading ui file 'tileos_welcome/ui/mainwindow.ui'
|
||||
#
|
||||
# Created by: PyQt6 UI code generator 6.4.2
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic6 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt6 import QtCore, QtGui, QtWidgets
|
||||
|
||||
|
||||
class Ui_MainWindow(object):
|
||||
def setupUi(self, MainWindow):
|
||||
MainWindow.setObjectName("MainWindow")
|
||||
MainWindow.resize(664, 473)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth())
|
||||
MainWindow.setSizePolicy(sizePolicy)
|
||||
MainWindow.setMinimumSize(QtCore.QSize(664, 473))
|
||||
MainWindow.setMaximumSize(QtCore.QSize(664, 473))
|
||||
MainWindow.setWindowTitle("")
|
||||
self.centralwidget = QtWidgets.QWidget(parent=MainWindow)
|
||||
self.centralwidget.setObjectName("centralwidget")
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget)
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.stackedWidget = QtWidgets.QStackedWidget(parent=self.centralwidget)
|
||||
self.stackedWidget.setObjectName("stackedWidget")
|
||||
self.page = QtWidgets.QWidget()
|
||||
self.page.setObjectName("page")
|
||||
self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.page)
|
||||
self.verticalLayout_3.setObjectName("verticalLayout_3")
|
||||
self.verticalLayout_2 = QtWidgets.QVBoxLayout()
|
||||
self.verticalLayout_2.setObjectName("verticalLayout_2")
|
||||
self.logo = QtWidgets.QLabel(parent=self.page)
|
||||
self.logo.setText("")
|
||||
self.logo.setObjectName("logo")
|
||||
self.verticalLayout_2.addWidget(self.logo)
|
||||
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
|
||||
self.verticalLayout_2.addItem(spacerItem)
|
||||
self.desc = QtWidgets.QLabel(parent=self.page)
|
||||
self.desc.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
|
||||
self.desc.setObjectName("desc")
|
||||
self.verticalLayout_2.addWidget(self.desc)
|
||||
self.gridLayout = QtWidgets.QGridLayout()
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
self.btnInstall = QtWidgets.QPushButton(parent=self.page)
|
||||
self.btnInstall.setObjectName("btnInstall")
|
||||
self.gridLayout.addWidget(self.btnInstall, 0, 0, 1, 2)
|
||||
self.btnGprd = QtWidgets.QPushButton(parent=self.page)
|
||||
self.btnGprd.setObjectName("btnGprd")
|
||||
self.gridLayout.addWidget(self.btnGprd, 0, 2, 1, 2)
|
||||
self.btnWebsite = QtWidgets.QPushButton(parent=self.page)
|
||||
self.btnWebsite.setObjectName("btnWebsite")
|
||||
self.gridLayout.addWidget(self.btnWebsite, 1, 0, 1, 1)
|
||||
self.btnDoc = QtWidgets.QPushButton(parent=self.page)
|
||||
self.btnDoc.setObjectName("btnDoc")
|
||||
self.gridLayout.addWidget(self.btnDoc, 1, 1, 1, 1)
|
||||
self.btnIssue = QtWidgets.QPushButton(parent=self.page)
|
||||
self.btnIssue.setObjectName("btnIssue")
|
||||
self.gridLayout.addWidget(self.btnIssue, 1, 2, 1, 1)
|
||||
self.btnContrib = QtWidgets.QPushButton(parent=self.page)
|
||||
self.btnContrib.setObjectName("btnContrib")
|
||||
self.gridLayout.addWidget(self.btnContrib, 1, 3, 1, 1)
|
||||
self.btnWiki = QtWidgets.QPushButton(parent=self.page)
|
||||
self.btnWiki.setText("")
|
||||
self.btnWiki.setObjectName("btnWiki")
|
||||
self.gridLayout.addWidget(self.btnWiki, 2, 0, 1, 1)
|
||||
self.btnTelegram = QtWidgets.QPushButton(parent=self.page)
|
||||
self.btnTelegram.setObjectName("btnTelegram")
|
||||
self.gridLayout.addWidget(self.btnTelegram, 2, 1, 1, 1)
|
||||
self.btnQuit = QtWidgets.QPushButton(parent=self.page)
|
||||
self.btnQuit.setObjectName("btnQuit")
|
||||
self.gridLayout.addWidget(self.btnQuit, 2, 2, 1, 1)
|
||||
self.btnNext = QtWidgets.QPushButton(parent=self.page)
|
||||
self.btnNext.setObjectName("btnNext")
|
||||
self.gridLayout.addWidget(self.btnNext, 2, 3, 1, 1)
|
||||
self.verticalLayout_2.addLayout(self.gridLayout)
|
||||
self.verticalLayout_3.addLayout(self.verticalLayout_2)
|
||||
self.stackedWidget.addWidget(self.page)
|
||||
self.page_2 = QtWidgets.QWidget()
|
||||
self.page_2.setObjectName("page_2")
|
||||
self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.page_2)
|
||||
self.verticalLayout_5.setObjectName("verticalLayout_5")
|
||||
self.verticalLayout_4 = QtWidgets.QVBoxLayout()
|
||||
self.verticalLayout_4.setObjectName("verticalLayout_4")
|
||||
self.logo2 = QtWidgets.QLabel(parent=self.page_2)
|
||||
self.logo2.setText("")
|
||||
self.logo2.setObjectName("logo2")
|
||||
self.verticalLayout_4.addWidget(self.logo2)
|
||||
spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
|
||||
self.verticalLayout_4.addItem(spacerItem1)
|
||||
self.desc2 = QtWidgets.QLabel(parent=self.page_2)
|
||||
self.desc2.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
|
||||
self.desc2.setObjectName("desc2")
|
||||
self.verticalLayout_4.addWidget(self.desc2)
|
||||
self.gridLayout_2 = QtWidgets.QGridLayout()
|
||||
self.gridLayout_2.setObjectName("gridLayout_2")
|
||||
self.btnSoftware = QtWidgets.QPushButton(parent=self.page_2)
|
||||
self.btnSoftware.setObjectName("btnSoftware")
|
||||
self.gridLayout_2.addWidget(self.btnSoftware, 1, 2, 1, 1)
|
||||
self.btnPrev = QtWidgets.QPushButton(parent=self.page_2)
|
||||
self.btnPrev.setObjectName("btnPrev")
|
||||
self.gridLayout_2.addWidget(self.btnPrev, 2, 0, 1, 1)
|
||||
self.btnKvantum = QtWidgets.QPushButton(parent=self.page_2)
|
||||
self.btnKvantum.setObjectName("btnKvantum")
|
||||
self.gridLayout_2.addWidget(self.btnKvantum, 0, 1, 1, 1)
|
||||
self.btnDisplay = QtWidgets.QPushButton(parent=self.page_2)
|
||||
self.btnDisplay.setObjectName("btnDisplay")
|
||||
self.gridLayout_2.addWidget(self.btnDisplay, 0, 2, 1, 1)
|
||||
self.btnGTK = QtWidgets.QPushButton(parent=self.page_2)
|
||||
self.btnGTK.setObjectName("btnGTK")
|
||||
self.gridLayout_2.addWidget(self.btnGTK, 0, 0, 1, 1)
|
||||
self.btnShell = QtWidgets.QPushButton(parent=self.page_2)
|
||||
self.btnShell.setObjectName("btnShell")
|
||||
self.gridLayout_2.addWidget(self.btnShell, 1, 0, 1, 1)
|
||||
self.btnExit = QtWidgets.QPushButton(parent=self.page_2)
|
||||
self.btnExit.setObjectName("btnExit")
|
||||
self.gridLayout_2.addWidget(self.btnExit, 2, 2, 1, 1)
|
||||
self.btnInput = QtWidgets.QPushButton(parent=self.page_2)
|
||||
self.btnInput.setObjectName("btnInput")
|
||||
self.gridLayout_2.addWidget(self.btnInput, 1, 1, 1, 1)
|
||||
self.verticalLayout_4.addLayout(self.gridLayout_2)
|
||||
self.verticalLayout_5.addLayout(self.verticalLayout_4)
|
||||
self.stackedWidget.addWidget(self.page_2)
|
||||
self.verticalLayout.addWidget(self.stackedWidget)
|
||||
self.horizontalLayout = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout.setObjectName("horizontalLayout")
|
||||
spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
|
||||
self.horizontalLayout.addItem(spacerItem2)
|
||||
self.checkAutostart = QtWidgets.QCheckBox(parent=self.centralwidget)
|
||||
self.checkAutostart.setObjectName("checkAutostart")
|
||||
self.horizontalLayout.addWidget(self.checkAutostart)
|
||||
self.verticalLayout.addLayout(self.horizontalLayout)
|
||||
MainWindow.setCentralWidget(self.centralwidget)
|
||||
|
||||
self.retranslateUi(MainWindow)
|
||||
self.stackedWidget.setCurrentIndex(0)
|
||||
QtCore.QMetaObject.connectSlotsByName(MainWindow)
|
||||
MainWindow.setTabOrder(self.btnInstall, self.btnGprd)
|
||||
MainWindow.setTabOrder(self.btnGprd, self.btnWebsite)
|
||||
MainWindow.setTabOrder(self.btnWebsite, self.btnDoc)
|
||||
MainWindow.setTabOrder(self.btnDoc, self.btnIssue)
|
||||
MainWindow.setTabOrder(self.btnIssue, self.btnContrib)
|
||||
MainWindow.setTabOrder(self.btnContrib, self.btnWiki)
|
||||
MainWindow.setTabOrder(self.btnWiki, self.btnTelegram)
|
||||
MainWindow.setTabOrder(self.btnTelegram, self.btnQuit)
|
||||
MainWindow.setTabOrder(self.btnQuit, self.btnNext)
|
||||
MainWindow.setTabOrder(self.btnNext, self.btnGTK)
|
||||
MainWindow.setTabOrder(self.btnGTK, self.btnKvantum)
|
||||
MainWindow.setTabOrder(self.btnKvantum, self.btnDisplay)
|
||||
MainWindow.setTabOrder(self.btnDisplay, self.btnShell)
|
||||
MainWindow.setTabOrder(self.btnShell, self.btnInput)
|
||||
MainWindow.setTabOrder(self.btnInput, self.btnSoftware)
|
||||
MainWindow.setTabOrder(self.btnSoftware, self.btnPrev)
|
||||
MainWindow.setTabOrder(self.btnPrev, self.btnExit)
|
||||
MainWindow.setTabOrder(self.btnExit, self.checkAutostart)
|
||||
|
||||
def retranslateUi(self, MainWindow):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
self.desc.setText(_translate("MainWindow", "Want to learn more about the project? Please find the links below!"))
|
||||
self.btnInstall.setText(_translate("MainWindow", "Install TileOS"))
|
||||
self.btnGprd.setText(_translate("MainWindow", "Disk partitioning"))
|
||||
self.btnWebsite.setText(_translate("MainWindow", "Website"))
|
||||
self.btnDoc.setText(_translate("MainWindow", "Documentation"))
|
||||
self.btnIssue.setText(_translate("MainWindow", "Issue Tracker"))
|
||||
self.btnContrib.setText(_translate("MainWindow", "Contribute"))
|
||||
self.btnTelegram.setText(_translate("MainWindow", "Telegram Chat"))
|
||||
self.btnQuit.setText(_translate("MainWindow", "Quit"))
|
||||
self.btnNext.setText(_translate("MainWindow", "Next"))
|
||||
self.desc2.setText(_translate("MainWindow", "Advanced options"))
|
||||
self.btnSoftware.setText(_translate("MainWindow", "Install Software"))
|
||||
self.btnPrev.setText(_translate("MainWindow", "Previous"))
|
||||
self.btnKvantum.setText(_translate("MainWindow", "Change Qt theme"))
|
||||
self.btnDisplay.setText(_translate("MainWindow", "Display Settings"))
|
||||
self.btnGTK.setText(_translate("MainWindow", "Change GTK Theme"))
|
||||
self.btnShell.setText(_translate("MainWindow", "Change Shell"))
|
||||
self.btnExit.setText(_translate("MainWindow", "Quit"))
|
||||
self.btnInput.setText(_translate("MainWindow", "Input Settings"))
|
||||
self.checkAutostart.setText(_translate("MainWindow", "Autostart"))
|
41
build/lib/tileos_welcome/ui_warning.py
Normal file
|
@ -0,0 +1,41 @@
|
|||
# Form implementation generated from reading ui file 'tileos_welcome/ui/warning.ui'
|
||||
#
|
||||
# Created by: PyQt6 UI code generator 6.4.2
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic6 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt6 import QtCore, QtGui, QtWidgets
|
||||
|
||||
|
||||
class Ui_WarningMessage(object):
|
||||
def setupUi(self, WarningMessage):
|
||||
WarningMessage.setObjectName("WarningMessage")
|
||||
WarningMessage.resize(640, 100)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(WarningMessage.sizePolicy().hasHeightForWidth())
|
||||
WarningMessage.setSizePolicy(sizePolicy)
|
||||
WarningMessage.setMinimumSize(QtCore.QSize(640, 100))
|
||||
WarningMessage.setMaximumSize(QtCore.QSize(640, 100))
|
||||
WarningMessage.setWindowTitle("")
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout(WarningMessage)
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.label = QtWidgets.QLabel(parent=WarningMessage)
|
||||
self.label.setWordWrap(True)
|
||||
self.label.setObjectName("label")
|
||||
self.verticalLayout.addWidget(self.label)
|
||||
self.buttonBox = QtWidgets.QDialogButtonBox(parent=WarningMessage)
|
||||
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Ok)
|
||||
self.buttonBox.setObjectName("buttonBox")
|
||||
self.verticalLayout.addWidget(self.buttonBox)
|
||||
|
||||
self.retranslateUi(WarningMessage)
|
||||
self.buttonBox.accepted.connect(WarningMessage.accept) # type: ignore
|
||||
QtCore.QMetaObject.connectSlotsByName(WarningMessage)
|
||||
|
||||
def retranslateUi(self, WarningMessage):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
self.label.setText(_translate("WarningMessage", "Your system is already installed! If you wish to reinstall it, boot from the installation media."))
|
BIN
dist/tileos_welcome-0.9.0-py3.11.egg
vendored
6
setup.py
|
@ -11,10 +11,10 @@ setup(
|
|||
url='https://gitlab.com/tile-os/tileos-welcome',
|
||||
packages=find_packages(),
|
||||
include_package_data=True,
|
||||
package_data={"": ["resources/*", "ui/*"]},
|
||||
package_data={"": ["data/*", "ui/*"]},
|
||||
data_files=[
|
||||
('share/applications', ['tileos_welcome/resources/tileos-welcome.desktop']),
|
||||
('share/icons/hicolor/scalable/apps', ['tileos_welcome/resources/tileos-logo.svg']),
|
||||
('share/applications', ['tileos_welcome/data/tileos-welcome.desktop']),
|
||||
('share/icons/hicolor/scalable/apps', ['tileos_welcome/data/tileos-logo.svg']),
|
||||
],
|
||||
install_requires=[],
|
||||
entry_points={
|
||||
|
|
9
tileos_welcome.egg-info/PKG-INFO
Normal file
|
@ -0,0 +1,9 @@
|
|||
Metadata-Version: 2.1
|
||||
Name: tileos-welcome
|
||||
Version: 0.9.0
|
||||
Summary: welcome app for TileOS
|
||||
Home-page: https://gitlab.com/tile-os/tileos-welcome
|
||||
Author: Aleksey Samoilov
|
||||
Author-email: samoilov.lex@gmail.com
|
||||
License: GPL-3
|
||||
License-File: LICENSE
|
18
tileos_welcome.egg-info/SOURCES.txt
Normal file
|
@ -0,0 +1,18 @@
|
|||
LICENSE
|
||||
setup.py
|
||||
tileos_welcome/__init__.py
|
||||
tileos_welcome/main.py
|
||||
tileos_welcome/resources.py
|
||||
tileos_welcome/ui_mainwindow.py
|
||||
tileos_welcome/ui_warning.py
|
||||
tileos_welcome.egg-info/PKG-INFO
|
||||
tileos_welcome.egg-info/SOURCES.txt
|
||||
tileos_welcome.egg-info/dependency_links.txt
|
||||
tileos_welcome.egg-info/entry_points.txt
|
||||
tileos_welcome.egg-info/top_level.txt
|
||||
tileos_welcome/data/label.png
|
||||
tileos_welcome/data/resources.qrc
|
||||
tileos_welcome/data/tileos-logo.svg
|
||||
tileos_welcome/data/tileos-welcome.desktop
|
||||
tileos_welcome/ui/mainwindow.ui
|
||||
tileos_welcome/ui/warning.ui
|
1
tileos_welcome.egg-info/dependency_links.txt
Normal file
|
@ -0,0 +1 @@
|
|||
|
2
tileos_welcome.egg-info/entry_points.txt
Normal file
|
@ -0,0 +1,2 @@
|
|||
[gui_scripts]
|
||||
tileos-welcome = tileos_welcome.main:main
|
1
tileos_welcome.egg-info/top_level.txt
Normal file
|
@ -0,0 +1 @@
|
|||
tileos_welcome
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
9
tileos_welcome/data/icons/display.svg
Normal file
|
@ -0,0 +1,9 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" version="1.1">
|
||||
<rect style="opacity:0.2" width="16" height="21" x="8" y="8" rx="1.25" ry="1.25"/>
|
||||
<rect style="fill:#8e8e8e" width="16" height="21" x="8" y="7" rx="1.25" ry="1.25"/>
|
||||
<rect style="opacity:0.2" width="26" height="20" x="3" y="6" rx="1.25" ry="1.25"/>
|
||||
<path style="fill:#595959" d="m 3,22 v 1.75 C 3,24.4425 3.5575,25 4.25,25 h 23.5 C 28.4425,25 29,24.4425 29,23.75 V 22 Z"/>
|
||||
<path style="fill:#333333" d="M 4.25,5 C 3.5575,5 3,5.5575 3,6.25 V 22 H 29 V 6.25 C 29,5.5575 28.4425,5 27.75,5 Z"/>
|
||||
<rect style="opacity:0.1;fill:#ffffff" width="26" height="1" x="3" y="22"/>
|
||||
<path style="fill:#ffffff;opacity:0.1" d="M 4.25 5 C 3.5575 5 3 5.5575 3 6.25 L 3 7.25 C 3 6.5575 3.5575 6 4.25 6 L 27.75 6 C 28.442 6 29 6.5575 29 7.25 L 29 6.25 C 29 5.5575 28.442 5 27.75 5 L 4.25 5 z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 866 B |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 3 KiB After Width: | Height: | Size: 3 KiB |
28
tileos_welcome/data/icons/gtk-theme.svg
Normal file
|
@ -0,0 +1,28 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" version="1">
|
||||
<path style="opacity:0.1" d="m 19,29 c 0,-1.656854 -1.343146,-12 -3,-12 -1.656854,0 -3,10.343146 -3,12 0,1.656854 1.343146,3 3,3 1.656854,0 3,-1.343146 3,-3 z"/>
|
||||
<circle style="opacity:0.2" cx="16" cy="17" r="13"/>
|
||||
<circle style="fill:#8e8e8e" cx="16" cy="16" r="13"/>
|
||||
<path style="fill:#ff4c4c" d="M 22.363961,26.606602 C 21.192388,25.435029 14.828427,17.171573 16,16 c 1.171573,-1.171573 9.435029,5.192388 10.606602,6.363961 1.171573,1.171573 1.171572,3.071068 0,4.242641 -1.171573,1.171572 -3.071068,1.171573 -4.242641,0 z"/>
|
||||
<path style="fill:#db4cb7" d="m 28,19 c -1.656854,0 -12,-1.343146 -12,-3 0,-1.656854 10.343146,-3 12,-3 1.656854,0 3,1.343146 3,3 0,1.656854 -1.343146,3 -3,3 z"/>
|
||||
<path style="fill:#924ab4" d="M 26.606602,9.636039 C 25.435029,10.807612 17.171573,17.171573 16,16 14.828427,14.828427 21.192388,6.564971 22.363961,5.3933983 c 1.171573,-1.1715727 3.071068,-1.1715727 4.242641,0 1.171572,1.1715727 1.171572,3.071068 0,4.2426407 z"/>
|
||||
<path style="opacity:0.1;fill:#ffffff" d="M 24.484375 4.515625 C 23.716608 4.515625 22.949068 4.8067918 22.363281 5.3925781 C 21.202781 6.5530785 14.952117 14.668911 15.972656 15.960938 C 16.717711 13.389272 21.375991 7.379868 22.363281 6.3925781 C 23.534854 5.2210054 25.435849 5.2210054 26.607422 6.3925781 C 27.065772 6.8509284 27.337787 7.4216224 27.4375 8.015625 C 27.593371 7.0907586 27.321139 6.1062958 26.607422 5.3925781 C 26.021635 4.8067918 25.252142 4.515625 24.484375 4.515625 z"/>
|
||||
<path style="fill:#6c48b3" d="m 19,4 c 0,1.6568543 -1.343146,12 -3,12 -1.656854,0 -3,-10.3431457 -3,-12 0,-1.6568543 1.343146,-3 3,-3 1.656854,0 3,1.3431457 3,3 z"/>
|
||||
<path style="fill:#476bd7" d="M 5.3933983,9.636039 C 6.564971,10.807612 14.828427,17.171573 16,16 17.171573,14.828427 10.807612,6.564971 9.636039,5.3933983 c -1.1715727,-1.1715727 -3.071068,-1.1715727 -4.2426407,0 -1.1715727,1.1715727 -1.1715727,3.071068 0,4.2426407 z"/>
|
||||
<path style="opacity:0.1" d="M 4.5625 8.015625 C 4.4072485 8.9400038 4.6792916 9.9234322 5.3925781 10.636719 C 6.5641508 11.808292 14.828427 18.171573 16 17 C 16.184283 16.815717 16.166412 16.440952 16.027344 15.960938 C 16.017607 15.973265 16.011072 15.988928 16 16 C 14.828427 17.171573 6.5641508 10.808292 5.3925781 9.6367188 C 4.9347856 9.1789262 4.6625273 8.6088458 4.5625 8.015625 z"/>
|
||||
<path style="fill:#47b1b1" d="m 4,19 c 1.656854,0 12,-1.343146 12,-3 0,-1.656854 -10.343146,-3 -12,-3 -1.656854,0 -3,1.343146 -3,3 0,1.656854 1.343146,3 3,3 z"/>
|
||||
<path style="opacity:0.1" d="M 1.0507812 16.5 C 1.0232813 16.663236 1 16.828943 1 17 C 1 18.656854 2.343146 20 4 20 C 5.656854 20 16 18.656854 16 17 C 16 16.829224 15.866901 16.662983 15.667969 16.5 C 13.935309 17.917985 5.4858792 19 4 19 C 2.5147507 19 1.2902916 17.917097 1.0507812 16.5 z"/>
|
||||
<path style="fill:#8bdb4c" d="M 9.636039,26.606602 C 10.807612,25.435029 17.171573,17.171573 16,16 14.828427,14.828427 6.5649713,21.192388 5.3933984,22.363961 c -1.1715729,1.171573 -1.1715727,3.071068 0,4.242641 1.1715727,1.171572 3.0710677,1.171573 4.2426406,0 z"/>
|
||||
<path style="opacity:0.1" d="M 16.025391 17.039062 C 15.278989 19.611548 10.623822 25.618366 9.6367188 26.605469 C 8.4651458 27.777042 6.5641508 27.777041 5.3925781 26.605469 C 4.934292 26.147182 4.662249 25.578288 4.5625 24.984375 C 4.4066294 25.909241 4.6788604 26.893704 5.3925781 27.607422 C 6.5641508 28.778994 8.4651458 28.778995 9.6367188 27.607422 C 10.797472 26.446668 17.049325 18.328394 16.025391 17.039062 z"/>
|
||||
<path style="fill:#ffdb4c" d="m 19,28 c 0,-1.656854 -1.343146,-12 -3,-12 -1.656854,0 -3,10.343146 -3,12 0,1.656854 1.343146,3 3,3 1.656854,0 3,-1.343146 3,-3 z"/>
|
||||
<path style="fill:#ff4c4c" d="M 16 16 C 15.454003 16.545997 16.561006 18.639164 18 20.830078 C 17.9975 19.238017 17.562806 17.807063 17.039062 16.921875 C 16.397592 16.631164 16 16.321954 16 16 z"/>
|
||||
<path style="opacity:0.1" d="M 15.974609 17.039062 C 14.950675 18.328394 21.202528 26.446668 22.363281 27.607422 C 23.534854 28.778995 25.435849 28.778994 26.607422 27.607422 C 27.321139 26.893704 27.59337 25.909241 27.4375 24.984375 C 27.337751 25.578288 27.065708 26.147182 26.607422 26.605469 C 25.435849 27.777041 23.534854 27.777042 22.363281 26.605469 C 21.376178 25.618366 16.721011 19.611548 15.974609 17.039062 z"/>
|
||||
<path style="fill:#db4cb7" d="m 16,16 c -0.0084,0.278233 0.324957,0.591525 0.873864,0.84719 C 16.810238,16.315544 16.297056,15.996235 16,16 Z"/>
|
||||
<path style="opacity:0.1;fill:#ffffff" d="M 16 1 C 14.343146 1 13 2.3431457 13 4 C 13 4.1296355 13.021158 4.3942214 13.037109 4.6210938 C 13.224968 3.1448585 14.472728 2 16 2 C 17.527272 2 18.775032 3.1448585 18.962891 4.6210938 C 18.978842 4.3942214 19 4.1296355 19 4 C 19 2.3431457 17.656854 1 16 1 z"/>
|
||||
<path style="opacity:0.1;fill:#ffffff" d="M 7.515625 4.515625 C 6.747858 4.515625 5.9783645 4.8067918 5.3925781 5.3925781 C 4.6788604 6.1062958 4.4066294 7.0907586 4.5625 8.015625 C 4.6622127 7.4216224 4.9342278 6.8509284 5.3925781 6.3925781 C 6.5641508 5.2210054 8.465146 5.2210054 9.6367188 6.3925781 C 10.624009 7.379868 15.282289 13.389272 16.027344 15.960938 C 17.047883 14.668911 10.797219 6.5530785 9.6367188 5.3925781 C 9.0509324 4.8067918 8.283392 4.515625 7.515625 4.515625 z"/>
|
||||
<path style="opacity:0.1" d="M 27.4375 8.015625 C 27.337473 8.6088458 27.065214 9.1789262 26.607422 9.6367188 C 25.435849 10.808292 17.171573 17.171573 16 16 C 15.988928 15.988928 15.982393 15.973265 15.972656 15.960938 C 15.833588 16.440952 15.815717 16.815717 16 17 C 17.171573 18.171573 25.435849 11.808292 26.607422 10.636719 C 27.320708 9.9234322 27.592751 8.9400038 27.4375 8.015625 z"/>
|
||||
<path style="opacity:0.1" d="M 16.332031 16.5 C 16.133099 16.662983 16 16.829224 16 17 C 16 18.656854 26.343146 20 28 20 C 29.656854 20 31 18.656854 31 17 C 31 16.828943 30.976719 16.663236 30.949219 16.5 C 30.709708 17.917097 29.485249 19 28 19 C 26.514121 19 18.064691 17.917985 16.332031 16.5 z"/>
|
||||
<path style="opacity:0.1" d="m 12.484921,10.698803 c -0.406892,0.171162 -0.596667,0.636528 -0.425505,1.043419 l 0.401285,0.953939 a 5.5775922,5.5775922 0 0 0 -0.803022,0.812221 l -0.957828,-0.390599 c -0.408745,-0.166685 -0.8718875,0.02815 -1.0385732,0.436886 l -0.6016876,1.47546 c -0.1666856,0.408746 0.028148,0.871889 0.4368842,1.038573 l 0.9537516,0.388938 a 5.5775922,5.5775922 0 0 0 0.0072,1.145021 l -0.9510365,0.400077 c -0.4068923,0.171163 -0.5966662,0.636528 -0.4255037,1.04342 l 0.6179159,1.468922 c 0.1711626,0.406891 0.6365283,0.596666 1.0434193,0.425503 L 11.696159,20.5393 a 5.5775922,5.5775922 0 0 0 0.812222,0.803021 l -0.390598,0.957828 c -0.166686,0.408745 0.02815,0.871888 0.436886,1.038573 l 1.475459,0.601688 c 0.408746,0.166686 0.871889,-0.02815 1.038574,-0.436884 l 0.388938,-0.953751 a 5.5775922,5.5775922 0 0 0 1.145022,-0.0072 l 0.400075,0.95107 c 0.171163,0.406893 0.636529,0.596667 1.043419,0.425504 l 1.468923,-0.617916 c 0.406891,-0.171162 0.596666,-0.636528 0.425504,-1.043419 l -0.401284,-0.953938 a 5.5775922,5.5775922 0 0 0 0.803023,-0.812222 l 0.957827,0.390597 c 0.408744,0.166687 0.871888,-0.02814 1.038574,-0.436885 l 0.601687,-1.475459 c 0.166685,-0.408747 -0.02815,-0.871889 -0.436886,-1.038574 l -0.953751,-0.388936 a 5.5775922,5.5775922 0 0 0 -0.0072,-1.145023 l 0.951069,-0.400075 c 0.406892,-0.171163 0.596667,-0.636529 0.425503,-1.04342 L 22.301229,13.484957 C 22.130067,13.078066 21.664701,12.88829 21.25781,13.059454 l -0.953938,0.401283 a 5.5775922,5.5775922 0 0 0 -0.812221,-0.803023 l 0.390598,-0.957827 c 0.166653,-0.408778 -0.02818,-0.871922 -0.436919,-1.038606 l -1.47546,-0.601689 c -0.408747,-0.1666853 -0.871889,0.02815 -1.038573,0.436885 l -0.388938,0.95375 a 5.5775922,5.5775922 0 0 0 -1.14502,0.0072 L 14.997268,10.506384 C 14.826106,10.099492 14.36074,9.9097176 13.953849,10.080879 Z"/>
|
||||
<path style="fill:#4f4f4f" d="M 12.484921,9.6988021 C 12.078029,9.8699639 11.888254,10.33533 12.059416,10.742221 l 0.401285,0.953939 a 5.5775922,5.5775922 0 0 0 -0.803022,0.812221 l -0.957828,-0.390599 c -0.408745,-0.166685 -0.8718875,0.02815 -1.0385732,0.436886 l -0.6016876,1.47546 c -0.1666856,0.408746 0.028148,0.871889 0.4368842,1.038573 l 0.9537516,0.388938 a 5.5775922,5.5775922 0 0 0 0.0072,1.145021 L 9.5063895,17.002737 C 9.0994972,17.1739 8.9097233,17.639265 9.0808858,18.046157 l 0.6179159,1.468922 c 0.1711626,0.406891 0.6365283,0.596666 1.0434193,0.425503 l 0.953938,-0.401283 a 5.5775922,5.5775922 0 0 0 0.812222,0.803021 l -0.390598,0.957828 c -0.166686,0.408745 0.02815,0.871888 0.436886,1.038573 l 1.475459,0.601688 c 0.408746,0.166686 0.871889,-0.02815 1.038574,-0.436884 l 0.388938,-0.953751 a 5.5775922,5.5775922 0 0 0 1.145022,-0.0072 l 0.400075,0.95107 c 0.171163,0.406893 0.636529,0.596667 1.043419,0.425504 l 1.468923,-0.617916 c 0.406891,-0.171162 0.596666,-0.636528 0.425504,-1.043419 l -0.401284,-0.953938 a 5.5775922,5.5775922 0 0 0 0.803023,-0.812222 l 0.957827,0.390597 c 0.408744,0.166687 0.871888,-0.02814 1.038574,-0.436885 l 0.601687,-1.475459 c 0.166685,-0.408747 -0.02815,-0.871889 -0.436886,-1.038574 l -0.953751,-0.388936 a 5.5775922,5.5775922 0 0 0 -0.0072,-1.145023 l 0.951069,-0.400075 c 0.406892,-0.171163 0.596667,-0.636529 0.425503,-1.04342 L 22.301229,12.484956 C 22.130067,12.078065 21.664701,11.888289 21.25781,12.059453 l -0.953938,0.401283 a 5.5775922,5.5775922 0 0 0 -0.812221,-0.803023 l 0.390598,-0.957827 C 20.048902,10.291108 19.854068,9.8279638 19.44533,9.6612798 L 17.96987,9.0595906 c -0.408747,-0.1666849 -0.871889,0.028148 -1.038573,0.4368858 l -0.388938,0.9537496 a 5.5775922,5.5775922 0 0 0 -1.14502,0.0072 L 14.997268,9.5063829 C 14.826106,9.0994914 14.36074,8.9097166 13.953849,9.0808784 Z"/>
|
||||
<circle style="opacity:0.2" cx="16" cy="17" r="3"/>
|
||||
<circle style="fill:#ffffff" cx="16" cy="16" r="3"/>
|
||||
</svg>
|
After Width: | Height: | Size: 9.5 KiB |
25
tileos_welcome/data/icons/input.svg
Normal file
|
@ -0,0 +1,25 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" version="1">
|
||||
<rect style="fill:#4f4f4f" width="28" height="20" x="2" y="6" rx="1.4" ry="1.4"/>
|
||||
<path style="opacity:.1;fill:#ffffff" d="m3.4004 6c-0.7756 0-1.4004 0.6248-1.4004 1.4004v1c0-0.7756 0.6248-1.4004 1.4004-1.4004h25.2c0.775 0 1.4 0.6248 1.4 1.4004v-1c0-0.7756-0.625-1.4004-1.4-1.4004h-25.2z"/>
|
||||
<path style="opacity:.2" d="m2 24.6v1c0 0.775 0.6248 1.4 1.4004 1.4h25.2c0.775 0 1.4-0.625 1.4-1.4v-1c0 0.775-0.625 1.4-1.4 1.4h-25.2c-0.7752 0-1.4-0.625-1.4-1.4z"/>
|
||||
<circle style="opacity:.2" cx="5.5" cy="11.5" r="1.5"/>
|
||||
<circle style="opacity:.2" cx="10.5" cy="11.5" r="1.5"/>
|
||||
<circle style="opacity:.2" cx="15.5" cy="11.5" r="1.5"/>
|
||||
<circle style="opacity:.2" cx="20.5" cy="11.5" r="1.5"/>
|
||||
<circle style="opacity:.2" cx="25.5" cy="11.5" r="1.5"/>
|
||||
<circle style="opacity:.2" cx="8.5" cy="17.5" r="1.5"/>
|
||||
<circle style="opacity:.2" cx="13.5" cy="17.5" r="1.5"/>
|
||||
<circle style="opacity:.2" cx="18.5" cy="17.5" r="1.5"/>
|
||||
<circle style="opacity:.2" cx="23.5" cy="17.5" r="1.5"/>
|
||||
<rect style="opacity:.2" width="20" height="3" x="6" y="22" rx=".75" ry=".75"/>
|
||||
<circle style="fill:#e4e4e4" cx="5.5" cy="10.5" r="1.5"/>
|
||||
<circle style="fill:#e4e4e4" cx="10.5" cy="10.5" r="1.5"/>
|
||||
<circle style="fill:#e4e4e4" cx="15.5" cy="10.5" r="1.5"/>
|
||||
<circle style="fill:#e4e4e4" cx="20.5" cy="10.5" r="1.5"/>
|
||||
<circle style="fill:#ff8834" cx="25.5" cy="10.5" r="1.5"/>
|
||||
<circle style="fill:#e4e4e4" cx="8.5" cy="16.5" r="1.5"/>
|
||||
<circle style="fill:#e4e4e4" cx="13.5" cy="16.5" r="1.5"/>
|
||||
<circle style="fill:#ff8834" cx="18.5" cy="16.5" r="1.5"/>
|
||||
<circle style="fill:#e4e4e4" cx="23.5" cy="16.5" r="1.5"/>
|
||||
<rect style="fill:#e4e4e4" width="20" height="3" x="6" y="21" rx=".75" ry=".75"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 2 KiB After Width: | Height: | Size: 2 KiB |
Before Width: | Height: | Size: 724 B After Width: | Height: | Size: 724 B |
11
tileos_welcome/data/icons/shell.svg
Normal file
|
@ -0,0 +1,11 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" version="1">
|
||||
<rect style="opacity:0.2" width="28" height="25" x="2" y="4" rx="2.1" ry="2.083"/>
|
||||
<rect style="fill:#4f4f4f" width="28" height="25" x="2" y="3" rx="2.1" ry="2.083"/>
|
||||
<rect style="opacity:0.2" width="8" height="3" x="13" y="15" rx=".667" ry=".75"/>
|
||||
<rect style="fill:#ffffff" width="8" height="3" x="13" y="14" rx=".667" ry=".75"/>
|
||||
<rect style="opacity:0.2" width="8.382" height="2.794" x="-8.61" y="15.1" rx=".698" ry=".698" transform="matrix(0.72400602,-0.68979366,0.72400602,0.68979366,0,0)"/>
|
||||
<rect style="fill:#a2a2a2" width="8.382" height="2.794" x="-7.88" y="14.38" rx=".698" ry=".698" transform="matrix(0.72400602,-0.68979366,0.72400602,0.68979366,0,0)"/>
|
||||
<rect style="opacity:0.2" width="8.382" height="2.794" x="9.52" y="-3.02" rx=".698" ry=".698" transform="matrix(0.72400602,0.68979366,0.72400602,-0.68979366,0,0)"/>
|
||||
<rect style="fill:#ffffff" width="8.382" height="2.794" x="8.79" y="-2.29" rx=".698" ry=".698" transform="matrix(0.72400602,0.68979366,0.72400602,-0.68979366,0,0)"/>
|
||||
<path style="fill:#ffffff;opacity:0.1" d="M 4.0996094 3 C 2.9362094 3 2 3.9298178 2 5.0839844 L 2 6.0839844 C 2 4.9298178 2.9362094 4 4.0996094 4 L 27.900391 4 C 29.063791 4 30 4.9298178 30 6.0839844 L 30 5.0839844 C 30 3.9298178 29.063791 3 27.900391 3 L 4.0996094 3 z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
7
tileos_welcome/data/icons/software.svg
Normal file
|
@ -0,0 +1,7 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" version="1">
|
||||
<path fill="#e4e4e4" d="m12 3-2 2v3h-8v18.5c0 0.831 0.669 1.5 1.5 1.5h25c0.831 0 1.5-0.669 1.5-1.5v-18.5h-8v-3l-2-2zm0 2h8v3h-8z"/>
|
||||
<path opacity=".2" d="m12 5v1h8v-1h-8zm-10 21.5v1c0 0.831 0.669 1.5 1.5 1.5h25c0.831 0 1.5-0.669 1.5-1.5v-1c0 0.831-0.669 1.5-1.5 1.5h-25c-0.831 0-1.5-0.669-1.5-1.5z"/>
|
||||
<circle fill="#4ab3e4" cx="24.5" cy="23.5" r="7.5"/>
|
||||
<path fill="#fff" d="m26 18.96v4.04l1.5-0.04-3 4.04-3-4.04h1.5v-4h3zm-5 8.0402h7v1h-7z"/>
|
||||
<path fill-rule="evenodd" opacity=".2" d="m31.979 23.947a7.5 7.5 0 0 1 -7.479 7.053 7.5 7.5 0 0 1 -7.479 -6.947 7.5 7.5 0 0 0 -0.021 0.447 7.5 7.5 0 0 0 7.5 7.5 7.5 7.5 0 0 0 7.5 -7.5 7.5 7.5 0 0 0 -0.021 -0.553z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 748 B |
BIN
tileos_welcome/data/icons/sway.png
Normal file
After Width: | Height: | Size: 9 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
17
tileos_welcome/data/icons/theme.svg
Normal file
|
@ -0,0 +1,17 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" version="1.1">
|
||||
<path fill="#253951" d="m3.3998 29c-0.7756 0-1.4-0.6194-1.4-1.3889v-1.6111h28v1.6111c0 0.7695-0.6244 1.3889-1.4 1.3889z"/>
|
||||
<path fill="#1e88e5" d="m3.4004 4c-0.7756 0-1.4004 0.6192-1.4004 1.3887v20.612h28v-20.611c0-0.7695-0.625-1.3887-1.4-1.3887h-25.2z"/>
|
||||
<path fill="#fff" opacity=".1" d="m3.4002 4c-0.7756 0-1.4004 0.6192-1.4004 1.3887v1c0-0.7695 0.6248-1.3887 1.4004-1.3887h25.2c0.775 0 1.4 0.6192 1.4 1.3887v-1c0-0.7695-0.625-1.3887-1.4-1.3887h-25.2z"/>
|
||||
<rect opacity=".2" width="12" height="8" x="10" y="13" rx=".75" ry=".667"/>
|
||||
<path fill="#fff" d="m10 14v5.334c0 0.369 0.334 0.666 0.75 0.666h10.5c0.416 0 0.75-0.297 0.75-0.666v-5.334h-12z"/>
|
||||
<path fill="#253951" d="m10.75 12h10.5c0.416 0 0.75 0.297 0.75 0.667v1.333h-12v-1.3333c0-0.36933 0.3345-0.66667 0.75-0.66667z"/>
|
||||
<rect opacity=".2" width="3" height="3" x="3" y="18" rx=".375" ry=".375"/>
|
||||
<rect opacity=".2" width="3" height="3" x="3" y="6" rx=".375" ry=".375"/>
|
||||
<rect fill="#fff" width="3" height="3" x="3" y="5" rx=".375" ry=".375"/>
|
||||
<rect opacity=".2" width="3" height="3" x="3" y="10" rx=".375" ry=".375"/>
|
||||
<rect fill="#fff" width="3" height="3" x="3" y="9" rx=".375" ry=".375"/>
|
||||
<rect opacity=".2" width="3" height="3" x="3" y="14" rx=".375" ry=".375"/>
|
||||
<rect fill="#fff" width="3" height="3" x="3" y="13" rx=".375" ry=".375"/>
|
||||
<rect fill="#fff" width="3" height="3" x="3" y="17" rx=".375" ry=".375"/>
|
||||
<path opacity=".2" d="m2 27.611v1c0 0.77 0.6248 1.389 1.4004 1.389h25.2c0.775 0 1.4-0.619 1.4-1.389v-1c0 0.77-0.625 1.389-1.4 1.389h-25.2c-0.7752 0-1.4-0.619-1.4-1.389z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
BIN
tileos_welcome/data/label.png
Normal file
After Width: | Height: | Size: 12 KiB |
12
tileos_welcome/data/resources.qrc
Normal file
|
@ -0,0 +1,12 @@
|
|||
<RCC>
|
||||
<qresource prefix="/icons">
|
||||
<file alias="contrib">icons/contrib.svg</file>
|
||||
<file alias="doc">icons/doc.svg</file>
|
||||
<file alias="exit">icons/exit.svg</file>
|
||||
<file alias="gparted">icons/gparted.svg</file>
|
||||
<file alias="install">icons/install-system.svg</file>
|
||||
<file alias="issue">icons/issue.svg</file>
|
||||
<file alias="telegram">icons/telegram.svg</file>
|
||||
<file alias="web">icons/web.svg</file>
|
||||
</qresource>
|
||||
</RCC>
|
1
tileos_welcome/data/tileos-logo.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg id="svg1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 3500 3500"><defs><style>.cls-1{fill:#939af4;}.cls-2{fill:#7dc4e4;}.cls-3,.cls-4,.cls-6{fill:#6993e8;}.cls-4,.cls-6{isolation:isolate;font-size:459.57px;font-family:ArialMT, Arial;}.cls-4{letter-spacing:-0.04em;}.cls-5{letter-spacing:0em;}</style></defs><path id="path37" class="cls-1" d="M1044.92,1110.65v663.73a105,105,0,0,0,52.51,90.94l574.83,331.88a35,35,0,0,0,52.5-30.31V1503.14a105,105,0,0,0-52.5-90.94l-574.83-331.87a35,35,0,0,0-52.51,30.32Z"/><path id="path37-2" data-name="path37" class="cls-2" d="M2479.78,1114.1a35,35,0,0,0-52.5-30.31l-574.83,331.86a105,105,0,0,0-52.5,90.94v663.75a35,35,0,0,0,52.5,30.32l574.83-331.88a105,105,0,0,0,52.5-90.94V1114.1Z"/><path id="path37-3" data-name="path37" class="cls-3" d="M2390.74,1017.36a35,35,0,0,0,.07-60.63L1816.4,624.14a105,105,0,0,0-105-.13L1136.16,955.18a35,35,0,0,0-.08,60.63l574.43,332.58a105,105,0,0,0,105,.13l575.22-331.16Z"/><text class="cls-4" transform="translate(1020.22 2740.76)">T<tspan class="cls-5" x="263.67" y="0">ile</tspan></text><text class="cls-6" transform="translate(1788.42 2740.76)">OS</text></svg>
|
After Width: | Height: | Size: 1.1 KiB |
7
tileos_welcome/data/tileos-welcome.desktop
Normal file
|
@ -0,0 +1,7 @@
|
|||
[Desktop Entry]
|
||||
Name=TileOS Welcome
|
||||
Exec=/usr/bin/tileos-welcome
|
||||
Icon=tileos-logo.svg
|
||||
Type=Application
|
||||
Terminal=false
|
||||
Categories=Settings;
|
|
@ -22,10 +22,12 @@ import os
|
|||
import signal
|
||||
import sys
|
||||
import subprocess
|
||||
from PyQt6.QtWidgets import (QApplication, QMainWindow)
|
||||
from PyQt6.QtGui import QPixmap
|
||||
from PyQt6.QtCore import Qt
|
||||
from pathlib import Path
|
||||
from PyQt6.QtWidgets import (QApplication, QMainWindow, QDialog)
|
||||
from PyQt6.QtGui import QPixmap, QIcon
|
||||
from PyQt6.QtCore import Qt, QDir
|
||||
from tileos_welcome.ui_mainwindow import Ui_MainWindow
|
||||
from tileos_welcome.ui_warning import Ui_WarningMessage
|
||||
|
||||
def get_config_home():
|
||||
config_home = os.getenv('XDG_CONFIG_HOME') if os.getenv('XDG_CONFIG_HOME') else os.path.join(
|
||||
|
@ -35,8 +37,9 @@ def get_config_home():
|
|||
dir_name = os.path.dirname(__file__)
|
||||
config_home = get_config_home()
|
||||
user = os.getlogin()
|
||||
desktop_file = os.path.join(dir_name, "resources/tileos-welcome.desktop")
|
||||
desktop_file = os.path.join(dir_name, "data/tileos-welcome.desktop")
|
||||
autostart_dir = os.path.join(config_home, "autostart/")
|
||||
icons = os.path.join(dir_name, "data/icons")
|
||||
autostart_desktop_file = os.path.join(config_home, autostart_dir, "tileos-welcome.desktop")
|
||||
|
||||
class MainWindow(QMainWindow):
|
||||
|
@ -45,8 +48,11 @@ class MainWindow(QMainWindow):
|
|||
self.ui = Ui_MainWindow()
|
||||
self.ui.setupUi(self)
|
||||
|
||||
# Icons for buttons
|
||||
QDir.addSearchPath("icons", icons)
|
||||
|
||||
# Background
|
||||
page_label = os.path.join(dir_name, "resources/label.png")
|
||||
page_label = os.path.join(dir_name, "data/label.png")
|
||||
page_pixmap = QPixmap(page_label).scaled(600, 300, Qt.AspectRatioMode.KeepAspectRatio)
|
||||
self.ui.logo.setPixmap(page_pixmap)
|
||||
self.ui.logo2.setPixmap(page_pixmap)
|
||||
|
@ -58,36 +64,67 @@ class MainWindow(QMainWindow):
|
|||
# Detect running compositor and adapt Wiki button text to it
|
||||
if os.getenv("SWAYSOCK"):
|
||||
self.ui.btnWiki.setText("Sway Wiki")
|
||||
self.ui.btnWiki.setIcon(QIcon("icons:sway.png"))
|
||||
|
||||
# Page 1
|
||||
self.ui.btnInstall.clicked.connect(self.on_clicked_install)
|
||||
self.ui.btnInstall.setIcon(QIcon("icons:install-system.svg"))
|
||||
self.ui.btnGprd.clicked.connect(self.on_clicked_partition)
|
||||
self.ui.btnGprd.setIcon(QIcon("icons:gparted.svg"))
|
||||
self.ui.btnWebsite.clicked.connect(self.on_clicked_website)
|
||||
self.ui.btnWebsite.setIcon(QIcon("icons:web.svg"))
|
||||
self.ui.btnIssue.clicked.connect(self.on_clicked_tracker)
|
||||
self.ui.btnIssue.setIcon(QIcon("icons:issue.svg"))
|
||||
self.ui.btnContrib.clicked.connect(self.on_clicked_contribute)
|
||||
self.ui.btnContrib.setIcon(QIcon("icons:contrib.svg"))
|
||||
self.ui.btnTelegram.clicked.connect(self.on_clicked_telegram)
|
||||
self.ui.btnTelegram.setIcon(QIcon("icons:telegram.svg"))
|
||||
self.ui.btnNext.clicked.connect(self.on_page_switch)
|
||||
self.ui.btnNext.setIcon(QIcon.fromTheme("go-next"))
|
||||
self.ui.btnQuit.clicked.connect(self.exitApp)
|
||||
self.ui.btnQuit.setIcon(QIcon("icons:exit.svg"))
|
||||
|
||||
# Page 2
|
||||
self.ui.btnGTK.clicked.connect(self.on_clicked_gtk_theme)
|
||||
self.ui.btnGTK.setIcon(QIcon("icons:gtk-theme.svg"))
|
||||
self.ui.btnKvantum.clicked.connect(self.on_clicked_qt_theme)
|
||||
self.ui.btnKvantum.setIcon(QIcon("icons:theme.svg"))
|
||||
self.ui.btnDisplay.clicked.connect(self.on_clicked_display_settings)
|
||||
self.ui.btnDisplay.setIcon(QIcon("icons:display.svg"))
|
||||
self.ui.btnShell.setIcon(QIcon("icons:shell.svg"))
|
||||
self.ui.btnInput.clicked.connect(self.on_clicked_input_settings)
|
||||
self.ui.btnInput.setIcon(QIcon("icons:input.svg"))
|
||||
self.ui.btnSoftware.setIcon(QIcon("icons:software.svg"))
|
||||
self.ui.btnPrev.clicked.connect(self.on_page_switch)
|
||||
self.ui.btnPrev.setIcon(QIcon.fromTheme("go-previous"))
|
||||
self.ui.btnExit.clicked.connect(self.exitApp)
|
||||
self.ui.btnExit.setIcon(QIcon("icons:exit.svg"))
|
||||
|
||||
def on_clicked_install(self):
|
||||
self.msg = WarningMessage()
|
||||
self.msg.setWindowTitle("Warning!")
|
||||
self.msg.setModal(True)
|
||||
if Path(f'{"/usr/bin/calamares"}').is_file() and user == "tileos":
|
||||
subprocess.run("/usr/bin/install-tileos")
|
||||
else:
|
||||
self.msg.show()
|
||||
|
||||
def on_clicked_partition(self):
|
||||
subprocess.run("xhost +si:localuser:root && pkexec /usr/sbin/gparted && xhost -si:localuser:root &", shell=True)
|
||||
|
||||
def on_clicked_website(self):
|
||||
subprocess.run("xdg-open", "https://tile-os.com")
|
||||
subprocess.run(["xdg-open", "https://tile-os.com"])
|
||||
|
||||
# TODO documentation link
|
||||
|
||||
def on_clicked_tracker(self):
|
||||
subprocess.run("xdg-open", "https://gitlab.com/tile-os/tileos/-/issues")
|
||||
subprocess.run(["xdg-open", "https://gitlab.com/tile-os/tileos/-/issues"])
|
||||
|
||||
def on_clicked_contribute(self):
|
||||
subprocess.run("xdg-open", "https://gitlab.com/tile-os")
|
||||
subprocess.run(["xdg-open", "https://gitlab.com/tile-os"])
|
||||
|
||||
def on_clicked_telegram(self):
|
||||
subprocess.run("xdg-open", "https://t.me/tile_os")
|
||||
subprocess.run(["xdg-open", "https://t.me/tile_os"])
|
||||
|
||||
def on_clicked_gtk_theme(self):
|
||||
subprocess.run("/usr/bin/nwg-look")
|
||||
|
@ -114,6 +151,13 @@ class MainWindow(QMainWindow):
|
|||
def exitApp(self):
|
||||
self.close()
|
||||
|
||||
|
||||
class WarningMessage(QDialog):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.warningDialog = Ui_WarningMessage()
|
||||
self.warningDialog.setupUi(self)
|
||||
|
||||
def main():
|
||||
app = QApplication(["Welcome to TileOS!"])
|
||||
app.setDesktopFileName("tileos-welcome")
|
||||
|
|
1020
tileos_welcome/resources.py
Normal file
|
@ -74,6 +74,20 @@
|
|||
</item>
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QPushButton" name="btnInstall">
|
||||
<property name="text">
|
||||
<string>Install TileOS</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2" colspan="2">
|
||||
<widget class="QPushButton" name="btnGprd">
|
||||
<property name="text">
|
||||
<string>Disk partitioning</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QPushButton" name="btnWebsite">
|
||||
<property name="text">
|
||||
|
@ -88,27 +102,6 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QPushButton" name="btnInstall">
|
||||
<property name="text">
|
||||
<string>Install TileOS</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="3">
|
||||
<widget class="QPushButton" name="btnNext">
|
||||
<property name="text">
|
||||
<string>Next</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2" colspan="2">
|
||||
<widget class="QPushButton" name="btnGprd">
|
||||
<property name="text">
|
||||
<string>Disk partitioning</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QPushButton" name="btnIssue">
|
||||
<property name="text">
|
||||
|
@ -130,6 +123,13 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QPushButton" name="btnTelegram">
|
||||
<property name="text">
|
||||
<string>Telegram Chat</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QPushButton" name="btnQuit">
|
||||
<property name="text">
|
||||
|
@ -137,10 +137,10 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QPushButton" name="btnTelegram">
|
||||
<item row="2" column="3">
|
||||
<widget class="QPushButton" name="btnNext">
|
||||
<property name="text">
|
||||
<string>Telegram Chat</string>
|
||||
<string>Next</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -277,6 +277,27 @@
|
|||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>btnInstall</tabstop>
|
||||
<tabstop>btnGprd</tabstop>
|
||||
<tabstop>btnWebsite</tabstop>
|
||||
<tabstop>btnDoc</tabstop>
|
||||
<tabstop>btnIssue</tabstop>
|
||||
<tabstop>btnContrib</tabstop>
|
||||
<tabstop>btnWiki</tabstop>
|
||||
<tabstop>btnTelegram</tabstop>
|
||||
<tabstop>btnQuit</tabstop>
|
||||
<tabstop>btnNext</tabstop>
|
||||
<tabstop>btnGTK</tabstop>
|
||||
<tabstop>btnKvantum</tabstop>
|
||||
<tabstop>btnDisplay</tabstop>
|
||||
<tabstop>btnShell</tabstop>
|
||||
<tabstop>btnInput</tabstop>
|
||||
<tabstop>btnSoftware</tabstop>
|
||||
<tabstop>btnPrev</tabstop>
|
||||
<tabstop>btnExit</tabstop>
|
||||
<tabstop>checkAutostart</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
|
73
tileos_welcome/ui/warning.ui
Normal file
|
@ -0,0 +1,73 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>WarningMessage</class>
|
||||
<widget class="QDialog" name="WarningMessage">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>640</width>
|
||||
<height>100</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>640</width>
|
||||
<height>100</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>640</width>
|
||||
<height>100</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Your system is already installed! If you wish to reinstall it, boot from the installation media.</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>accepted()</signal>
|
||||
<receiver>WarningMessage</receiver>
|
||||
<slot>accept()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>319</x>
|
||||
<y>78</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>319</x>
|
||||
<y>49</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
|
@ -45,21 +45,18 @@ class Ui_MainWindow(object):
|
|||
self.verticalLayout_2.addWidget(self.desc)
|
||||
self.gridLayout = QtWidgets.QGridLayout()
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
self.btnInstall = QtWidgets.QPushButton(parent=self.page)
|
||||
self.btnInstall.setObjectName("btnInstall")
|
||||
self.gridLayout.addWidget(self.btnInstall, 0, 0, 1, 2)
|
||||
self.btnGprd = QtWidgets.QPushButton(parent=self.page)
|
||||
self.btnGprd.setObjectName("btnGprd")
|
||||
self.gridLayout.addWidget(self.btnGprd, 0, 2, 1, 2)
|
||||
self.btnWebsite = QtWidgets.QPushButton(parent=self.page)
|
||||
self.btnWebsite.setObjectName("btnWebsite")
|
||||
self.gridLayout.addWidget(self.btnWebsite, 1, 0, 1, 1)
|
||||
self.btnDoc = QtWidgets.QPushButton(parent=self.page)
|
||||
self.btnDoc.setObjectName("btnDoc")
|
||||
self.gridLayout.addWidget(self.btnDoc, 1, 1, 1, 1)
|
||||
self.btnInstall = QtWidgets.QPushButton(parent=self.page)
|
||||
self.btnInstall.setObjectName("btnInstall")
|
||||
self.gridLayout.addWidget(self.btnInstall, 0, 0, 1, 2)
|
||||
self.btnNext = QtWidgets.QPushButton(parent=self.page)
|
||||
self.btnNext.setObjectName("btnNext")
|
||||
self.gridLayout.addWidget(self.btnNext, 2, 3, 1, 1)
|
||||
self.btnGprd = QtWidgets.QPushButton(parent=self.page)
|
||||
self.btnGprd.setObjectName("btnGprd")
|
||||
self.gridLayout.addWidget(self.btnGprd, 0, 2, 1, 2)
|
||||
self.btnIssue = QtWidgets.QPushButton(parent=self.page)
|
||||
self.btnIssue.setObjectName("btnIssue")
|
||||
self.gridLayout.addWidget(self.btnIssue, 1, 2, 1, 1)
|
||||
|
@ -70,12 +67,15 @@ class Ui_MainWindow(object):
|
|||
self.btnWiki.setText("")
|
||||
self.btnWiki.setObjectName("btnWiki")
|
||||
self.gridLayout.addWidget(self.btnWiki, 2, 0, 1, 1)
|
||||
self.btnQuit = QtWidgets.QPushButton(parent=self.page)
|
||||
self.btnQuit.setObjectName("btnQuit")
|
||||
self.gridLayout.addWidget(self.btnQuit, 2, 2, 1, 1)
|
||||
self.btnTelegram = QtWidgets.QPushButton(parent=self.page)
|
||||
self.btnTelegram.setObjectName("btnTelegram")
|
||||
self.gridLayout.addWidget(self.btnTelegram, 2, 1, 1, 1)
|
||||
self.btnQuit = QtWidgets.QPushButton(parent=self.page)
|
||||
self.btnQuit.setObjectName("btnQuit")
|
||||
self.gridLayout.addWidget(self.btnQuit, 2, 2, 1, 1)
|
||||
self.btnNext = QtWidgets.QPushButton(parent=self.page)
|
||||
self.btnNext.setObjectName("btnNext")
|
||||
self.gridLayout.addWidget(self.btnNext, 2, 3, 1, 1)
|
||||
self.verticalLayout_2.addLayout(self.gridLayout)
|
||||
self.verticalLayout_3.addLayout(self.verticalLayout_2)
|
||||
self.stackedWidget.addWidget(self.page)
|
||||
|
@ -138,19 +138,37 @@ class Ui_MainWindow(object):
|
|||
self.retranslateUi(MainWindow)
|
||||
self.stackedWidget.setCurrentIndex(0)
|
||||
QtCore.QMetaObject.connectSlotsByName(MainWindow)
|
||||
MainWindow.setTabOrder(self.btnInstall, self.btnGprd)
|
||||
MainWindow.setTabOrder(self.btnGprd, self.btnWebsite)
|
||||
MainWindow.setTabOrder(self.btnWebsite, self.btnDoc)
|
||||
MainWindow.setTabOrder(self.btnDoc, self.btnIssue)
|
||||
MainWindow.setTabOrder(self.btnIssue, self.btnContrib)
|
||||
MainWindow.setTabOrder(self.btnContrib, self.btnWiki)
|
||||
MainWindow.setTabOrder(self.btnWiki, self.btnTelegram)
|
||||
MainWindow.setTabOrder(self.btnTelegram, self.btnQuit)
|
||||
MainWindow.setTabOrder(self.btnQuit, self.btnNext)
|
||||
MainWindow.setTabOrder(self.btnNext, self.btnGTK)
|
||||
MainWindow.setTabOrder(self.btnGTK, self.btnKvantum)
|
||||
MainWindow.setTabOrder(self.btnKvantum, self.btnDisplay)
|
||||
MainWindow.setTabOrder(self.btnDisplay, self.btnShell)
|
||||
MainWindow.setTabOrder(self.btnShell, self.btnInput)
|
||||
MainWindow.setTabOrder(self.btnInput, self.btnSoftware)
|
||||
MainWindow.setTabOrder(self.btnSoftware, self.btnPrev)
|
||||
MainWindow.setTabOrder(self.btnPrev, self.btnExit)
|
||||
MainWindow.setTabOrder(self.btnExit, self.checkAutostart)
|
||||
|
||||
def retranslateUi(self, MainWindow):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
self.desc.setText(_translate("MainWindow", "Want to learn more about the project? Please find the links below!"))
|
||||
self.btnInstall.setText(_translate("MainWindow", "Install TileOS"))
|
||||
self.btnGprd.setText(_translate("MainWindow", "Disk partitioning"))
|
||||
self.btnWebsite.setText(_translate("MainWindow", "Website"))
|
||||
self.btnDoc.setText(_translate("MainWindow", "Documentation"))
|
||||
self.btnInstall.setText(_translate("MainWindow", "Install TileOS"))
|
||||
self.btnNext.setText(_translate("MainWindow", "Next"))
|
||||
self.btnGprd.setText(_translate("MainWindow", "Disk partitioning"))
|
||||
self.btnIssue.setText(_translate("MainWindow", "Issue Tracker"))
|
||||
self.btnContrib.setText(_translate("MainWindow", "Contribute"))
|
||||
self.btnQuit.setText(_translate("MainWindow", "Quit"))
|
||||
self.btnTelegram.setText(_translate("MainWindow", "Telegram Chat"))
|
||||
self.btnQuit.setText(_translate("MainWindow", "Quit"))
|
||||
self.btnNext.setText(_translate("MainWindow", "Next"))
|
||||
self.desc2.setText(_translate("MainWindow", "Advanced options"))
|
||||
self.btnSoftware.setText(_translate("MainWindow", "Install Software"))
|
||||
self.btnPrev.setText(_translate("MainWindow", "Previous"))
|
||||
|
|
41
tileos_welcome/ui_warning.py
Normal file
|
@ -0,0 +1,41 @@
|
|||
# Form implementation generated from reading ui file 'tileos_welcome/ui/warning.ui'
|
||||
#
|
||||
# Created by: PyQt6 UI code generator 6.4.2
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic6 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt6 import QtCore, QtGui, QtWidgets
|
||||
|
||||
|
||||
class Ui_WarningMessage(object):
|
||||
def setupUi(self, WarningMessage):
|
||||
WarningMessage.setObjectName("WarningMessage")
|
||||
WarningMessage.resize(640, 100)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(WarningMessage.sizePolicy().hasHeightForWidth())
|
||||
WarningMessage.setSizePolicy(sizePolicy)
|
||||
WarningMessage.setMinimumSize(QtCore.QSize(640, 100))
|
||||
WarningMessage.setMaximumSize(QtCore.QSize(640, 100))
|
||||
WarningMessage.setWindowTitle("")
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout(WarningMessage)
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.label = QtWidgets.QLabel(parent=WarningMessage)
|
||||
self.label.setWordWrap(True)
|
||||
self.label.setObjectName("label")
|
||||
self.verticalLayout.addWidget(self.label)
|
||||
self.buttonBox = QtWidgets.QDialogButtonBox(parent=WarningMessage)
|
||||
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Ok)
|
||||
self.buttonBox.setObjectName("buttonBox")
|
||||
self.verticalLayout.addWidget(self.buttonBox)
|
||||
|
||||
self.retranslateUi(WarningMessage)
|
||||
self.buttonBox.accepted.connect(WarningMessage.accept) # type: ignore
|
||||
QtCore.QMetaObject.connectSlotsByName(WarningMessage)
|
||||
|
||||
def retranslateUi(self, WarningMessage):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
self.label.setText(_translate("WarningMessage", "Your system is already installed! If you wish to reinstall it, boot from the installation media."))
|