version1 #24

Merged
sohrab merged 3 commits from refactor into main 2023-08-19 04:50:04 -04:00
16 changed files with 266 additions and 1532 deletions

2
.gitignore vendored
View file

@ -2,3 +2,5 @@ venv
.idea .idea
__pycache__ __pycache__
*.tar.* *.tar.*
parch-welcome-bin
.vscode

View file

@ -1,18 +0,0 @@
#!/usr/bin/python
import os,subprocess
# Jump to Src
os.chdir("src/")
# Create Qrc file
listrc = os.listdir('UI')
listrc.remove('res.qrc')
f = open('UI/res.qrc', 'w')
f.write("""<RCC><qresource prefix="/">""")
for i in listrc:
f.write(f"<file>{i}</file>")
f.write("""</qresource></RCC>""")
f.close()
# Compile Qrc & Create onefile script & Build Parch Package
subprocess.run("""rcc -g python UI/res.qrc -o Res.py && sed -i 's/PySide2/PyQt6/g' Res.py && echo "#!/usr/bin/python" > Welcome && cat Res.py >> Welcome && cat Welcome.py >> Welcome && chmod +x Welcome && cp Welcome ../build/parch-welcome/usr/bin/ && cd ../build && chmod +x parch-welcome/usr/bin/* && tar -czvf parch-welcome.tar.gz parch-welcome/ && makepkg -f && cd .. && rm -rf build/pkg build/src build/*.tar.gz && rm -rf src/Welcome""",shell=True)

View file

@ -1,18 +0,0 @@
#!/usr/bin/python
import os,subprocess
# Jump to Src
os.chdir("src")
# Create Qrc file
listrc = os.listdir('UI')
listrc.remove('res.qrc')
f = open('UI/res.qrc', 'w')
f.write("""<RCC><qresource prefix="/">""")
for i in listrc:
f.write(f"<file>{i}</file>")
f.write("""</qresource></RCC>""")
f.close()
# Compile Qrc & Create onefile script & run it
subprocess.run("""rcc -g python UI/res.qrc -o Res.py && sed -i 's/PySide2/PyQt6/g' Res.py && echo "#!/usr/bin/python" > Welcome && cat Res.py >> Welcome && cat Welcome.py >> Welcome && chmod +x Welcome && ./Welcome && rm Welcome""",shell=True)

View file

@ -6,14 +6,22 @@ Parch dorood (/do-rood/, درود, pronunciation) which is Persian word for "Gre
- Updating Parch repositories - Updating Parch repositories
This program is still on alpha stages and it is not completely ready to use. This program is still on alpha stages and it is not completely ready to use.
## Build Parch Package ## Build the package on Arch machines
for building **Parch Package** from **Welcome** project you should run:
```shell ```shell
python Build.py makepkg -f
``` ```
## Debug & Run from Source ### Install the package
if you want to run project without installing, you should run: - For installing this pacakge run:
```shell ```shell
python Debug.py cd build
sudo pacman -U ./parch-welcome*
```
## Generate Qt Resources (if edited)
if you made a changes in src you can update the `qrc` by running this command:
```shell
cd src
python QrcGenerate.py
``` ```

3
build/.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
*
!.gitignore
!PKGBUILD

View file

@ -1,20 +1,53 @@
pkgname=parch-welcome pkgname=parch-welcome
destname="/"
pkgver=1
pkgrel=0
pkgdesc='Parch dorood (/do-rood/, درود, pronunciation) which is Persian word for "Greetings", is a welcome app in the Parch distribution.'
arch=('x86_64') arch=('x86_64')
url="https://parchlinux.ir" pkgver=r44.91178ea
pkgrel=1
pkgdesc='Parch dorood (/do-rood/, درود, pronunciation) which is Persian word for "Greetings", is a welcome app in the Parch distribution.'
url="https://github.com/parchlinux/${pkgname}"
license=('GPL') license=('GPL')
makedepends=() makedepends=("git")
depends=("python-pyqt6") depends=("qt6-base" "python" "python-pyqt6")
optdepends=() conflicts=("${pkgname}")
conflicts=()
provides=("${pkgname}") provides=("${pkgname}")
options=(!strip !emptydirs) source=("${pkgname}::git+${url}")
source=("${pkgname}.tar.gz") #source=("${pkgname}.tar.gz")
sha256sums=('SKIP') md5sums=('SKIP')
package() { build(){
install -dm755 ${pkgdir}${destname} _src="${srcdir}/${pkgname}/src"
cp -r ${srcdir}/${pkgname}${destname}/* ${pkgdir}${destname} _ui="${_src}/UI"
rcc -g python "${_ui}/res.qrc" -o "${_src}/Res.py"
sed -i 's/PySide2/PyQt6/g' "${_src}/Res.py"
_welcome="${_src}/../${pkgname}-bin"
echo "#!/usr/bin/python" > $_welcome && cat "${_src}/Res.py" >> $_welcome && cat "${_src}/Welcome.py" >> $_welcome
sed -i 's/import Res//g' $_welcome
}
pkgver() {
cd "${srcdir}/${pkgname}"
( set -o pipefail
git describe --long 2>/dev/null | sed 's/\([^-]*-g\)/r\1/;s/-/./g' ||
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
)
}
package() {
# copy license
install -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 "${srcdir}/${pkgname}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
#copy logo
install -Dm644 "${srcdir}/${pkgname}/resources/logo.png" "${pkgdir}/usr/share/icons/${pkgname}.png"
# copy welcome binfile into /bin
install -Dm755 "${srcdir}/${pkgname}/${pkgname}-bin" "${pkgdir}/usr/bin/${pkgname}"
# copy autostart desktop file into autostart dir
install -Dm644 "${srcdir}/${pkgname}/resources/autostart.desktop" "${pkgdir}/etc/xdg/autostart/${pkgname}.desktop"
# copy appliction desktop file into autostart dir
install -Dm644 "${srcdir}/${pkgname}/resources/application.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
} }

File diff suppressed because it is too large Load diff

1
requirements.txt Normal file
View file

@ -0,0 +1 @@
PyQt6

View file

@ -2,7 +2,7 @@
[Desktop Entry] [Desktop Entry]
Name=Welcome Name=Welcome
Name[ir]=درود Name[ir]=درود
Exec=/usr/bin/Welcome Exec=/usr/bin/welcome
Terminal=false Terminal=false
Type=Application Type=Application
Icon=/usr/share/icons/ParchLogo.png Icon=/usr/share/icons/parch-welcome.png

View file

@ -2,7 +2,7 @@
[Desktop Entry] [Desktop Entry]
Name=Welcome Name=Welcome
Name[ir]=درود Name[ir]=درود
Exec=/usr/bin/Welcome Exec=/usr/bin/parch-welcome
Terminal=false Terminal=false
Type=Application Type=Application
Icon=/usr/share/icons/ParchLogo.png Icon=/usr/share/icons/parch-welcome.png

View file

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

20
src/QrcGenerate.py Normal file
View file

@ -0,0 +1,20 @@
#!/usr/bin/python
#!/usr/bin/python
import os, subprocess
# Create Qrc file
listrc = os.listdir("UI")
listrc.remove("res.qrc")
f = open("UI/res.qrc", "w")
f.write("""<RCC><qresource prefix="/">""")
for i in listrc:
f.write(f"<file>{i}</file>")
f.write("""</qresource></RCC>""")
f.close()
# Compile Qrc & Create onefile script & run it
subprocess.run(
"""rcc -g python UI/res.qrc -o Res.py && sed -i 's/PySide2/PyQt6/g' Res.py && echo "#!/usr/bin/python" > Welcome && cat Res.py >> Welcome && cat Welcome.py >> Welcome && chmod +x Welcome && sed -i 's/import Res//g' Welcome && mv Welcome ../build/parch-welcome/usr/bin""",
shell=True,
)

View file

@ -153,6 +153,28 @@ q6\x92\x1c~\x87W\x1d\xb8\xdcr\x9d\xe6\xbf\x0d\xdf\
\x19\x91sh\xfahDz4by\xdd\x88\xe5#\x1a\ \x19\x91sh\xfahDz4by\xdd\x88\xe5#\x1a\
\xb1\xbc\xc5\x88\xe5\xfd\x8c\x88\xae:\xf1\xe5\x1f\xf1\xa9\xfe\ \xb1\xbc\xc5\x88\xe5\xfd\x8c\x88\xae:\xf1\xe5\x1f\xf1\xa9\xfe\
m\x9a\xff\x025\x8d\xde4\ m\x9a\xff\x025\x8d\xde4\
\x00\x00\x017\
<\
svg xmlns=\x22http:\
//www.w3.org/200\
0/svg\x22 class=\x22h-\
5 w-5 ml-2\x22 fill\
=\x22none\x22 viewBox=\
\x220 0 24 24\x22 stro\
ke=\x22currentColor\
\x22 stroke-width=\x22\
2\x22>\x0a \
<pat\
h stroke-linecap\
=\x22round\x22 stroke-\
linejoin=\x22round\x22\
d=\x22M4 16v1a3 3 \
0 003 3h10a3 3 0\
003-3v-1m-4-4l-\
4 4m0 0l-4-4m4 4\
V4\x22></path>\x0a \
\
</svg>\
\x00\x00\x02\xd4\ \x00\x00\x02\xd4\
<\ <\
svg xmlns=\x22http:\ svg xmlns=\x22http:\
@ -201,28 +223,6 @@ ZM2.04 4.326c.32\
.88A7 7 0 1 1 2.\ .88A7 7 0 1 1 2.\
04 4.327Z\x22/>\x0a</s\ 04 4.327Z\x22/>\x0a</s\
vg>\ vg>\
\x00\x00\x017\
<\
svg xmlns=\x22http:\
//www.w3.org/200\
0/svg\x22 class=\x22h-\
5 w-5 ml-2\x22 fill\
=\x22none\x22 viewBox=\
\x220 0 24 24\x22 stro\
ke=\x22currentColor\
\x22 stroke-width=\x22\
2\x22>\x0a \
<pat\
h stroke-linecap\
=\x22round\x22 stroke-\
linejoin=\x22round\x22\
d=\x22M4 16v1a3 3 \
0 003 3h10a3 3 0\
003-3v-1m-4-4l-\
4 4m0 0l-4-4m4 4\
V4\x22></path>\x0a \
\
</svg>\
\x00\x00\x03\x0f\ \x00\x00\x03\x0f\
<\ <\
svg xmlns=\x22http:\ svg xmlns=\x22http:\
@ -895,63 +895,70 @@ c-.778.324-2.334\
.09z\x22></path>\x0a \ .09z\x22></path>\x0a \
\ \
</svg>\ </svg>\
\x00\x00\x03n\ \x00\x00\x03\xdd\
\x00\ \x00\
\x00\x13\xe9x\x9c\xddX\xdfo\xda0\x10~\xcf_a\ \x00\x15~x\x9c\xddX[o\xdb:\x0c~\xf7\xaf\x10\
\xd1\x87n\x12\xcd\x02\xa5\xacE]\xa5\x8eiZ\xa5n\ \xb2\x87\xb5@\xea%i\xdauY\xcf\x80,\xc5p\x0a\
Z\xb7N{v\x12\x93x56\xb2\x9dB;\xf1\xbf\ l\xc3\xae\xd8\xf6(\xdb\x8a\xadSE\x0a$\xb9I7\
\xef\xf2\xc3)\x10'\xa4S\x11\xd3\xee\x01\xe1\xf3q\xfe\ \xf4\xbf\x1f\xca\xb6\x9c\x8be\xc7\x1d\x1ad\x18\x1f\x8a\x8a\
\xee\xbe\xb3\xcf\x86NgBjt\xa3o\x12\x1a\xdc9\ d\xc8O$%R\xa6\xb3\xb9\x90\x1a}\xd4\x1fS\x1a\
tm\xe8\x8e\x05\xd7R0U\xa7w?cM$\xc5\ \xdextc\xe9O\x04\xd7R0U\xc7\xf7\xdfaM\
\xccq.g3F\x03\xac\xa9\xe0?)\x0f\xc5\x1c\xfd\ $\xc5\xcc\xf3\xc6\xf39\xa3!\xd6T\xf0o\x94Gb\
v\x10\xc8\x9c\x86:\x1e\xa13\xcf\xcb\x861\xa1Q\xac\ \x81~y\x08hA#\x9d\x8c\xd0\xe7P\x12\xc2\xfdl\
G\xe8\xa4\x18O\x18\x8e\xd4\x08\x1c\xbb\x1f%\x9e\x12F\ \x95\xf1\x13B\xe3D\x97\x82|\x99I\xa6\x0c\xc7j\x04\
\x94\xca\x7f\xfe\x89r\x9dY\xdcSE}FFH\xcb\ \xbe\xfc7\x12\xcf\x08#J\xe5\x16\xff\xa5<\xd7\xb8\xa5\
\x84d\x1a\x1a\x8e\xd0\x0c\xcb v\xb2a \x98\x90#\ \x8a\x06\x8c\x8c\x90\x96)\xc984\x1a\xa19\x96a\xe2\
\xd4\xd1\x12s\x05z\xc2u'\x9f\xf9F\x02\x8dy\xc4\ e\xcbP0!G\xa8\xa3%\xe6\x0a\xf8\x84\xebN.\
H\x81%\x15\xcc\x83XH\xe5N(c\x99\x1bR\xac\ y'RE\xc6\x92\xe0\x02\x9e!\xcc\xc3DH\xe5O\
\x93\x8a\xc4!M\x00N\xdf+U\xc6\xfb\xc1\x87\x0f^\ )c\x99\x19R\xf81\x14I\x1c\xffB\x1a\xcb\x98h\
\xcf\x1bxg\x85\xef\xcc\x7f\x19\xe5\xaa\x98\x15d\x1ei\ +|\x89\xf0\x92\x02\xc4+\x90\xf9\xdf1\x8f~\x8ca\
\xbeD>\xaa\xb5\xd5bVZ\xc2w\xa7bx+\x04\ }\xef\x95?\x12<\xf3\xf3}\x92`\x1e\x13\xc0\xb6r\
{\x9fh-\xb8e\xc5,)\x81\xe0\xae\x01;\x8f\xa9\ \x96\xa1\x9d\x1e\x19\xb3>\x0e5\xbd%\xc7\x9bBCs\
&\x9dz;%\x12\x19@J;\x8b#\x16\xb9\xea>\ \x09[=\xca\x9d\xf9\xcb\xe3\x0d\xf9\xbd\xb7\xfao\xdb\xe1\
\xb2\xdb\x0a>\x06N\xef\x08\xe4\xdb\xbeh*\x19\x13n\ \x8fv\x0e7d;\xbc\xdf\xd5{_\xc3\xf0\x89\x84\x1a\
\xc0\x84\x22\xaf^[\xad\x96\x15\xed\xd2y\x8ap\xf9\xf4\ <3\xe2\x08k\x08f\x88\xbc\xe6\x95\xd0\x16\xa5\xf1\xa2\
u,X2\xdd\x0c\xd0\xa4(\x80\xdc\x10y\xc5K\xd2\ \xd7+Y\xb6*\xce\xd6x\x12G4\x85h\x0fV,\
\xd6\xac\xae\xa68\x22\x16\x94e\xa4_S\x98\xd7\x22\x12\ \x9b\xdf'WW\xbd~o\xd8{\xd1Y\x85\xe2SY\
\xf6p\x8b2\xed\xf5O+S\xa6dms\x06\x1c|\ z\xebd\xc1\xc8\xdc~\xb19Y\x16\x9dKW\x8by\
\xd0G\xd8\x14\x98\x8d3\x98%\x99\x9b\x13k\x1e\xd6\x13\ \xa9\x09\xff{\x15\xc5/B\xb0\xd7\xa9\xd6\x82;<\x1a\
c\xab\xd6\x0dx\x85\xd3l\xd4\x80\xb32e\xdd\x22\xf5\ \xa2\xa1\xe0\xbe\x05\xbbH\xa8&\x9dz=%R\x19B\
Hn\xc9B[@hP\x83\x93s\x05{\x9fG\x17\ Qw\x96',\xf6\xd5m\xec\xd6\x15|\x02\x07\xed\xa6\
YF\xd15\xe5\xc9\xe2\xfcM\xa1\xab&vKIN\ \x9a\xe4u\xca\xce\x82\x1f2\xa1\xc8\xd1\xb1S\xeb\xbe\xc2\
7\xee\x04O){\x00\xa3\x1f~\xc2uRc5\ \x85T\xbaJk\x22X:\xdb\xde`mn7\xb4\xae\
\xa3\x0b\xc2\xbe\xd3G`\xf3\xd8\xdb)\x13/FE\xb5\ g8&\x0e\x94\xe5N?\x18\x98oE,\xdc\xdb-\
`v\xc2\xc4y\x9a\x9f\xdc\xf5\xbb\xc3\x83c\xff\xb4?\ \x0a\xa4?\xb8\xa8\x88l\xa1\xb8d\x16\x1c\xfc\xa1?\xe1\
\x19\x1e\xae\xf3\x93Z\x5c\x944!\xaa aH\xcc\x08\ \xa6\xc2l\x92\xc1,\x93\xb9-\xa8\xa9pC\xae\xc2\xde\
?\xcawH\x17]\x82\xf5\x91\x8f\x15\x09\xf3\xdf\xa0\x90\ \x82W\x18]]mn\x9c\x15\x91\xf3\x92\xaaG\xf2\x85\
\x825\xf5\x93\xf4H\xef>\x9b\xd8{\x225\xf4\x03v\ ,\xb5\x03\x84\x066\x18\xb9Tp!\xf3\xf8U\x16Q\
\xc9h\xc4\xa7\x10\xe6(\x0b\xc6\xcd\xc6\x16\x06R\xb1\x15\ \xf4\x96\xf2ty\xf9\xac\xe0U\x03\xbb\xa3$\xa7\x10\x1b\
\x03\x80\x81Tn/\x89\xde`\xa7%QC\xc4\x96$\ \x7f\x8ag\x94\xdd\x81\xd2\xd7 \xe5:\xad\xd1\x9a\xd3%\
\x14<\xe9\x18kh_\x14R\xab\x05\xf2\x09\x9aI\xa2\ a\x9f\xe9O\xc8\xe6io\xaf\x99x\xb4TT\x0bf\
\xf5C\x17\x11\xac\x1eRU\xa2\x80\x00\x96\x06\xdaE\x13\ /\x99\xb84\xf1\xc9M\xff\xf3\xf4\xc9ip1\x98\x9e\
\xac4@\x0f\x91\xd2\x18\xfa\x9e\xfb\xdf\xa7\xf6\x9f\xd9l\ ?\xdd\xcc\x8f\xd1xU\xa6\x09Q\x05\x01CbN\xf8\
\xcd\xed\xfc\xefBMeG\xbd;\xa2:N\xfc\x86\xee\ I~B\xbah\x0c\xda'\x01V$\xca\x7f\x83\x22\x0a\
\xed\xff\x82\xcc~\x81[\x15\x18\xfb\xbd\xaaQ\xb5/\xef\ \xda4HM\x9f\xed>8\xb1\xb7Djh\xd2l\xcc\
\x08\xa9\x9e\xb7E\xd9\xdf'J\xb8}\xb6\xc5y\xbcG\ h\xccg\xb0\xcdQ\xb6\x19?[;2`\xc8U\x0c\
\x9cp.\x07B\x86m\xa1\x0e\xf6\x08u\x0agY\xcd\ \x00\x06B\xb9\xbb$\xfa\xc3\xbd\x96DM\x22v\x04\xa1\
\x85\xab\x0a\xf4d\x8f@\x03<i\xcd\xfdp\x8f8\xe7\ \xc8\x93N\xb0\x86\x01\x82Bh\xb5@\x01\x81\xb6G\xb4\
\xc4W`\xda\x16\xea\xdb=B\xf5\x85\xb8k\x8b\xf3t\ \xbe\xeb\x22\x82\xd5\x9daA?\xed\x22f6\xdaES\
\x1b\xce\xddt\x8c~\xf5\x1a\xf9\xdc\x96\xd1\x80\xa4|9\ \xac4@\x8f\x90\xd2\x18&\x0f\xff\xaf\x0f\xed\x1fs\xd8\
\x0e\xbc\xe11\xf1\xeb\xdf\x1c\xc3*\x0c\x83pP\x9d2\ \x9a\xdb\xf9\xefm\xd5\xd0\x9ezwLu\x92\x06\x0d\xdd\
o\xd4\xde\xc9\x0b\xb4\xaa\xe7\x17C\xe3\xfbyU\xd6\x18\ ;\xf8\x0f\x22\xfb\x1e\xe6ZP\x0e\xfaU\xa5j_\xde\
\xa6\x1cn3\x8c\xd9h\xae\xa8\xecmxu\xed\xe6\xa7\ \x13R\xbdh\x8brpH\x940\xff\xb7\xc5yz@\
`\xe9\xa7\x81\x1b#\x86\x82\xea\xdd\xc1\xc8J\xad\xd4\xda\ \x9cp/\x87BFm\xa1\x0e\x0f\x08u\x06wY\xcd\
l-\x1a#\x96hS\xa9\xb9\x5cn\xbao\xd8z\xa9\ \xc0U\x05zv@\xa0!\x9e\xb6\xce\xfd\xf9\x01q.\
\xb4{J\x19)\xae\xa6W91({,l\xf1\xdd\ H\xa0@\xb5-\xd4\xe7\x07\x84\x1a\x08q\xd3\x16\xe7\xc5\
|%4bH2\xb7\xd4\x8d\x12\x5cW\xb7\xfc\xbf \ .\x9c\xfb\xe9\x18\x83\xea\x18\xf9\xd0\x96\xd1\x80\xa4|9\
\x95\xad\x95\x99J\xc1\xa7e\xdb\x18i\xd8Y/\x17A\ \x0e{\xe7\xa7$\xa8\x7fs\x9cWaX\x84\xc3\xaa\xc8\
*mO\xcd\xd2\xb6<9\x8b\xcdR\x7fx\xda\xfeP\ \xbeQ\xfbg\x8f\xd0\xaa\x1e^\x0c\x8d_0\xd6i#\
\xb1\x8f\xf2oKg\xe9\xfc\x01H\x01\xca\xfb\ \xc3\x94\xc34\xc3\x98+\xcd\x15\x96\xbb\x0d\xaf\xfbn~\
\x0a\x96v\x1arc\xc9\xa6\xa0:;XZ\xab\x95Z\
\x9d\x9dEc\xc9\xb1[C5\xc3\xe5\xb6\xf9\x86\xa3g\
\xa8\xddS\xcaR1\x9a^\xe7\x89A\xd9ca\x87\xed\
\xe6\x91\xd0\x92M\x92\x9dR\xb7Jp\x93\xdd\xf2{\x81\
\xa1\x9d\x95i\xa8\xc8\xa7\xe3\xd8Xj8Y\x8f\xb7\x03\
Cmo\xcdR\xb7\xbc9\x8b\xc3R\x7fy\xba>\xa8\
\xb8W\xf6\xcb\xd9\xbd\xf7?M\xbf3h\
\x00\x00\x03\xe8\ \x00\x00\x03\xe8\
<\ <\
svg class=\x22w-6 h\ svg class=\x22w-6 h\
@ -1125,13 +1132,13 @@ qt_resource_name = b"\
\x00c\ \x00c\
\x00a\x00f\x00e\x00.\x00s\x00v\x00g\ \x00a\x00f\x00e\x00.\x00s\x00v\x00g\
\x00\x0b\ \x00\x0b\
\x00_)\x87\
\x00w\
\x00e\x00b\x00s\x00i\x00t\x00e\x00.\x00s\x00v\x00g\
\x00\x0b\
\x08\xcf\xef\x87\ \x08\xcf\xef\x87\
\x00i\ \x00i\
\x00n\x00s\x00t\x00a\x00l\x00l\x00.\x00s\x00v\x00g\ \x00n\x00s\x00t\x00a\x00l\x00l\x00.\x00s\x00v\x00g\
\x00\x0b\
\x00_)\x87\
\x00w\
\x00e\x00b\x00s\x00i\x00t\x00e\x00.\x00s\x00v\x00g\
\x00\x08\ \x00\x08\
\x06^W\xe7\ \x06^W\xe7\
\x00b\ \x00b\
@ -1164,37 +1171,44 @@ qt_resource_name = b"\
qt_resource_struct = b"\ qt_resource_struct = b"\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x0c\x00\x00\x00\x01\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x0c\x00\x00\x00\x01\
\x00\x00\x00\x00\x00\x00\x00\x00\ \x00\x00\x01\x8a\x0c\xde\x84\x00\
\x00\x00\x00H\x00\x00\x00\x00\x00\x01\x00\x00\x08\xd3\ \x00\x00\x00d\x00\x00\x00\x00\x00\x01\x00\x00\x0a\x0e\
\x00\x00\x01\x89\xf8\x14s,\ \x00\x00\x01\x8a\x0c\xde\x84\x00\
\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x01\x00\x00\x05\x12\ \x00\x00\x00\x1c\x00\x00\x00\x00\x00\x01\x00\x00\x05\x12\
\x00\x00\x01\x89\xf8\x14s,\ \x00\x00\x01\x8a\x0c\xde\x84\x00\
\x00\x00\x00\xcc\x00\x01\x00\x00\x00\x01\x00\x006\x80\ \x00\x00\x00\xcc\x00\x01\x00\x00\x00\x01\x00\x006\x80\
\x00\x00\x01\x89\xf8\x14s,\ \x00\x00\x01\x8a\x0c\xde\x84\x00\
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ \x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
\x00\x00\x01\x89\xf8\x14s,\ \x00\x00\x01\x8a\x0c\xde\x84\x00\
\x00\x00\x00\x80\x00\x00\x00\x00\x00\x01\x00\x00\x0c\xe6\ \x00\x00\x00\x80\x00\x00\x00\x00\x00\x01\x00\x00\x0c\xe6\
\x00\x00\x01\x89\xf8\x14s,\ \x00\x00\x01\x8a\x0c\xde\x84\x00\
\x00\x00\x01 \x00\x00\x00\x00\x00\x01\x00\x00@\xc2\ \x00\x00\x01 \x00\x00\x00\x00\x00\x01\x00\x00A1\
\x00\x00\x01\x89\xf8\x14s,\ \x00\x00\x01\x8a\x0c\xde\x84\x00\
\x00\x00\x002\x00\x01\x00\x00\x00\x01\x00\x00\x06V\ \x00\x00\x002\x00\x01\x00\x00\x00\x01\x00\x00\x06V\
\x00\x00\x01\x89\xf8\x14s,\ \x00\x00\x01\x8a\x0c\xde\x84\x00\
\x00\x00\x00d\x00\x00\x00\x00\x00\x01\x00\x00\x0b\xab\ \x00\x00\x00H\x00\x00\x00\x00\x00\x01\x00\x00\x08\xd3\
\x00\x00\x01\x89\xf8\x14s,\ \x00\x00\x01\x8a\x0c\xde\x84\x00\
\x00\x00\x00\x96\x00\x00\x00\x00\x00\x01\x00\x00\x0f\xf9\ \x00\x00\x00\x96\x00\x00\x00\x00\x00\x01\x00\x00\x0f\xf9\
\x00\x00\x01\x89\xf8\x14s,\ \x00\x00\x01\x8a\x0c\xde\x84\x00\
\x00\x00\x00\xee\x00\x00\x00\x00\x00\x01\x00\x009\xf2\ \x00\x00\x00\xee\x00\x00\x00\x00\x00\x01\x00\x00:a\
\x00\x00\x01\x89\xf8\x14s,\ \x00\x00\x01\x8a\x0c\xde\x84\x00\
\x00\x00\x00\xb6\x00\x00\x00\x00\x00\x01\x00\x003c\ \x00\x00\x00\xb6\x00\x00\x00\x00\x00\x01\x00\x003c\
\x00\x00\x01\x89\xf8\x14s,\ \x00\x00\x01\x8a\x0c\xde\x84\x00\
\x00\x00\x01\x06\x00\x00\x00\x00\x00\x01\x00\x00=\xde\ \x00\x00\x01\x06\x00\x00\x00\x00\x00\x01\x00\x00>M\
\x00\x00\x01\x89\xf8\x14s,\ \x00\x00\x01\x8a\x0c\xde\x84\x00\
" "
def qInitResources(): def qInitResources():
QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) QtCore.qRegisterResourceData(
0x03, qt_resource_struct, qt_resource_name, qt_resource_data
)
def qCleanupResources(): def qCleanupResources():
QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) QtCore.qUnregisterResourceData(
0x03, qt_resource_struct, qt_resource_name, qt_resource_data
)
qInitResources() qInitResources()

View file

@ -3,16 +3,36 @@ import QtQuick.Controls
import QtQuick.Controls.Material import QtQuick.Controls.Material
ApplicationWindow { ApplicationWindow {
width: 900 width: Screen.width
height: 500 height: Screen.height
flags: Qt.FramelessWindowHint flags: Qt.FramelessWindowHint
visible: true visible: true
id: parch id: parch
color: "transparent" color: "transparent"
Rectangle { MouseArea {
anchors.fill: parent anchors.fill: parent
drag{ target: parent; axis: Drag.XandYAxis}
onMouseXChanged: {
if(drag.active){
print(parent.x)
}
}
onMouseYChanged: {
if(drag.active)
{
print(parent.y)
}
}
}
Rectangle {
anchors.centerIn: parent
width: 900
height: 500
radius: 20 radius: 20
color: "#DD010409" color: "#DD010409"

View file

@ -1 +1 @@
<RCC><qresource prefix="/"><file>website.svg</file><file>install.svg</file><file>book.svg</file><file>masto.svg</file><file>x-lg.svg</file><file>tele.svg</file><file>ParchLogo.svg</file><file>github.svg</file><file>discord.svg</file><file>ParchLinux.qml</file><file>cafe.svg</file><file>tw.svg</file></qresource></RCC> <RCC><qresource prefix="/"><file>install.svg</file><file>masto.svg</file><file>github.svg</file><file>ParchLinux.qml</file><file>book.svg</file><file>website.svg</file><file>discord.svg</file><file>tw.svg</file><file>x-lg.svg</file><file>tele.svg</file><file>cafe.svg</file><file>ParchLogo.svg</file></qresource></RCC>

View file

@ -12,8 +12,8 @@ import Res
# Simple Qt Quick class for loading QML files # Simple Qt Quick class for loading QML files
class Quick(QQmlApplicationEngine):
class Quick(QQmlApplicationEngine):
# DO: Set property of object # DO: Set property of object
def setProperty(self, name, value): def setProperty(self, name, value):
self.rootObjects()[0].setProperty(name, value) self.rootObjects()[0].setProperty(name, value)
@ -36,7 +36,6 @@ class Quick(QQmlApplicationEngine):
# Main Class of Parch Welcome Project # Main Class of Parch Welcome Project
class Main(Quick): class Main(Quick):
# DO: Button 1 loading link: https://github.com/parchlinux # DO: Button 1 loading link: https://github.com/parchlinux
def b1_(self): def b1_(self):
self.link("https://github.com/parchlinux") self.link("https://github.com/parchlinux")
@ -72,12 +71,12 @@ class Main(Quick):
# DO: Run Calamares Installer # DO: Run Calamares Installer
def install_(self): def install_(self):
self.close() self.close()
subprocess.run('sudo sh /etc/calamares/launch.sh',shell=True) subprocess.Popen("sudo sh /etc/calamares/launch.sh", shell=True)
# DO: Loading link in `xdg-open` function # DO: Loading link in `xdg-open` function
def link(self,url): async def link(self, url):
self.close() self.close()
subprocess.run(f'xdg-open {url}',shell=True) await subprocess.Popen(f"xdg-open {url}", shell=True)
# DO: Init Function # DO: Init Function
def __init__(self): def __init__(self):
@ -86,7 +85,6 @@ class Main(Quick):
# Load Main QML file # Load Main QML file
self.load(":/ParchLinux.qml") self.load(":/ParchLinux.qml")
self.b1 = self.findChild("b1") # Find Button 1 self.b1 = self.findChild("b1") # Find Button 1
self.b1.clicked.connect(self.b1_) # Action: Connect Button 1 action to b1_ self.b1.clicked.connect(self.b1_) # Action: Connect Button 1 action to b1_
@ -111,18 +109,18 @@ class Main(Quick):
self.b8 = self.findChild("b8") # Find Button 8 self.b8 = self.findChild("b8") # Find Button 8
self.b8.clicked.connect(self.b8_) # Action: Connect Button 8 action to b8_ self.b8.clicked.connect(self.b8_) # Action: Connect Button 8 action to b8_
self.install = self.findChild('install') # Find Install Button self.install = self.findChild("install") # Find Install Button
self.install.clicked.connect(self.install_) # Action: Connect to install_ function self.install.clicked.connect(
self.install_
) # Action: Connect to install_ function
# Start Qt Qui Application loop if __name__ == "__main__":
app = QGuiApplication([]) # Start Qt Qui Application loop
app = QGuiApplication([])
# Set Qt Window Icon # Set Qt Window Icon
app.setWindowIcon(QIcon(":/ParchLogo.svg")) app.setWindowIcon(QIcon(":/ParchLogo.svg"))
# Loading Main Class
# Loading Main Class m = Main()
m = Main() # Set loop exec
app.exec()
# Set loop exec
app.exec()