Initial PyQt5 rewrite of mambabase
This commit is contained in:
parent
ab47acc57c
commit
8b9fd9e648
118
mambabase/FinishPage.ui
Normal file
118
mambabase/FinishPage.ui
Normal file
@ -0,0 +1,118 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>Form</class>
|
||||
<widget class="QWidget" name="Form">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>552</width>
|
||||
<height>392</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="verticalLayoutWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>551</width>
|
||||
<height>391</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QFrame" name="frame_2">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgb(239, 240, 241);
|
||||
background-color: rgb(255, 255, 255);</string>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>10</y>
|
||||
<width>511</width>
|
||||
<height>31</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p align="center"><span style=" font-size:14pt; font-weight:600;">Installation completed.</span></p></body></html></string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="progressLabel">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>26</x>
|
||||
<y>130</y>
|
||||
<width>501</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QFrame" name="installationDetails">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>100</y>
|
||||
<width>511</width>
|
||||
<height>271</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>40</y>
|
||||
<width>511</width>
|
||||
<height>51</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p>If you ran into problems, please check the installation log below for warnings or errors and send the report to the openmamba community at <a href="https://openmamba.org"><span style=" text-decoration: underline; color:#2980b9;">openmamba.org</span></a>.</p></body></html></string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
125
mambabase/InstallationPage.ui
Normal file
125
mambabase/InstallationPage.ui
Normal file
@ -0,0 +1,125 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>Form</class>
|
||||
<widget class="QWidget" name="Form">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>552</width>
|
||||
<height>392</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="verticalLayoutWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>551</width>
|
||||
<height>391</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QFrame" name="frame_2">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgb(239, 240, 241);
|
||||
background-color: rgb(255, 255, 255);</string>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>10</y>
|
||||
<width>531</width>
|
||||
<height>31</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p align="center"><span style=" font-size:14pt; font-weight:600;">Installation in progress...</span></p></body></html></string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QProgressBar" name="progressBar">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>70</y>
|
||||
<width>511</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>0</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="progressLabel">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>120</y>
|
||||
<width>511</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QFrame" name="progressFrame">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>170</y>
|
||||
<width>511</width>
|
||||
<height>201</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<widget class="QTextBrowser" name="progressDetails">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>10</y>
|
||||
<width>491</width>
|
||||
<height>181</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
274
mambabase/SelectExtraPage.ui
Normal file
274
mambabase/SelectExtraPage.ui
Normal file
@ -0,0 +1,274 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>Form</class>
|
||||
<widget class="QWidget" name="Form">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>552</width>
|
||||
<height>392</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="verticalLayoutWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>551</width>
|
||||
<height>391</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QFrame" name="frame_2">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgb(239, 240, 241);
|
||||
background-color: rgb(255, 255, 255);</string>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>10</y>
|
||||
<width>511</width>
|
||||
<height>31</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p><span style=" font-weight:600;">Please, select from the boxes below the components that you want to install or update from network.</span></p></body></html></string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>50</y>
|
||||
<width>531</width>
|
||||
<height>331</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgb(239, 240, 241);</string>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Proprietary software installatios/updates</string>
|
||||
</property>
|
||||
<widget class="QCheckBox" name="inst_nvidia">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>30</y>
|
||||
<width>491</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>NVIDIA proprietary video driver /autodetected) from openmamba.org</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="inst_fglrx">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>50</y>
|
||||
<width>491</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>AMD/ATI proprietary video driver from openmamba.org</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="inst_fglrx_legacy">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>70</y>
|
||||
<width>491</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>AMD/ATI proprietary video driver (legacy) from openmamba.org</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="inst_broadcom_sta">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>90</y>
|
||||
<width>491</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Broadcom-sta proprietary wireless driver from openmamba.org</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="inst_b43">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>110</y>
|
||||
<width>491</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Broadcom B43 proprietary firmarwe from openwrt.org</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="inst_flash">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>130</y>
|
||||
<width>491</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Flash plugin from adobe.com</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="inst_msttcf">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>170</y>
|
||||
<width>491</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>MS TrueType core fonts from sourceforge</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="inst_codecs">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>190</y>
|
||||
<width>491</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Win32 codecs from mplayerhq.hu</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="inst_java">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>210</y>
|
||||
<width>491</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Oracle Java from oracle.com</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="inst_pepperflash">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>150</y>
|
||||
<width>491</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Pepper-Flash plugin for chromium from google.com</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="inst_skype">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>230</y>
|
||||
<width>491</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Skype from skype.com</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="inst_spotify">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>250</y>
|
||||
<width>491</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Spotify from spotify.com</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="inst_virtualbox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>270</y>
|
||||
<width>491</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>VirtualBox extension pack from virtualbox.org</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="inst_widevine">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>290</y>
|
||||
<width>491</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Widevine extension from google.com</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
222
mambabase/SelectGroupsPage.ui
Normal file
222
mambabase/SelectGroupsPage.ui
Normal file
@ -0,0 +1,222 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>Form</class>
|
||||
<widget class="QWidget" name="Form">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>552</width>
|
||||
<height>392</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="verticalLayoutWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>551</width>
|
||||
<height>391</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QFrame" name="frame_2">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgb(239, 240, 241);
|
||||
background-color: rgb(255, 255, 255);</string>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>10</y>
|
||||
<width>511</width>
|
||||
<height>31</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p><span style=" font-weight:600;">Please, select from the boxes below the components that you want to install or update from network.</span></p></body></html></string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>50</y>
|
||||
<width>531</width>
|
||||
<height>331</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgb(239, 240, 241);</string>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>openmamba installations/updates</string>
|
||||
</property>
|
||||
<widget class="QCheckBox" name="inst_base">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>30</y>
|
||||
<width>491</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>System base packages (recommended)</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="inst_office">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>60</y>
|
||||
<width>491</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Office packages (OpenOffice, ...)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="inst_players">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>90</y>
|
||||
<width>491</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Audio and Video players (VLC, kaffeine, ...)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="inst_multimedia_editing">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>120</y>
|
||||
<width>491</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Multimedia editing and production (kino, audacity, rosegarden, mixxx, ...)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="inst_internet">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>150</y>
|
||||
<width>491</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Internet communication and p2p</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="inst_graphics">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>180</y>
|
||||
<width>491</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Graphics software (gimp, digikam, blender, krita)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="inst_virtualization">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>240</y>
|
||||
<width>491</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Emulation and virtualization (VirtualBox, wine)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="inst_server">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>270</y>
|
||||
<width>491</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Base server packages (Apache, PHP, MariaDB, ...)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="inst_devel">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>300</y>
|
||||
<width>491</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Base development packages (gcc, glibc-devel, kernel headers, ...)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="inst_games">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>210</y>
|
||||
<width>491</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Games (tuxracer, pingus, ksudoku, ...)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
167
mambabase/WelcomePage.ui
Normal file
167
mambabase/WelcomePage.ui
Normal file
@ -0,0 +1,167 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>Form</class>
|
||||
<widget class="QWidget" name="Form">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>552</width>
|
||||
<height>380</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="verticalLayoutWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>551</width>
|
||||
<height>381</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QFrame" name="frame">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>160</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgb(255, 255, 255);</string>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Box</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>10</y>
|
||||
<width>491</width>
|
||||
<height>61</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap>openmamba.png</pixmap>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QWidget" name="horizontalLayoutWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>80</y>
|
||||
<width>511</width>
|
||||
<height>72</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string><html><head/><body><p><span style=" font-style:italic;">Copyright (c) 2007-2019 by Silvan Calarco<br/>Released under the terms of the GNU GPL v3 license</span></p></body></html></string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string><html><head/><body><p><a href="https://openmamba.org"><span style=" text-decoration: underline; color:#2980b9;">openmamba.org</span></a></p></body></html></string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QFrame" name="frame_2">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgb(239, 240, 241);</string>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>10</y>
|
||||
<width>511</width>
|
||||
<height>81</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p>This program will complete the installation by adding the minimum recommended set of packages to the system. Additionally it will let you install, upon selection, macro-group of packages and proprietary software components.</p><p><span style=" font-weight:600;">TIP</span>: you may run this program later from the <span style=" font-style:italic;">openmamba control center</span> on the tray icon bar.</p></body></html></string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>180</y>
|
||||
<width>321</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p><span style=" font-weight:600;">Please, press the Next button to continue.</span></p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
28
mambabase/mambabase-pkggroups-parser.sh
Executable file
28
mambabase/mambabase-pkggroups-parser.sh
Executable file
@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
. /usr/share/openmamba/pkggroups.db
|
||||
|
||||
echo kernel_mamba=$KERNEL_MAMBA_PKGS
|
||||
echo kernel_mamba_64gb=$KERNEL_MAMBA_64GB_PKGS
|
||||
echo kernel_mamba_x86_64=$KERNEL_MAMBA_X86_64_PKGS
|
||||
echo kernel_mamba_arm=$KERNEL_MAMBA_ARM_PKGS
|
||||
echo base=$BASE_PKGS
|
||||
echo base_extras=$BASE_PKGS_EXTRAS
|
||||
echo office=$OFFICE_PKGS
|
||||
echo office_extras=$OFFICE_EXTRA_PKGS
|
||||
echo multimedia_players=$MULTIMEDIA_PLAYERS_PKGS
|
||||
echo multimedia_players_extras=$MULTIMEDIA_PLAYERS_EXTRA_PKGS
|
||||
echo multimedia_editing=$MULTIMEDIA_EDITING_PKGS
|
||||
echo multimedia_editing_extras=$MULTIMEDIA_EDITING_EXTRA_PKGS
|
||||
echo audio=$AUDIO_PKGS
|
||||
echo audio_prof=$AUDIO_PROF_PKGS
|
||||
echo video=$VIDEO_PKGS
|
||||
echo internet=$INTERNET_PKGS
|
||||
echo internet_extra=$INTERNET_EXTRA_PKGS
|
||||
echo graphics=$GRAPHICS_PKGS
|
||||
echo graphics_extras=$GRAPHICS_EXTRA_PKGS
|
||||
echo scientific=$SCIENTIFIC_PKGS
|
||||
echo games=$GAMES_PKGS
|
||||
echo games_extra=$GAMES_EXTRA_PKGS
|
||||
echo virtualization=$VIRTUALIZATION_PKGS
|
||||
echo server=$SERVER_PKGS
|
||||
echo devel=$DEVEL_PKGS
|
255
mambabase/mambabase.py
Executable file
255
mambabase/mambabase.py
Executable file
@ -0,0 +1,255 @@
|
||||
#!/usr/bin/env python3
|
||||
# Copyright (c) 2019 by Silvan Calarco <silvan.calarco@mambasoft.it>
|
||||
# Release under the terms of the GPL version 3 license
|
||||
|
||||
from PyQt5 import QtCore
|
||||
from PyQt5 import QtGui
|
||||
from PyQt5.QtCore import pyqtProperty
|
||||
from PyQt5 import QtCore, QtWidgets
|
||||
from PyQt5 import QtWidgets, uic
|
||||
from pathlib import Path
|
||||
import gettext
|
||||
import subprocess
|
||||
import os
|
||||
|
||||
import gi
|
||||
gi.require_version('PackageKitGlib', '1.0')
|
||||
from gi.repository import PackageKitGlib as packagekit
|
||||
|
||||
|
||||
class InstallThread(QtCore.QThread):
|
||||
parent = None
|
||||
doneSignal = QtCore.pyqtSignal()
|
||||
updateProgressSignal = QtCore.pyqtSignal(dict)
|
||||
pkggroups = {}
|
||||
|
||||
def __init__(self, parent=None):
|
||||
super(InstallThread, self).__init__(parent)
|
||||
self.parent = parent
|
||||
self.doneSignal.connect(parent.installationPage.completeChanged)
|
||||
self.updateProgressSignal.connect(
|
||||
parent.installationPage.updateProgressSlot)
|
||||
# Load packages group db into a dict
|
||||
result = subprocess.run(['/usr/libexec/mambabase-pkggroups-parser.sh'],
|
||||
stdout=subprocess.PIPE)
|
||||
lines = result.stdout.decode('UTF-8').splitlines()
|
||||
for line in lines:
|
||||
if line:
|
||||
(key, val) = line.split("=")
|
||||
self.pkggroups[key] = val
|
||||
|
||||
def run(self):
|
||||
install = {}
|
||||
parent = self.parent
|
||||
|
||||
# Disable back and next buttons
|
||||
parent.installationPage.done = False
|
||||
self.doneSignal.emit()
|
||||
self.updateProgressSignal.emit(
|
||||
{ 'value': 1, 'label': _("Starting installation...")})
|
||||
|
||||
# Groups
|
||||
install['base'] = \
|
||||
parent.selectGroupsPage.inst_base.isChecked()
|
||||
install['office'] = \
|
||||
parent.selectGroupsPage.inst_office.isChecked()
|
||||
install['players'] = \
|
||||
parent.selectGroupsPage.inst_players.isChecked()
|
||||
install['multimedia_editing'] = \
|
||||
parent.selectGroupsPage.inst_multimedia_editing.isChecked()
|
||||
install['internet'] = \
|
||||
parent.selectGroupsPage.inst_internet.isChecked()
|
||||
install['graphics'] = \
|
||||
parent.selectGroupsPage.inst_graphics.isChecked()
|
||||
install['games'] = \
|
||||
parent.selectGroupsPage.inst_games.isChecked()
|
||||
install['virtualization'] = \
|
||||
parent.selectGroupsPage.inst_virtualization.isChecked()
|
||||
install['server'] = \
|
||||
parent.selectGroupsPage.inst_server.isChecked()
|
||||
install['devel'] = \
|
||||
parent.selectGroupsPage.inst_devel.isChecked()
|
||||
# Extra proprietary
|
||||
install['nvidia'] = \
|
||||
parent.selectExtraPage.inst_nvidia.isChecked()
|
||||
install['fglrx'] = \
|
||||
parent.selectExtraPage.inst_fglrx.isChecked()
|
||||
install['fglrx_legacy'] = \
|
||||
parent.selectExtraPage.inst_fglrx_legacy.isChecked()
|
||||
install['broadcom_sta'] = \
|
||||
parent.selectExtraPage.inst_broadcom_sta.isChecked()
|
||||
install['b43'] = \
|
||||
parent.selectExtraPage.inst_b43.isChecked()
|
||||
install['flash'] = \
|
||||
parent.selectExtraPage.inst_flash.isChecked()
|
||||
install['pepperflash'] = \
|
||||
parent.selectExtraPage.inst_pepperflash.isChecked()
|
||||
install['msttcf'] = \
|
||||
parent.selectExtraPage.inst_msttcf.isChecked()
|
||||
install['codecs'] = \
|
||||
parent.selectExtraPage.inst_codecs.isChecked()
|
||||
install['java'] = \
|
||||
parent.selectExtraPage.inst_java.isChecked()
|
||||
install['skype'] = \
|
||||
parent.selectExtraPage.inst_skype.isChecked()
|
||||
install['spotify'] = \
|
||||
parent.selectExtraPage.inst_spotify.isChecked()
|
||||
install['virtualbox'] = \
|
||||
parent.selectExtraPage.inst_virtualbox.isChecked()
|
||||
install['widevine'] = \
|
||||
parent.selectExtraPage.inst_widevine.isChecked()
|
||||
|
||||
# Update packages list
|
||||
self.updateProgressSignal.emit({ 'value': 5,
|
||||
'label': _("Updating packages list...")})
|
||||
|
||||
result = subprocess.run(['pkcon', 'refresh', 'force'],
|
||||
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
if result.returncode == 0:
|
||||
if result.stdout:
|
||||
self.updateProgressSignal.emit({
|
||||
'details': result.stdout.decode('UTF-8')})
|
||||
else:
|
||||
if result.stderr:
|
||||
self.updateProgressSignal.emit({
|
||||
'details': result.stderr.decode('UTF-8')})
|
||||
|
||||
# Perform system update
|
||||
self.updateProgressSignal.emit({ 'value': 10,
|
||||
'label': _("Updating installed packages...")})
|
||||
|
||||
result = subprocess.run(['pkcon', 'update'],
|
||||
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
if result.returncode == 0:
|
||||
if result.stdout:
|
||||
self.updateProgressSignal.emit({
|
||||
'details': result.stdout.decode('UTF-8')})
|
||||
else:
|
||||
if result.stderr:
|
||||
self.updateProgressSignal.emit({
|
||||
'details': result.stderr.decode('UTF-8')})
|
||||
|
||||
self.updateProgressSignal.emit({ 'value': 20 })
|
||||
|
||||
# Install requested packages
|
||||
arch = os.uname()[4]
|
||||
if arch == 'i686':
|
||||
arch = 'i586'
|
||||
elif arch[:3] == 'arm':
|
||||
arch = 'arm'
|
||||
client = packagekit.Client()
|
||||
for inst in install:
|
||||
if install[inst]:
|
||||
parent.installationPage.progressLabel.setText(
|
||||
_("Installing %s packages..." % inst))
|
||||
for p in self.pkggroups[inst].split():
|
||||
result =client.resolve(0, (p,), None,
|
||||
self.packagekit_progress_cb, None)
|
||||
pkgs = result.get_package_array()
|
||||
for p in pkgs:
|
||||
if 'installed' in p.get_data().split(':'):
|
||||
break
|
||||
if p.get_arch() != arch:
|
||||
continue
|
||||
packageid = p.get_name() + ';' + p.get_version() + ';' \
|
||||
+ p.get_arch() + ';' + p.get_data()
|
||||
client.install_packages(False, (packageid, ), None,
|
||||
self.packagekit_progress_cb, p.get_name())
|
||||
|
||||
self.updateProgressSignal.emit({ 'value': 100,
|
||||
'label': _("Installation finished!")})
|
||||
|
||||
# Enable back and next buttons
|
||||
parent.installationPage.done = True
|
||||
self.doneSignal.emit()
|
||||
|
||||
def packagekit_progress_cb(self, status, typ, data=None):
|
||||
if status.get_property('package'):
|
||||
self.updateProgressSignal.emit({
|
||||
'label': _("Installing %s package (%s)..." %
|
||||
(status.get_property('package').get_name(),
|
||||
str(status.get_percentage())))})
|
||||
|
||||
|
||||
class MambabaseWizard(QtWidgets.QWizard):
|
||||
def __init__(self, parent=None):
|
||||
super(MambabaseWizard, self).__init__(parent)
|
||||
self.addPage(WelcomePage(self))
|
||||
self.selectGroupsPage = SelectGroupsPage(self)
|
||||
self.addPage(self.selectGroupsPage)
|
||||
self.selectExtraPage = SelectExtraPage(self)
|
||||
self.addPage(self.selectExtraPage)
|
||||
self.installationPage = InstallationPage(self)
|
||||
self.addPage(self.installationPage)
|
||||
self.finishPage = FinishPage(self)
|
||||
self.addPage(self.finishPage)
|
||||
self.setWindowTitle("openmamba base network installations - openmamba.org")
|
||||
self.setFixedSize(571,465)
|
||||
self.currentIdChanged.connect(self.currentIdChangedSlot)
|
||||
self.installThread = InstallThread(self)
|
||||
|
||||
def currentIdChangedSlot(self, currentId):
|
||||
if currentId == 3:
|
||||
self.installThread.start()
|
||||
|
||||
|
||||
class WelcomePage(QtWidgets.QWizardPage):
|
||||
def __init__(self, parent=None):
|
||||
super(WelcomePage, self).__init__(parent)
|
||||
uic.loadUi('WelcomePage.ui', self)
|
||||
self.show()
|
||||
|
||||
|
||||
class SelectGroupsPage(QtWidgets.QWizardPage):
|
||||
def __init__(self, parent=None):
|
||||
super(SelectGroupsPage, self).__init__(parent)
|
||||
uic.loadUi('SelectGroupsPage.ui', self)
|
||||
self.show()
|
||||
|
||||
|
||||
class SelectExtraPage(QtWidgets.QWizardPage):
|
||||
def __init__(self, parent=None):
|
||||
super(SelectExtraPage, self).__init__(parent)
|
||||
uic.loadUi('SelectExtraPage.ui', self)
|
||||
self.setCommitPage(True)
|
||||
self.show()
|
||||
|
||||
|
||||
class InstallationPage(QtWidgets.QWizardPage):
|
||||
done = False
|
||||
parent = None
|
||||
|
||||
def __init__(self, parent=None):
|
||||
super(InstallationPage, self).__init__(parent)
|
||||
uic.loadUi('InstallationPage.ui', self)
|
||||
self.parent = parent
|
||||
self.show()
|
||||
|
||||
def isComplete(self):
|
||||
return self.done
|
||||
|
||||
@QtCore.pyqtSlot(dict)
|
||||
def updateProgressSlot(self, dict):
|
||||
if 'value' in dict:
|
||||
self.progressBar.setValue(dict['value'])
|
||||
if 'label' in dict:
|
||||
self.progressLabel.setText(dict['label'])
|
||||
if 'details' in dict:
|
||||
self.progressDetails.setText(dict['details'])
|
||||
|
||||
|
||||
class FinishPage(QtWidgets.QWizardPage):
|
||||
def __init__(self, parent=None):
|
||||
super(FinishPage, self).__init__(parent)
|
||||
uic.loadUi('FinishPage.ui', self)
|
||||
self.show()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
import sys
|
||||
app = QtWidgets.QApplication(sys.argv)
|
||||
app.setWindowIcon(QtGui.QIcon("mamba-128x128.png"))
|
||||
wizard = MambabaseWizard()
|
||||
gettext.install('mambabase', '/usr/share/locale')
|
||||
wizard.show()
|
||||
sys.exit(app.exec_())
|
BIN
mambabase/openmamba.png
Normal file
BIN
mambabase/openmamba.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.3 KiB |
Loading…
Reference in New Issue
Block a user