From 7dd6cd041c09768b37477c9bc1e37ffb15f6efc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alin=20Tr=C4=83istaru?= Date: Tue, 4 Apr 2017 15:22:01 +0300 Subject: [PATCH] GUI cleanup and minor fixes --- scripts/gui/multibootusb.ui | 1022 ++++++++++++++++++++------------ scripts/gui/ui_multibootusb.py | 588 ++++++++++-------- scripts/imager.py | 27 +- scripts/mbusb_gui.py | 136 +++-- 4 files changed, 1095 insertions(+), 678 deletions(-) diff --git a/scripts/gui/multibootusb.ui b/scripts/gui/multibootusb.ui index 62fc9a3..e966dbc 100644 --- a/scripts/gui/multibootusb.ui +++ b/scripts/gui/multibootusb.ui @@ -6,7 +6,7 @@ 0 0 - 644 + 717 516 @@ -16,92 +16,229 @@ + + true + 0 + + true + MultiBootUSB + + 0 + + + 0 + + + 0 + + + 0 + - - - - 0 MB + + 5 + + + 5 + + + 5 + + + 5 + + + + + USB Details - - - - - - - - Detect - - - - - - Detect Drives - - - - - - - - - - - - - - - 0 + + Qt::AlignBottom|Qt::AlignRight|Qt::AlignTrailing + + + false + + + false + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + Drive: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + + + + + Vendor: + + + + + + + + + + + + + + Model: + + + + + + + QFrame::NoFrame + + + Size: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Mount: + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - Create + Quit - - + + + + Qt::Vertical + + + + 20 + 40 + + + - - + + - <html><head/><body><p align="center"><span style=" font-weight:600;">Step 1</span></p></body></html> + Browse ISO + + + false + + + false - - + + + + QFrame::StyledPanel + + + QFrame::Sunken + + + QListView::Fixed + + + + + + + false + + + true + + + font-weight: 600 + - <html><head/><body><p align="center"><span style=" font-weight:600;">Step 2</span></p></body></html> + Persistence - - + + + + + - Close + Detect Drives - - + + - <html><head/><body><p align="center"><span style=" font-weight:600;">Step 3</span></p></body></html> + Uninstall Distro - + + + + false @@ -118,100 +255,69 @@ QSlider::TicksBothSides - - 0 - - - - - Uninstall (Optional) + + + + Qt::Horizontal - - - - - - - Uninstall Distro - - - - - - - - - - + + + 40 + 20 + + + - - - - USB Details + + + + All Drives - - - - - Drive :: - - - - - - - Vendor :: - - - - - - - Model:: - - - - - - - Size :: - - - - - - - Mount :: - - - - - - + + + + false + - Browse ISO + 0 MB - - + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + - <html><head/><body><p><span style=" font-weight:600;">Persistence</span></p></body></html> + Install - - - - All Drives + + + + 0 + + + false - + @@ -229,7 +335,7 @@ QFrame::Plain - + Status: Idle Qt::AutoText @@ -239,109 +345,239 @@ + + + + font-weight: 600; margin-top:15 + + + Step 1 :: Select drive + + + + + + + font-weight: 600; margin-top:15 + + + Step 2 :: Select ISO + + + 0 + + + + + + + font-weight: 600; margin-top:15 + + + Step 3 :: Install distro + + + + + true + - ISO Imager + Write Image to USB + + 0 + + + 0 + + + 0 + + + 0 + - - - - Imager - + + 5 + + + 5 + + + 5 + + + 5 + + + + + 5 + + + 5 + + + 5 + + + 5 + - - + + - -------------- USB details ------------------- + Select image - - - - + - + - Refresh USB + Browse image... - + + + + - Disk Label :: + Bootable ISO - + - Disk Size + Image Size - - - Disk Label :: + + + Qt::Vertical - + + + 20 + 40 + + + - - + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + - ------------------------------ ISO details ---------------------------------- + Select USB Drive - + - + + + + - Browse ISO + Refresh USB - - - - - - Bootable ISO + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - + + + + Disk Type: + + + + + + + Disk Size: + + + + + + + Disk Label: + + + + + + + + + + + + + + + + + + + + + + + + + - - - ISO Size + + + Qt::Vertical - + + + 20 + 40 + + + - - - - - - - Imager Progress - - @@ -351,26 +587,12 @@ - + Status: Idle - - - - Write/Create - - - - - - - Close - - - @@ -385,18 +607,45 @@ + + + + Write Image + + + + + + + Quit + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + - Syslinux + Install Syslinux @@ -412,14 +661,28 @@ - + + + + Install only syslinu&x (existing configurations will not be altered). + + + + + + + Install syslinux and copy all re&quired files. + + + + Install - + Qt::Horizontal @@ -432,26 +695,25 @@ - - - - Install syslinux and copy all required files. - - - - - - - Install only syslinux (existing configurations will not be altred). - - - - + + + + Qt::Vertical + + + + 20 + 40 + + + + + Edit syslinux.cfg @@ -459,14 +721,21 @@ - + Edit - + + + + <html><head/><body><p align="justify">Edit syslinux.cfg file directly using the default editor of your system. </p><p align="justify">Be <span style=" font-weight:600; color:#ff0000;">CAREFUL</span> while editing syslinux.cfg!</p></body></html> + + + + Qt::Horizontal @@ -479,96 +748,89 @@ - - - - <html><head/><body><p align="justify">Using this option user can edit syslinux.cfg file directly. It directly uses </p><p align="justify">default editor of host system. Be careful while editing syslinux.cfg file.</p></body></html> - - - + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 20 + + + + - QEMU + Boot ISO/USB - Boot ISO + Boot ISO :: Test bootable ISOs without reboot - - - - 2048 MB - - - - - - - 1024 MB - - - - - - - 256 MB + + + + Qt::Vertical - - - - - - Browse ISO + + + 20 + 40 + - + - - - - <html><head/><body><p>Best way to test your downloaded ISOs. </p></body></html> + + + + Qt::Horizontal - - - - - - 512 MB + + + 40 + 20 + - + - + Boot ISO - - + + - 768 MB + Browse ISO - + - - + + Qt::Vertical @@ -580,161 +842,140 @@ - + - Choose desired RAM and click on Boot ISO button. + Choose RAM size: - - - - Qt::Vertical + + + + &256 MB - - - 20 - 40 - + + + + + + &512 MB - + - - - - Qt::Vertical + + + + &768 MB - - - 20 - 40 - + + + + + + &1024 MB - + + + + + + 204&8 MB + + - - - - Qt::Vertical - - - - 20 - 40 - - - - + + + - Boot USB + Boot USB :: Test bootable USB drive without reboot - - + + - 768 MB + 20&48 MB - - - - 256 MB + + + + Qt::Horizontal - + + + 40 + 20 + + + - - - - <html><head/><body><p align="justify">Use this option if you want to check USB installation without reboot.</p></body></html> + + + + Qt::Vertical - + + + 20 + 40 + + + - - + + - 1024 MB + Boot USB - - + + - Choose desired RAM and click on Boot USB button. + 25&6 MB - - + + - 512 MB + 7&68 MB - - + + - Boot USB + Choose RAM size: - - + + - 2048 MB + 5&12 MB - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - Qt::Vertical - - - - 20 - 40 - + + + + 1&024 MB - + @@ -743,6 +984,19 @@ + + + + Qt::Vertical + + + + 20 + 40 + + + + @@ -800,7 +1054,7 @@ - <html><head/><body><p align="center">An advanced bootable usb creator with option to install/uninstall </p><p align="center">multiple distros. This software is written in python and pyqt. </p><p align="center">Copyright 2010-2016 Sundar</p><p align="center"><span style=" font-weight:600; text-decoration: underline;">Author(s)</span>: Sundar, Ian Bruce, Lee</p><p align="center"><span style=" font-weight:600; text-decoration: underline;">Licence:</span> GPL version 2 or later</p><p align="center"><span style=" font-weight:600; text-decoration: underline;">Home page</span>: <a href=" http://multibootusb.org"><span style=" text-decoration: underline; color:#0000ff;">http://multibootusb.org</span></a></p><p align="center"><span style=" font-weight:600; text-decoration: underline;">Help/Email:</span> feedback.multibootusb@gmail.com</p><p align="center"><span style=" font-weight:600; text-decoration: underline;">Source Code:</span><span style=" font-weight:600;"/><a href="https://github.com/mbusb/multibootusb"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/mbusb/multibootusb</span></a></p><p><br/></p></body></html> + <html><head/><body><p align="center">An advanced bootable usb creator with option to install/uninstall multiple distros.</p><p align="center">This software is written in python and pyqt. </p><p align="center">Copyright 2010-2016 Sundar</p><p align="center"><span style=" font-weight:600;">Author(s)</span>: Sundar, Ian Bruce, Lee</p><p align="center"><span style=" font-weight:600;">Licence</span>: GPL version 2 or later</p><p align="center"><span style=" font-weight:600;">Home page</span>: <a href=" http://multibootusb.org"><span style=" text-decoration: underline; color:#0000ff;">http://multibootusb.org</span></a></p><p align="center"><span style=" font-weight:600;">Help/Email</span>: feedback.multibootusb@gmail.com</p><p align="center"><span style=" font-weight:600;">Source Code</span>: <a href="https://github.com/mbusb/multibootusb"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/mbusb/multibootusb</span></a></p><p><br/></p></body></html> @@ -825,6 +1079,40 @@ + + comboBox + detect_usb + lineEdit + slider_persistence + uninstall + listWidget + close + comboBox_2 + pushButton + pushbtn_imager_refreshusb + lineEdit_3 + imager_write + imager_close + install_sys_only + install_sys_all + install_syslinux + edit_syslinux + lineEdit_2 + browse_iso_qemu + ram_iso_256 + ram_iso_512 + ram_iso_768 + ram_iso_1024 + ram_iso_2048 + boot_iso_qemu + ram_usb_256 + ram_usb_512 + ram_usb_768 + ram_usb_1024 + ram_usb_2048 + boot_usb_qemu + tabWidget + diff --git a/scripts/gui/ui_multibootusb.py b/scripts/gui/ui_multibootusb.py index d5c8913..2daf7ed 100644 --- a/scripts/gui/ui_multibootusb.py +++ b/scripts/gui/ui_multibootusb.py @@ -1,8 +1,8 @@ # -*- coding: utf-8 -*- -# Form implementation generated from reading ui file 'scripts\gui\multibootusb.ui' +# Form implementation generated from reading ui file 'gui/multibootusb.ui' # -# Created by: PyQt5 UI code generator 5.6 +# Created by: PyQt5 UI code generator 5.5.1 # # WARNING! All changes made in this file will be lost! @@ -11,154 +11,168 @@ from PyQt5 import QtCore, QtGui, QtWidgets class Ui_Dialog(object): def setupUi(self, Dialog): Dialog.setObjectName("Dialog") - Dialog.resize(644, 516) + Dialog.resize(717, 516) self.horizontalLayout = QtWidgets.QHBoxLayout(Dialog) self.horizontalLayout.setObjectName("horizontalLayout") self.tabWidget = QtWidgets.QTabWidget(Dialog) + self.tabWidget.setEnabled(True) self.tabWidget.setObjectName("tabWidget") self.tab_3 = QtWidgets.QWidget() + self.tab_3.setEnabled(True) self.tab_3.setObjectName("tab_3") self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.tab_3) self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.gridLayout = QtWidgets.QGridLayout() + self.gridLayout.setContentsMargins(5, 5, 5, 5) self.gridLayout.setObjectName("gridLayout") - self.label_persistence_value = QtWidgets.QLabel(self.tab_3) - self.label_persistence_value.setObjectName("label_persistence_value") - self.gridLayout.addWidget(self.label_persistence_value, 5, 2, 1, 1) - self.verticalLayout_11 = QtWidgets.QVBoxLayout() - self.verticalLayout_11.setObjectName("verticalLayout_11") - self.groupBox_11 = QtWidgets.QGroupBox(self.tab_3) - self.groupBox_11.setObjectName("groupBox_11") - self.horizontalLayout_8 = QtWidgets.QHBoxLayout(self.groupBox_11) - self.horizontalLayout_8.setObjectName("horizontalLayout_8") - self.detect_usb = QtWidgets.QPushButton(self.groupBox_11) - self.detect_usb.setObjectName("detect_usb") - self.horizontalLayout_8.addWidget(self.detect_usb) - self.verticalLayout_11.addWidget(self.groupBox_11) - self.gridLayout.addLayout(self.verticalLayout_11, 1, 3, 1, 2) - self.listWidget = QtWidgets.QListWidget(self.tab_3) - self.listWidget.setObjectName("listWidget") - self.gridLayout.addWidget(self.listWidget, 0, 0, 4, 3) - self.progressBar = QtWidgets.QProgressBar(self.tab_3) - self.progressBar.setProperty("value", 0) - self.progressBar.setObjectName("progressBar") - self.gridLayout.addWidget(self.progressBar, 7, 0, 1, 6) - self.create = QtWidgets.QPushButton(self.tab_3) - self.create.setObjectName("create") - self.gridLayout.addWidget(self.create, 5, 4, 1, 1) - self.comboBox = QtWidgets.QComboBox(self.tab_3) - self.comboBox.setObjectName("comboBox") - self.gridLayout.addWidget(self.comboBox, 0, 3, 1, 1) - self.labelstep1 = QtWidgets.QLabel(self.tab_3) - self.labelstep1.setObjectName("labelstep1") - self.gridLayout.addWidget(self.labelstep1, 0, 5, 1, 1) - self.labelstep2 = QtWidgets.QLabel(self.tab_3) - self.labelstep2.setObjectName("labelstep2") - self.gridLayout.addWidget(self.labelstep2, 4, 5, 1, 1) - self.close = QtWidgets.QPushButton(self.tab_3) - self.close.setObjectName("close") - self.gridLayout.addWidget(self.close, 5, 3, 1, 1) - self.labelstep3 = QtWidgets.QLabel(self.tab_3) - self.labelstep3.setObjectName("labelstep3") - self.gridLayout.addWidget(self.labelstep3, 5, 5, 1, 1) - self.slider_persistence = QtWidgets.QSlider(self.tab_3) - self.slider_persistence.setEnabled(False) - self.slider_persistence.setAutoFillBackground(False) - self.slider_persistence.setOrientation(QtCore.Qt.Horizontal) - self.slider_persistence.setTickPosition(QtWidgets.QSlider.TicksBothSides) - self.slider_persistence.setTickInterval(0) - self.slider_persistence.setObjectName("slider_persistence") - self.gridLayout.addWidget(self.slider_persistence, 5, 1, 1, 1) - self.groupBox = QtWidgets.QGroupBox(self.tab_3) - self.groupBox.setObjectName("groupBox") - self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox) - self.verticalLayout.setObjectName("verticalLayout") - self.gridLayout_5 = QtWidgets.QGridLayout() - self.gridLayout_5.setObjectName("gridLayout_5") - self.uninstall = QtWidgets.QPushButton(self.groupBox) - self.uninstall.setObjectName("uninstall") - self.gridLayout_5.addWidget(self.uninstall, 0, 0, 1, 1) - self.verticalLayout.addLayout(self.gridLayout_5) - self.gridLayout.addWidget(self.groupBox, 3, 3, 1, 2) - self.lineEdit = QtWidgets.QLineEdit(self.tab_3) - self.lineEdit.setObjectName("lineEdit") - self.gridLayout.addWidget(self.lineEdit, 4, 0, 1, 4) self.groupBox_6 = QtWidgets.QGroupBox(self.tab_3) + self.groupBox_6.setAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing) + self.groupBox_6.setFlat(False) + self.groupBox_6.setCheckable(False) self.groupBox_6.setObjectName("groupBox_6") - self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.groupBox_6) - self.verticalLayout_5.setObjectName("verticalLayout_5") + self.formLayout = QtWidgets.QFormLayout(self.groupBox_6) + self.formLayout.setLabelAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.formLayout.setObjectName("formLayout") + self.label_usb_dev = QtWidgets.QLabel(self.groupBox_6) + self.label_usb_dev.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_usb_dev.setObjectName("label_usb_dev") + self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label_usb_dev) self.usb_dev = QtWidgets.QLabel(self.groupBox_6) + self.usb_dev.setText("") self.usb_dev.setObjectName("usb_dev") - self.verticalLayout_5.addWidget(self.usb_dev) + self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.usb_dev) + self.label_usb_vendor = QtWidgets.QLabel(self.groupBox_6) + self.label_usb_vendor.setObjectName("label_usb_vendor") + self.formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_usb_vendor) self.usb_vendor = QtWidgets.QLabel(self.groupBox_6) + self.usb_vendor.setText("") self.usb_vendor.setObjectName("usb_vendor") - self.verticalLayout_5.addWidget(self.usb_vendor) + self.formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.usb_vendor) + self.label_usb_model = QtWidgets.QLabel(self.groupBox_6) + self.label_usb_model.setObjectName("label_usb_model") + self.formLayout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_usb_model) + self.label_usb_size = QtWidgets.QLabel(self.groupBox_6) + self.label_usb_size.setFrameShape(QtWidgets.QFrame.NoFrame) + self.label_usb_size.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_usb_size.setObjectName("label_usb_size") + self.formLayout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.label_usb_size) + self.label_usb_mount = QtWidgets.QLabel(self.groupBox_6) + self.label_usb_mount.setObjectName("label_usb_mount") + self.formLayout.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.label_usb_mount) self.usb_model = QtWidgets.QLabel(self.groupBox_6) + self.usb_model.setText("") self.usb_model.setObjectName("usb_model") - self.verticalLayout_5.addWidget(self.usb_model) + self.formLayout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.usb_model) self.usb_size = QtWidgets.QLabel(self.groupBox_6) + self.usb_size.setText("") self.usb_size.setObjectName("usb_size") - self.verticalLayout_5.addWidget(self.usb_size) + self.formLayout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.usb_size) self.usb_mount = QtWidgets.QLabel(self.groupBox_6) + self.usb_mount.setText("") self.usb_mount.setObjectName("usb_mount") - self.verticalLayout_5.addWidget(self.usb_mount) - self.gridLayout.addWidget(self.groupBox_6, 2, 3, 1, 3) + self.formLayout.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.usb_mount) + self.gridLayout.addWidget(self.groupBox_6, 2, 0, 1, 5) + self.close = QtWidgets.QPushButton(self.tab_3) + self.close.setObjectName("close") + self.gridLayout.addWidget(self.close, 9, 6, 1, 1) + spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.gridLayout.addItem(spacerItem, 8, 0, 1, 1) self.browse_iso = QtWidgets.QPushButton(self.tab_3) + self.browse_iso.setCheckable(False) + self.browse_iso.setFlat(False) self.browse_iso.setObjectName("browse_iso") self.gridLayout.addWidget(self.browse_iso, 4, 4, 1, 1) + self.listWidget = QtWidgets.QListWidget(self.tab_3) + self.listWidget.setFrameShape(QtWidgets.QFrame.StyledPanel) + self.listWidget.setFrameShadow(QtWidgets.QFrame.Sunken) + self.listWidget.setResizeMode(QtWidgets.QListView.Fixed) + self.listWidget.setObjectName("listWidget") + self.gridLayout.addWidget(self.listWidget, 1, 5, 8, 2) self.label_persistence = QtWidgets.QLabel(self.tab_3) + self.label_persistence.setEnabled(False) + self.label_persistence.setMouseTracking(True) + self.label_persistence.setStyleSheet("font-weight: 600") self.label_persistence.setObjectName("label_persistence") - self.gridLayout.addWidget(self.label_persistence, 5, 0, 1, 1) + self.gridLayout.addWidget(self.label_persistence, 6, 0, 1, 1) + self.lineEdit = QtWidgets.QLineEdit(self.tab_3) + self.lineEdit.setObjectName("lineEdit") + self.gridLayout.addWidget(self.lineEdit, 4, 0, 1, 4) + self.detect_usb = QtWidgets.QPushButton(self.tab_3) + self.detect_usb.setObjectName("detect_usb") + self.gridLayout.addWidget(self.detect_usb, 1, 2, 1, 2) + self.uninstall = QtWidgets.QPushButton(self.tab_3) + self.uninstall.setObjectName("uninstall") + self.gridLayout.addWidget(self.uninstall, 0, 5, 1, 2) + self.comboBox = QtWidgets.QComboBox(self.tab_3) + self.comboBox.setObjectName("comboBox") + self.gridLayout.addWidget(self.comboBox, 1, 0, 1, 2) + self.slider_persistence = QtWidgets.QSlider(self.tab_3) + self.slider_persistence.setEnabled(False) + self.slider_persistence.setAutoFillBackground(False) + self.slider_persistence.setOrientation(QtCore.Qt.Horizontal) + self.slider_persistence.setTickPosition(QtWidgets.QSlider.TicksBothSides) + self.slider_persistence.setObjectName("slider_persistence") + self.gridLayout.addWidget(self.slider_persistence, 6, 1, 1, 3) + spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.gridLayout.addItem(spacerItem1, 8, 2, 1, 2) self.checkBox_all_drives = QtWidgets.QCheckBox(self.tab_3) self.checkBox_all_drives.setObjectName("checkBox_all_drives") - self.gridLayout.addWidget(self.checkBox_all_drives, 0, 4, 1, 1) + self.gridLayout.addWidget(self.checkBox_all_drives, 1, 4, 1, 1) + self.label_persistence_value = QtWidgets.QLabel(self.tab_3) + self.label_persistence_value.setEnabled(False) + self.label_persistence_value.setObjectName("label_persistence_value") + self.gridLayout.addWidget(self.label_persistence_value, 6, 4, 1, 1) + spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.gridLayout.addItem(spacerItem2, 8, 1, 1, 1) + self.create = QtWidgets.QPushButton(self.tab_3) + self.create.setObjectName("create") + self.gridLayout.addWidget(self.create, 7, 4, 1, 1) + self.progressBar = QtWidgets.QProgressBar(self.tab_3) + self.progressBar.setProperty("value", 0) + self.progressBar.setInvertedAppearance(False) + self.progressBar.setObjectName("progressBar") + self.gridLayout.addWidget(self.progressBar, 7, 0, 1, 4) self.status = QtWidgets.QLabel(self.tab_3) self.status.setMinimumSize(QtCore.QSize(0, 0)) self.status.setAcceptDrops(False) self.status.setAutoFillBackground(False) self.status.setFrameShadow(QtWidgets.QFrame.Plain) - self.status.setText("") self.status.setTextFormat(QtCore.Qt.AutoText) self.status.setScaledContents(False) self.status.setObjectName("status") - self.gridLayout.addWidget(self.status, 6, 0, 1, 6) + self.gridLayout.addWidget(self.status, 9, 0, 1, 6) + self.labelstep1 = QtWidgets.QLabel(self.tab_3) + self.labelstep1.setStyleSheet("font-weight: 600; margin-top:15") + self.labelstep1.setObjectName("labelstep1") + self.gridLayout.addWidget(self.labelstep1, 0, 0, 1, 5) + self.labelstep2 = QtWidgets.QLabel(self.tab_3) + self.labelstep2.setStyleSheet("font-weight: 600; margin-top:15") + self.labelstep2.setObjectName("labelstep2") + self.gridLayout.addWidget(self.labelstep2, 3, 0, 1, 5) + self.labelstep3 = QtWidgets.QLabel(self.tab_3) + self.labelstep3.setStyleSheet("font-weight: 600; margin-top:15") + self.labelstep3.setObjectName("labelstep3") + self.gridLayout.addWidget(self.labelstep3, 5, 0, 1, 5) self.horizontalLayout_2.addLayout(self.gridLayout) self.tabWidget.addTab(self.tab_3, "") self.imager = QtWidgets.QWidget() + self.imager.setEnabled(True) self.imager.setObjectName("imager") self.horizontalLayout_7 = QtWidgets.QHBoxLayout(self.imager) self.horizontalLayout_7.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_7.setObjectName("horizontalLayout_7") self.gridLayout_9 = QtWidgets.QGridLayout() + self.gridLayout_9.setContentsMargins(5, 5, 5, 5) self.gridLayout_9.setObjectName("gridLayout_9") - self.groupBox_7 = QtWidgets.QGroupBox(self.imager) - self.groupBox_7.setObjectName("groupBox_7") - self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.groupBox_7) + self.widget_7 = QtWidgets.QWidget(self.imager) + self.widget_7.setObjectName("widget_7") + self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.widget_7) + self.verticalLayout_6.setContentsMargins(5, 5, 5, 5) self.verticalLayout_6.setObjectName("verticalLayout_6") self.gridLayout_11 = QtWidgets.QGridLayout() self.gridLayout_11.setObjectName("gridLayout_11") - self.groupBox_9 = QtWidgets.QGroupBox(self.groupBox_7) - self.groupBox_9.setObjectName("groupBox_9") - self.verticalLayout_8 = QtWidgets.QVBoxLayout(self.groupBox_9) - self.verticalLayout_8.setObjectName("verticalLayout_8") - self.comboBox_2 = QtWidgets.QComboBox(self.groupBox_9) - self.comboBox_2.setObjectName("comboBox_2") - self.verticalLayout_8.addWidget(self.comboBox_2) - self.pushbtn_imager_refreshusb = QtWidgets.QPushButton(self.groupBox_9) - self.pushbtn_imager_refreshusb.setObjectName("pushbtn_imager_refreshusb") - self.verticalLayout_8.addWidget(self.pushbtn_imager_refreshusb) - self.imager_disk_label = QtWidgets.QLabel(self.groupBox_9) - self.imager_disk_label.setObjectName("imager_disk_label") - self.verticalLayout_8.addWidget(self.imager_disk_label) - self.imager_total_size = QtWidgets.QLabel(self.groupBox_9) - self.imager_total_size.setObjectName("imager_total_size") - self.verticalLayout_8.addWidget(self.imager_total_size) - self.imager_uuid = QtWidgets.QLabel(self.groupBox_9) - self.imager_uuid.setObjectName("imager_uuid") - self.verticalLayout_8.addWidget(self.imager_uuid) - self.gridLayout_11.addWidget(self.groupBox_9, 0, 0, 1, 1) - self.groupBox_10 = QtWidgets.QGroupBox(self.groupBox_7) + self.groupBox_10 = QtWidgets.QGroupBox(self.widget_7) self.groupBox_10.setObjectName("groupBox_10") self.verticalLayout_9 = QtWidgets.QVBoxLayout(self.groupBox_10) self.verticalLayout_9.setObjectName("verticalLayout_9") @@ -174,45 +188,83 @@ class Ui_Dialog(object): self.imager_iso_size = QtWidgets.QLabel(self.groupBox_10) self.imager_iso_size.setObjectName("imager_iso_size") self.verticalLayout_9.addWidget(self.imager_iso_size) + spacerItem3 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.verticalLayout_9.addItem(spacerItem3) self.gridLayout_11.addWidget(self.groupBox_10, 0, 1, 1, 1) + spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.gridLayout_11.addItem(spacerItem4, 1, 0, 1, 1) + self.groupBox_9 = QtWidgets.QGroupBox(self.widget_7) + self.groupBox_9.setStyleSheet("") + self.groupBox_9.setObjectName("groupBox_9") + self.verticalLayout_8 = QtWidgets.QVBoxLayout(self.groupBox_9) + self.verticalLayout_8.setObjectName("verticalLayout_8") + self.comboBox_2 = QtWidgets.QComboBox(self.groupBox_9) + self.comboBox_2.setObjectName("comboBox_2") + self.verticalLayout_8.addWidget(self.comboBox_2) + self.pushbtn_imager_refreshusb = QtWidgets.QPushButton(self.groupBox_9) + self.pushbtn_imager_refreshusb.setObjectName("pushbtn_imager_refreshusb") + self.verticalLayout_8.addWidget(self.pushbtn_imager_refreshusb) + self.formLayout_3 = QtWidgets.QFormLayout() + self.formLayout_3.setLabelAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.formLayout_3.setObjectName("formLayout_3") + self.label_imager_disk_label = QtWidgets.QLabel(self.groupBox_9) + self.label_imager_disk_label.setObjectName("label_imager_disk_label") + self.formLayout_3.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label_imager_disk_label) + self.label_imager_total_size = QtWidgets.QLabel(self.groupBox_9) + self.label_imager_total_size.setObjectName("label_imager_total_size") + self.formLayout_3.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_imager_total_size) + self.label_imager_uuid = QtWidgets.QLabel(self.groupBox_9) + self.label_imager_uuid.setObjectName("label_imager_uuid") + self.formLayout_3.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_imager_uuid) + self.imager_disk_label = QtWidgets.QLabel(self.groupBox_9) + self.imager_disk_label.setText("") + self.imager_disk_label.setObjectName("imager_disk_label") + self.formLayout_3.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.imager_disk_label) + self.imager_total_size = QtWidgets.QLabel(self.groupBox_9) + self.imager_total_size.setText("") + self.imager_total_size.setObjectName("imager_total_size") + self.formLayout_3.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.imager_total_size) + self.imager_uuid = QtWidgets.QLabel(self.groupBox_9) + self.imager_uuid.setText("") + self.imager_uuid.setObjectName("imager_uuid") + self.formLayout_3.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.imager_uuid) + self.verticalLayout_8.addLayout(self.formLayout_3) + spacerItem5 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.verticalLayout_8.addItem(spacerItem5) + self.gridLayout_11.addWidget(self.groupBox_9, 0, 0, 1, 1) self.verticalLayout_6.addLayout(self.gridLayout_11) - self.gridLayout_9.addWidget(self.groupBox_7, 1, 0, 1, 1) - self.groupBox_8 = QtWidgets.QGroupBox(self.imager) - self.groupBox_8.setObjectName("groupBox_8") - self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.groupBox_8) - self.verticalLayout_7.setObjectName("verticalLayout_7") - self.imager_label_status = QtWidgets.QLabel(self.groupBox_8) + self.imager_label_status = QtWidgets.QLabel(self.widget_7) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.imager_label_status.sizePolicy().hasHeightForWidth()) self.imager_label_status.setSizePolicy(sizePolicy) - self.imager_label_status.setText("") self.imager_label_status.setObjectName("imager_label_status") - self.verticalLayout_7.addWidget(self.imager_label_status) + self.verticalLayout_6.addWidget(self.imager_label_status) self.gridLayout_12 = QtWidgets.QGridLayout() self.gridLayout_12.setObjectName("gridLayout_12") - self.imager_write = QtWidgets.QPushButton(self.groupBox_8) - self.imager_write.setObjectName("imager_write") - self.gridLayout_12.addWidget(self.imager_write, 2, 2, 1, 1) - self.imager_close = QtWidgets.QPushButton(self.groupBox_8) - self.imager_close.setObjectName("imager_close") - self.gridLayout_12.addWidget(self.imager_close, 2, 1, 1, 1) - self.label_10 = QtWidgets.QLabel(self.groupBox_8) + self.label_10 = QtWidgets.QLabel(self.widget_7) self.label_10.setObjectName("label_10") self.gridLayout_12.addWidget(self.label_10, 1, 0, 1, 3) - self.imager_progressbar = QtWidgets.QProgressBar(self.groupBox_8) + self.imager_progressbar = QtWidgets.QProgressBar(self.widget_7) self.imager_progressbar.setProperty("value", 0) self.imager_progressbar.setObjectName("imager_progressbar") self.gridLayout_12.addWidget(self.imager_progressbar, 0, 0, 1, 3) - self.verticalLayout_7.addLayout(self.gridLayout_12) - self.gridLayout_9.addWidget(self.groupBox_8, 2, 0, 1, 1) + self.imager_write = QtWidgets.QPushButton(self.widget_7) + self.imager_write.setObjectName("imager_write") + self.gridLayout_12.addWidget(self.imager_write, 2, 2, 1, 1) + self.verticalLayout_6.addLayout(self.gridLayout_12) + self.gridLayout_9.addWidget(self.widget_7, 0, 0, 1, 2) + self.imager_close = QtWidgets.QPushButton(self.imager) + self.imager_close.setObjectName("imager_close") + self.gridLayout_9.addWidget(self.imager_close, 1, 1, 1, 1) + spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.gridLayout_9.addItem(spacerItem6, 1, 0, 1, 1) self.horizontalLayout_7.addLayout(self.gridLayout_9) self.tabWidget.addTab(self.imager, "") self.syslinux_ab = QtWidgets.QWidget() self.syslinux_ab.setObjectName("syslinux_ab") self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.syslinux_ab) - self.horizontalLayout_3.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.gridLayout_2 = QtWidgets.QGridLayout() self.gridLayout_2.setObjectName("gridLayout_2") @@ -223,19 +275,21 @@ class Ui_Dialog(object): self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.gridLayout_3 = QtWidgets.QGridLayout() self.gridLayout_3.setObjectName("gridLayout_3") - self.install_syslinux = QtWidgets.QPushButton(self.groupBox_2) - self.install_syslinux.setObjectName("install_syslinux") - self.gridLayout_3.addWidget(self.install_syslinux, 2, 1, 1, 1) - spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) - self.gridLayout_3.addItem(spacerItem, 2, 0, 1, 1) - self.install_sys_all = QtWidgets.QRadioButton(self.groupBox_2) - self.install_sys_all.setObjectName("install_sys_all") - self.gridLayout_3.addWidget(self.install_sys_all, 1, 0, 1, 2) self.install_sys_only = QtWidgets.QRadioButton(self.groupBox_2) self.install_sys_only.setObjectName("install_sys_only") - self.gridLayout_3.addWidget(self.install_sys_only, 0, 0, 1, 2) + self.gridLayout_3.addWidget(self.install_sys_only, 0, 0, 1, 1) + self.install_sys_all = QtWidgets.QRadioButton(self.groupBox_2) + self.install_sys_all.setObjectName("install_sys_all") + self.gridLayout_3.addWidget(self.install_sys_all, 1, 0, 1, 1) + self.install_syslinux = QtWidgets.QPushButton(self.groupBox_2) + self.install_syslinux.setObjectName("install_syslinux") + self.gridLayout_3.addWidget(self.install_syslinux, 0, 2, 2, 1) + spacerItem7 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.gridLayout_3.addItem(spacerItem7, 0, 1, 2, 1) self.horizontalLayout_4.addLayout(self.gridLayout_3) self.gridLayout_2.addWidget(self.groupBox_2, 0, 0, 1, 1) + spacerItem8 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.gridLayout_2.addItem(spacerItem8, 3, 0, 1, 1) self.groupBox_3 = QtWidgets.QGroupBox(self.syslinux_ab) self.groupBox_3.setObjectName("groupBox_3") self.horizontalLayout_5 = QtWidgets.QHBoxLayout(self.groupBox_3) @@ -244,20 +298,21 @@ class Ui_Dialog(object): self.gridLayout_4.setObjectName("gridLayout_4") self.edit_syslinux = QtWidgets.QPushButton(self.groupBox_3) self.edit_syslinux.setObjectName("edit_syslinux") - self.gridLayout_4.addWidget(self.edit_syslinux, 1, 1, 1, 1) - spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) - self.gridLayout_4.addItem(spacerItem1, 1, 0, 1, 1) + self.gridLayout_4.addWidget(self.edit_syslinux, 0, 2, 1, 1) self.label_2 = QtWidgets.QLabel(self.groupBox_3) self.label_2.setObjectName("label_2") - self.gridLayout_4.addWidget(self.label_2, 0, 0, 1, 2) + self.gridLayout_4.addWidget(self.label_2, 0, 0, 1, 1) + spacerItem9 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.gridLayout_4.addItem(spacerItem9, 0, 1, 1, 1) self.horizontalLayout_5.addLayout(self.gridLayout_4) - self.gridLayout_2.addWidget(self.groupBox_3, 1, 0, 1, 1) + self.gridLayout_2.addWidget(self.groupBox_3, 2, 0, 1, 1) + spacerItem10 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) + self.gridLayout_2.addItem(spacerItem10, 1, 0, 1, 1) self.horizontalLayout_3.addLayout(self.gridLayout_2) self.tabWidget.addTab(self.syslinux_ab, "") self.tab = QtWidgets.QWidget() self.tab.setObjectName("tab") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.tab) - self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) self.verticalLayout_2.setObjectName("verticalLayout_2") self.groupBox_5 = QtWidgets.QGroupBox(self.tab) self.groupBox_5.setObjectName("groupBox_5") @@ -265,106 +320,98 @@ class Ui_Dialog(object): self.verticalLayout_3.setObjectName("verticalLayout_3") self.gridLayout_7 = QtWidgets.QGridLayout() self.gridLayout_7.setObjectName("gridLayout_7") - self.ram_iso_2048 = QtWidgets.QRadioButton(self.groupBox_5) - self.ram_iso_2048.setObjectName("ram_iso_2048") - self.gridLayout_7.addWidget(self.ram_iso_2048, 4, 4, 1, 1) - self.ram_iso_1024 = QtWidgets.QRadioButton(self.groupBox_5) - self.ram_iso_1024.setObjectName("ram_iso_1024") - self.gridLayout_7.addWidget(self.ram_iso_1024, 4, 3, 1, 1) - self.ram_iso_256 = QtWidgets.QRadioButton(self.groupBox_5) - self.ram_iso_256.setObjectName("ram_iso_256") - self.gridLayout_7.addWidget(self.ram_iso_256, 4, 0, 1, 1) - self.browse_iso_qemu = QtWidgets.QPushButton(self.groupBox_5) - self.browse_iso_qemu.setObjectName("browse_iso_qemu") - self.gridLayout_7.addWidget(self.browse_iso_qemu, 2, 4, 1, 1) - self.label_7 = QtWidgets.QLabel(self.groupBox_5) - self.label_7.setObjectName("label_7") - self.gridLayout_7.addWidget(self.label_7, 0, 0, 1, 5) - self.ram_iso_512 = QtWidgets.QRadioButton(self.groupBox_5) - self.ram_iso_512.setObjectName("ram_iso_512") - self.gridLayout_7.addWidget(self.ram_iso_512, 4, 1, 1, 1) + spacerItem11 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.gridLayout_7.addItem(spacerItem11, 3, 0, 1, 1) + spacerItem12 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.gridLayout_7.addItem(spacerItem12, 1, 6, 1, 1) self.boot_iso_qemu = QtWidgets.QPushButton(self.groupBox_5) self.boot_iso_qemu.setObjectName("boot_iso_qemu") - self.gridLayout_7.addWidget(self.boot_iso_qemu, 6, 4, 1, 1) - self.ram_iso_768 = QtWidgets.QRadioButton(self.groupBox_5) - self.ram_iso_768.setObjectName("ram_iso_768") - self.gridLayout_7.addWidget(self.ram_iso_768, 4, 2, 1, 1) + self.gridLayout_7.addWidget(self.boot_iso_qemu, 3, 6, 1, 1) + self.browse_iso_qemu = QtWidgets.QPushButton(self.groupBox_5) + self.browse_iso_qemu.setObjectName("browse_iso_qemu") + self.gridLayout_7.addWidget(self.browse_iso_qemu, 0, 6, 1, 1) self.lineEdit_2 = QtWidgets.QLineEdit(self.groupBox_5) self.lineEdit_2.setObjectName("lineEdit_2") - self.gridLayout_7.addWidget(self.lineEdit_2, 2, 0, 1, 4) - spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) - self.gridLayout_7.addItem(spacerItem2, 3, 1, 1, 1) + self.gridLayout_7.addWidget(self.lineEdit_2, 0, 0, 1, 6) + spacerItem13 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.gridLayout_7.addItem(spacerItem13, 2, 6, 1, 1) self.label_3 = QtWidgets.QLabel(self.groupBox_5) self.label_3.setObjectName("label_3") - self.gridLayout_7.addWidget(self.label_3, 6, 0, 1, 4) - spacerItem3 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) - self.gridLayout_7.addItem(spacerItem3, 5, 0, 1, 1) - spacerItem4 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) - self.gridLayout_7.addItem(spacerItem4, 1, 0, 1, 1) + self.gridLayout_7.addWidget(self.label_3, 2, 0, 1, 1) + self.ram_iso_256 = QtWidgets.QRadioButton(self.groupBox_5) + self.ram_iso_256.setObjectName("ram_iso_256") + self.gridLayout_7.addWidget(self.ram_iso_256, 2, 1, 1, 1) + self.ram_iso_512 = QtWidgets.QRadioButton(self.groupBox_5) + self.ram_iso_512.setObjectName("ram_iso_512") + self.gridLayout_7.addWidget(self.ram_iso_512, 2, 2, 1, 1) + self.ram_iso_768 = QtWidgets.QRadioButton(self.groupBox_5) + self.ram_iso_768.setObjectName("ram_iso_768") + self.gridLayout_7.addWidget(self.ram_iso_768, 2, 3, 1, 1) + self.ram_iso_1024 = QtWidgets.QRadioButton(self.groupBox_5) + self.ram_iso_1024.setObjectName("ram_iso_1024") + self.gridLayout_7.addWidget(self.ram_iso_1024, 2, 4, 1, 1) + self.ram_iso_2048 = QtWidgets.QRadioButton(self.groupBox_5) + self.ram_iso_2048.setObjectName("ram_iso_2048") + self.gridLayout_7.addWidget(self.ram_iso_2048, 2, 5, 1, 1) self.verticalLayout_3.addLayout(self.gridLayout_7) self.verticalLayout_2.addWidget(self.groupBox_5) - spacerItem5 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) - self.verticalLayout_2.addItem(spacerItem5) self.gridLayout_6 = QtWidgets.QGridLayout() self.gridLayout_6.setObjectName("gridLayout_6") self.groupBox_4 = QtWidgets.QGroupBox(self.tab) + self.groupBox_4.setStyleSheet("") self.groupBox_4.setObjectName("groupBox_4") self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.groupBox_4) self.verticalLayout_4.setObjectName("verticalLayout_4") self.gridLayout_8 = QtWidgets.QGridLayout() self.gridLayout_8.setObjectName("gridLayout_8") - self.ram_usb_768 = QtWidgets.QRadioButton(self.groupBox_4) - self.ram_usb_768.setObjectName("ram_usb_768") - self.gridLayout_8.addWidget(self.ram_usb_768, 2, 2, 1, 1) + self.ram_usb_2048 = QtWidgets.QRadioButton(self.groupBox_4) + self.ram_usb_2048.setObjectName("ram_usb_2048") + self.gridLayout_8.addWidget(self.ram_usb_2048, 0, 5, 1, 1) + spacerItem14 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.gridLayout_8.addItem(spacerItem14, 0, 6, 1, 1) + spacerItem15 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.gridLayout_8.addItem(spacerItem15, 1, 0, 1, 1) + self.boot_usb_qemu = QtWidgets.QPushButton(self.groupBox_4) + self.boot_usb_qemu.setObjectName("boot_usb_qemu") + self.gridLayout_8.addWidget(self.boot_usb_qemu, 1, 6, 1, 1) self.ram_usb_256 = QtWidgets.QRadioButton(self.groupBox_4) self.ram_usb_256.setObjectName("ram_usb_256") - self.gridLayout_8.addWidget(self.ram_usb_256, 2, 0, 1, 1) - self.label_6 = QtWidgets.QLabel(self.groupBox_4) - self.label_6.setObjectName("label_6") - self.gridLayout_8.addWidget(self.label_6, 0, 0, 1, 5) - self.ram_usb_1024 = QtWidgets.QRadioButton(self.groupBox_4) - self.ram_usb_1024.setObjectName("ram_usb_1024") - self.gridLayout_8.addWidget(self.ram_usb_1024, 2, 3, 1, 1) + self.gridLayout_8.addWidget(self.ram_usb_256, 0, 1, 1, 1) + self.ram_usb_768 = QtWidgets.QRadioButton(self.groupBox_4) + self.ram_usb_768.setObjectName("ram_usb_768") + self.gridLayout_8.addWidget(self.ram_usb_768, 0, 3, 1, 1) self.label_4 = QtWidgets.QLabel(self.groupBox_4) self.label_4.setObjectName("label_4") - self.gridLayout_8.addWidget(self.label_4, 4, 0, 1, 4) + self.gridLayout_8.addWidget(self.label_4, 0, 0, 1, 1) self.ram_usb_512 = QtWidgets.QRadioButton(self.groupBox_4) self.ram_usb_512.setObjectName("ram_usb_512") - self.gridLayout_8.addWidget(self.ram_usb_512, 2, 1, 1, 1) - self.boot_usb_qemu = QtWidgets.QPushButton(self.groupBox_4) - self.boot_usb_qemu.setObjectName("boot_usb_qemu") - self.gridLayout_8.addWidget(self.boot_usb_qemu, 4, 4, 1, 1) - self.ram_usb_2048 = QtWidgets.QRadioButton(self.groupBox_4) - self.ram_usb_2048.setObjectName("ram_usb_2048") - self.gridLayout_8.addWidget(self.ram_usb_2048, 2, 4, 1, 1) - spacerItem6 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) - self.gridLayout_8.addItem(spacerItem6, 1, 1, 1, 1) - spacerItem7 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) - self.gridLayout_8.addItem(spacerItem7, 3, 2, 1, 1) - spacerItem8 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) - self.gridLayout_8.addItem(spacerItem8, 5, 0, 1, 1) + self.gridLayout_8.addWidget(self.ram_usb_512, 0, 2, 1, 1) + self.ram_usb_1024 = QtWidgets.QRadioButton(self.groupBox_4) + self.ram_usb_1024.setObjectName("ram_usb_1024") + self.gridLayout_8.addWidget(self.ram_usb_1024, 0, 4, 1, 1) self.verticalLayout_4.addLayout(self.gridLayout_8) self.gridLayout_6.addWidget(self.groupBox_4, 0, 0, 1, 1) self.verticalLayout_2.addLayout(self.gridLayout_6) + spacerItem16 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.verticalLayout_2.addItem(spacerItem16) self.tabWidget.addTab(self.tab, "") self.tab_2 = QtWidgets.QWidget() self.tab_2.setObjectName("tab_2") self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.tab_2) - self.horizontalLayout_6.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_6.setObjectName("horizontalLayout_6") self.gridLayout_10 = QtWidgets.QGridLayout() self.gridLayout_10.setObjectName("gridLayout_10") - spacerItem9 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) - self.gridLayout_10.addItem(spacerItem9, 0, 1, 1, 1) - spacerItem10 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) - self.gridLayout_10.addItem(spacerItem10, 1, 0, 1, 1) - spacerItem11 = QtWidgets.QSpacerItem(20, 30, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) - self.gridLayout_10.addItem(spacerItem11, 2, 1, 1, 1) + spacerItem17 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) + self.gridLayout_10.addItem(spacerItem17, 0, 1, 1, 1) + spacerItem18 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.gridLayout_10.addItem(spacerItem18, 1, 0, 1, 1) + spacerItem19 = QtWidgets.QSpacerItem(20, 30, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) + self.gridLayout_10.addItem(spacerItem19, 2, 1, 1, 1) self.label_5 = QtWidgets.QLabel(self.tab_2) self.label_5.setObjectName("label_5") self.gridLayout_10.addWidget(self.label_5, 1, 1, 1, 1) - spacerItem12 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) - self.gridLayout_10.addItem(spacerItem12, 1, 2, 1, 1) + spacerItem20 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.gridLayout_10.addItem(spacerItem20, 1, 2, 1, 1) self.horizontalLayout_6.addLayout(self.gridLayout_10) self.tabWidget.addTab(self.tab_2, "") self.horizontalLayout.addWidget(self.tabWidget) @@ -372,84 +419,101 @@ class Ui_Dialog(object): self.retranslateUi(Dialog) self.tabWidget.setCurrentIndex(0) QtCore.QMetaObject.connectSlotsByName(Dialog) + Dialog.setTabOrder(self.comboBox, self.detect_usb) + Dialog.setTabOrder(self.detect_usb, self.lineEdit) + Dialog.setTabOrder(self.lineEdit, self.slider_persistence) + Dialog.setTabOrder(self.slider_persistence, self.uninstall) + Dialog.setTabOrder(self.uninstall, self.listWidget) + Dialog.setTabOrder(self.listWidget, self.close) + Dialog.setTabOrder(self.close, self.comboBox_2) + Dialog.setTabOrder(self.comboBox_2, self.pushButton) + Dialog.setTabOrder(self.pushButton, self.pushbtn_imager_refreshusb) + Dialog.setTabOrder(self.pushbtn_imager_refreshusb, self.lineEdit_3) + Dialog.setTabOrder(self.lineEdit_3, self.imager_write) + Dialog.setTabOrder(self.imager_write, self.imager_close) + Dialog.setTabOrder(self.imager_close, self.install_sys_only) + Dialog.setTabOrder(self.install_sys_only, self.install_sys_all) + Dialog.setTabOrder(self.install_sys_all, self.install_syslinux) + Dialog.setTabOrder(self.install_syslinux, self.edit_syslinux) + Dialog.setTabOrder(self.edit_syslinux, self.lineEdit_2) + Dialog.setTabOrder(self.lineEdit_2, self.browse_iso_qemu) + Dialog.setTabOrder(self.browse_iso_qemu, self.ram_iso_256) + Dialog.setTabOrder(self.ram_iso_256, self.ram_iso_512) + Dialog.setTabOrder(self.ram_iso_512, self.ram_iso_768) + Dialog.setTabOrder(self.ram_iso_768, self.ram_iso_1024) + Dialog.setTabOrder(self.ram_iso_1024, self.ram_iso_2048) + Dialog.setTabOrder(self.ram_iso_2048, self.boot_iso_qemu) + Dialog.setTabOrder(self.boot_iso_qemu, self.ram_usb_256) + Dialog.setTabOrder(self.ram_usb_256, self.ram_usb_512) + Dialog.setTabOrder(self.ram_usb_512, self.ram_usb_768) + Dialog.setTabOrder(self.ram_usb_768, self.ram_usb_1024) + Dialog.setTabOrder(self.ram_usb_1024, self.ram_usb_2048) + Dialog.setTabOrder(self.ram_usb_2048, self.boot_usb_qemu) + Dialog.setTabOrder(self.boot_usb_qemu, self.tabWidget) def retranslateUi(self, Dialog): _translate = QtCore.QCoreApplication.translate Dialog.setWindowTitle(_translate("Dialog", "multibootusb")) - self.label_persistence_value.setText(_translate("Dialog", "0 MB")) - self.groupBox_11.setTitle(_translate("Dialog", "Detect")) - self.detect_usb.setText(_translate("Dialog", "Detect Drives")) - self.create.setText(_translate("Dialog", "Create")) - self.labelstep1.setText(_translate("Dialog", "

Step 1

")) - self.labelstep2.setText(_translate("Dialog", "

Step 2

")) - self.close.setText(_translate("Dialog", "Close")) - self.labelstep3.setText(_translate("Dialog", "

Step 3

")) - self.slider_persistence.setToolTip(_translate("Dialog", "Choose Persistence size. Not all distros supports persistence...")) - self.groupBox.setTitle(_translate("Dialog", "Uninstall (Optional)")) - self.uninstall.setText(_translate("Dialog", "Uninstall Distro")) self.groupBox_6.setTitle(_translate("Dialog", "USB Details")) - self.usb_dev.setText(_translate("Dialog", "Drive ::")) - self.usb_vendor.setText(_translate("Dialog", "Vendor ::")) - self.usb_model.setText(_translate("Dialog", "Model::")) - self.usb_size.setText(_translate("Dialog", "Size ::")) - self.usb_mount.setText(_translate("Dialog", "Mount ::")) + self.label_usb_dev.setText(_translate("Dialog", "Drive:")) + self.label_usb_vendor.setText(_translate("Dialog", "Vendor:")) + self.label_usb_model.setText(_translate("Dialog", "Model:")) + self.label_usb_size.setText(_translate("Dialog", "Size:")) + self.label_usb_mount.setText(_translate("Dialog", "Mount:")) + self.close.setText(_translate("Dialog", "Quit")) self.browse_iso.setText(_translate("Dialog", "Browse ISO")) - self.label_persistence.setText(_translate("Dialog", "

Persistence

")) + self.label_persistence.setText(_translate("Dialog", "Persistence")) + self.detect_usb.setText(_translate("Dialog", "Detect Drives")) + self.uninstall.setText(_translate("Dialog", "Uninstall Distro")) + self.slider_persistence.setToolTip(_translate("Dialog", "Choose Persistence size. Not all distros supports persistence...")) self.checkBox_all_drives.setText(_translate("Dialog", "All Drives")) + self.label_persistence_value.setText(_translate("Dialog", "0 MB")) + self.create.setText(_translate("Dialog", "Install")) + self.status.setText(_translate("Dialog", "Status: Idle")) + self.labelstep1.setText(_translate("Dialog", "Step 1 :: Select drive")) + self.labelstep2.setText(_translate("Dialog", "Step 2 :: Select ISO")) + self.labelstep3.setText(_translate("Dialog", "Step 3 :: Install distro")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("Dialog", "MultiBootUSB")) - self.groupBox_7.setTitle(_translate("Dialog", "Imager")) - self.groupBox_9.setTitle(_translate("Dialog", "-------------- USB details -------------------")) - self.pushbtn_imager_refreshusb.setText(_translate("Dialog", "Refresh USB")) - self.imager_disk_label.setText(_translate("Dialog", "Disk Label ::")) - self.imager_total_size.setText(_translate("Dialog", "Disk Size")) - self.imager_uuid.setText(_translate("Dialog", "Disk Label ::")) - self.groupBox_10.setTitle(_translate("Dialog", "------------------------------ ISO details ----------------------------------")) - self.pushButton.setText(_translate("Dialog", "Browse ISO")) + self.groupBox_10.setTitle(_translate("Dialog", "Select image")) + self.pushButton.setText(_translate("Dialog", "Browse image...")) self.imager_bootable.setText(_translate("Dialog", "Bootable ISO")) - self.imager_iso_size.setText(_translate("Dialog", "ISO Size")) - self.groupBox_8.setTitle(_translate("Dialog", "Imager Progress")) - self.imager_write.setText(_translate("Dialog", "Write/Create")) - self.imager_close.setText(_translate("Dialog", "Close")) + self.imager_iso_size.setText(_translate("Dialog", "Image Size")) + self.groupBox_9.setTitle(_translate("Dialog", "Select USB Drive")) + self.pushbtn_imager_refreshusb.setText(_translate("Dialog", "Refresh USB")) + self.label_imager_disk_label.setText(_translate("Dialog", "Disk Type:")) + self.label_imager_total_size.setText(_translate("Dialog", "Disk Size:")) + self.label_imager_uuid.setText(_translate("Dialog", "Disk Label:")) + self.imager_label_status.setText(_translate("Dialog", "Status: Idle")) self.label_10.setText(_translate("Dialog", "

WARNING : Any bootable USB made using ISO Imager will destroy all data on the selected USB disk.

Use it at your own risk. Developers are not responsile for loss of any data.

")) - self.tabWidget.setTabText(self.tabWidget.indexOf(self.imager), _translate("Dialog", "ISO Imager")) + self.imager_write.setText(_translate("Dialog", "Write Image")) + self.imager_close.setText(_translate("Dialog", "Quit")) + self.tabWidget.setTabText(self.tabWidget.indexOf(self.imager), _translate("Dialog", "Write Image to USB")) self.groupBox_2.setTitle(_translate("Dialog", "Install Syslinux")) + self.install_sys_only.setText(_translate("Dialog", "Install only syslinu&x (existing configurations will not be altered).")) + self.install_sys_all.setText(_translate("Dialog", "Install syslinux and copy all re&quired files.")) self.install_syslinux.setText(_translate("Dialog", "Install")) - self.install_sys_all.setText(_translate("Dialog", "Install syslinux and copy all required files.")) - self.install_sys_only.setText(_translate("Dialog", "Install only syslinux (existing configurations will not be altred).")) self.groupBox_3.setTitle(_translate("Dialog", "Edit syslinux.cfg")) self.edit_syslinux.setText(_translate("Dialog", "Edit")) - self.label_2.setText(_translate("Dialog", "

Using this option user can edit syslinux.cfg file directly. It directly uses

default editor of host system. Be careful while editing syslinux.cfg file.

")) - self.tabWidget.setTabText(self.tabWidget.indexOf(self.syslinux_ab), _translate("Dialog", "Syslinux")) - self.groupBox_5.setTitle(_translate("Dialog", "Boot ISO")) - self.ram_iso_2048.setText(_translate("Dialog", "2048 MB")) - self.ram_iso_1024.setText(_translate("Dialog", "1024 MB")) - self.ram_iso_256.setText(_translate("Dialog", "256 MB")) - self.browse_iso_qemu.setText(_translate("Dialog", "Browse ISO")) - self.label_7.setText(_translate("Dialog", "

Best way to test your downloaded ISOs.

")) - self.ram_iso_512.setText(_translate("Dialog", "512 MB")) + self.label_2.setText(_translate("Dialog", "

Edit syslinux.cfg file directly using the default editor of your system.

Be CAREFUL while editing syslinux.cfg!

")) + self.tabWidget.setTabText(self.tabWidget.indexOf(self.syslinux_ab), _translate("Dialog", "Install Syslinux")) + self.groupBox_5.setTitle(_translate("Dialog", "Boot ISO :: Test bootable ISOs without reboot")) self.boot_iso_qemu.setText(_translate("Dialog", "Boot ISO")) - self.ram_iso_768.setText(_translate("Dialog", "768 MB")) - self.label_3.setText(_translate("Dialog", "Choose desired RAM and click on Boot ISO button.")) - self.groupBox_4.setTitle(_translate("Dialog", "Boot USB")) - self.ram_usb_768.setText(_translate("Dialog", "768 MB")) - self.ram_usb_256.setText(_translate("Dialog", "256 MB")) - self.label_6.setText(_translate("Dialog", "

Use this option if you want to check USB installation without reboot.

")) - self.ram_usb_1024.setText(_translate("Dialog", "1024 MB")) - self.label_4.setText(_translate("Dialog", "Choose desired RAM and click on Boot USB button.")) - self.ram_usb_512.setText(_translate("Dialog", "512 MB")) + self.browse_iso_qemu.setText(_translate("Dialog", "Browse ISO")) + self.label_3.setText(_translate("Dialog", "Choose RAM size:")) + self.ram_iso_256.setText(_translate("Dialog", "&256 MB")) + self.ram_iso_512.setText(_translate("Dialog", "&512 MB")) + self.ram_iso_768.setText(_translate("Dialog", "&768 MB")) + self.ram_iso_1024.setText(_translate("Dialog", "&1024 MB")) + self.ram_iso_2048.setText(_translate("Dialog", "204&8 MB")) + self.groupBox_4.setTitle(_translate("Dialog", "Boot USB :: Test bootable USB drive without reboot")) + self.ram_usb_2048.setText(_translate("Dialog", "20&48 MB")) self.boot_usb_qemu.setText(_translate("Dialog", "Boot USB")) - self.ram_usb_2048.setText(_translate("Dialog", "2048 MB")) - self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("Dialog", "QEMU")) - self.label_5.setText(_translate("Dialog", "

An advanced bootable usb creator with option to install/uninstall

multiple distros. This software is written in python and pyqt.

Copyright 2010-2016 Sundar

Author(s): Sundar, Ian Bruce, Lee

Licence: GPL version 2 or later

Home page: http://multibootusb.org

Help/Email: feedback.multibootusb@gmail.com

Source Code:https://github.com/mbusb/multibootusb


")) + self.ram_usb_256.setText(_translate("Dialog", "25&6 MB")) + self.ram_usb_768.setText(_translate("Dialog", "7&68 MB")) + self.label_4.setText(_translate("Dialog", "Choose RAM size:")) + self.ram_usb_512.setText(_translate("Dialog", "5&12 MB")) + self.ram_usb_1024.setText(_translate("Dialog", "1&024 MB")) + self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("Dialog", "Boot ISO/USB")) + self.label_5.setText(_translate("Dialog", "

An advanced bootable usb creator with option to install/uninstall multiple distros.

This software is written in python and pyqt.

Copyright 2010-2016 Sundar

Author(s): Sundar, Ian Bruce, Lee

Licence: GPL version 2 or later

Home page: http://multibootusb.org

Help/Email: feedback.multibootusb@gmail.com

Source Code: https://github.com/mbusb/multibootusb


")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("Dialog", "About")) - -if __name__ == "__main__": - import sys - app = QtWidgets.QApplication(sys.argv) - Dialog = QtWidgets.QDialog() - ui = Ui_Dialog() - ui.setupUi(Dialog) - Dialog.show() - sys.exit(app.exec_()) - diff --git a/scripts/imager.py b/scripts/imager.py index 0d3e006..ba65949 100644 --- a/scripts/imager.py +++ b/scripts/imager.py @@ -115,33 +115,32 @@ class Imager(QtWidgets.QDialog, Ui_Dialog): :return: """ log("Testing ISO...") + self.ui.imager_bootable.setVisible(True) if iso.is_bootable(config.imager_iso_link) is True: - self.ui.imager_bootable.setText("Bootable ISO :: Yes") + self.ui.imager_bootable.setText("Bootable ISO: Yes") log("ISO is bootable.") else: - self.ui.imager_bootable.setText("Bootable ISO :: No") + self.ui.imager_bootable.setText("Bootable ISO: No") log("ISO is not bootable.") if os.path.exists(config.imager_iso_link): - log("Path " + config.imager_iso_link + " is exist...") + log("Path " + config.imager_iso_link + " exists...") self.iso_size = str(round(os.path.getsize(config.imager_iso_link) / 1024 / 1024)) - self.ui.imager_iso_size.setText("ISO Size :: " + self.iso_size + " MB") + self.ui.imager_iso_size.setVisible(True) + self.ui.imager_iso_size.setText("ISO Size: " + self.iso_size + " MB") log("ISO Size is " + self.iso_size + " MB") def onImagerComboChange(self): config.imager_usb_disk = str(self.ui.comboBox_2.currentText()) if bool(config.imager_usb_disk): - self.ui.imager_disk_label.setText("Disk Type :: " + self.imager_usb_detail(config.imager_usb_disk, - partition=0).usb_type) - self.ui.imager_total_size.setText("Disk Size :: " + usb.bytes2human(int(self.imager_usb_detail - (config.imager_usb_disk, - partition=0).total_size))) + self.ui.imager_disk_label.setText(self.imager_usb_detail(config.imager_usb_disk, partition=0).usb_type) + self.ui.imager_total_size.setText(usb.bytes2human(int(self.imager_usb_detail(config.imager_usb_disk, partition=0).total_size))) + if platform.system() == "Linux": - self.ui.imager_uuid.setText("Disk Model :: " + str(self.imager_usb_detail(config.imager_usb_disk, - partition=0).model)) + self.ui.label_imager_uuid.setText("Disk Model:") + self.ui.imager_uuid.setText(str(self.imager_usb_detail(config.imager_usb_disk, partition=0).model)) else: - self.ui.imager_uuid.setText("Disk Label :: " + self.imager_usb_detail(config.imager_usb_disk, - partition=0).model) + self.ui.imager_uuid.setText(self.imager_usb_detail(config.imager_usb_disk, partition=0).model) def imager_list_usb(self, partition=1): """ @@ -190,7 +189,7 @@ class Imager(QtWidgets.QDialog, Ui_Dialog): if not total_size: total_size = "Unknown" usb_type = "Removable" - model = subprocess.check_output("lsblk -in -f -o MODEL " + usb_disk, shell=True).decode() + model = subprocess.check_output("lsblk -in -f -o MODEL " + usb_disk, shell=True).decode().strip() if not model: model = "Unknown" else: diff --git a/scripts/mbusb_gui.py b/scripts/mbusb_gui.py index 2b9db7d..6e279b9 100644 --- a/scripts/mbusb_gui.py +++ b/scripts/mbusb_gui.py @@ -39,6 +39,23 @@ class AppGui(qemu.Qemu, Imager, QtWidgets.QDialog, Ui_Dialog): self.ui = Ui_Dialog() self.ui.setupUi(self) + self.ui.tabWidget.setCurrentIndex(0) + self.ui.label_persistence_value.setVisible(False) + self.ui.label_persistence.setVisible(False) + self.ui.slider_persistence.setVisible(False) + + self.ui.label_imager_disk_label.setVisible(False) + self.ui.label_imager_total_size.setVisible(False) + self.ui.label_imager_uuid.setVisible(False) + self.ui.label_usb_dev.setVisible(False) + self.ui.label_usb_vendor.setVisible(False) + self.ui.label_usb_model.setVisible(False) + self.ui.label_usb_size.setVisible(False) + self.ui.label_usb_mount.setVisible(False) + + self.ui.imager_bootable.setVisible(False) + self.ui.imager_iso_size.setVisible(False) + # Main Tab self.ui.checkBox_all_drives.clicked.connect(self.add_device) self.ui.detect_usb.clicked.connect(self.onRefereshClick) @@ -131,21 +148,51 @@ class AppGui(qemu.Qemu, Imager, QtWidgets.QDialog, Ui_Dialog): """ self.ui.comboBox.clear() self.ui.comboBox_2.clear() + self.ui.imager_disk_label.clear() + self.ui.label_imager_disk_label.setVisible(False) + self.ui.imager_total_size.clear() + self.ui.label_imager_total_size.setVisible(False) + self.ui.imager_uuid.clear() + self.ui.label_imager_uuid.setVisible(False) + self.ui.usb_dev.clear() + self.ui.label_usb_dev.setVisible(False) + self.ui.usb_vendor.clear() + self.ui.label_usb_vendor.setVisible(False) + self.ui.usb_model.clear() + self.ui.label_usb_model.setVisible(False) + self.ui.usb_size.clear() + self.ui.label_usb_size.setVisible(False) + self.ui.usb_mount.clear() + self.ui.label_usb_mount.setVisible(False) + self.add_device() def update_gui_oncombobox(self, usb_disk): self.usb_details = usb.details(usb_disk) config.usb_mount = self.usb_details['mount_point'] - self.ui.usb_dev.setText("Drive :: " + usb_disk) + self.ui.usb_dev.setText(usb_disk) + + self.ui.label_imager_disk_label.setVisible(True) + self.ui.label_imager_total_size.setVisible(True) + self.ui.label_imager_uuid.setVisible(True) + self.ui.label_usb_dev.setVisible(True) + self.ui.label_usb_vendor.setVisible(True) + self.ui.label_usb_model.setVisible(True) + self.ui.label_usb_size.setVisible(True) + self.ui.label_usb_mount.setVisible(True) + # self.label.setFont(QtGui.QFont("Times",weight=QtGui.QFont.Bold)) if platform.system() == 'Windows': - self.ui.usb_vendor.setText("FileSystem :: " + self.usb_details['file_system']) - self.ui.usb_model.setText("Label :: " + self.usb_details['label']) + self.ui.label_usb_vendor.setText("FileSystem:") + self.ui.usb_vendor.setText(self.usb_details['file_system']) + + self.ui.label_usb_model.setText("Label: ") + self.ui.usb_model.setText(self.usb_details['label']) else: - self.ui.usb_vendor.setText("Vendor :: " + self.usb_details['vendor']) - self.ui.usb_model.setText("Model :: " + self.usb_details['model']) - self.ui.usb_size.setText("Total Size :: " + str(usb.bytes2human(self.usb_details['size_total']))) - self.ui.usb_mount.setText("Mount :: " + self.usb_details['mount_point']) + self.ui.usb_vendor.setText(self.usb_details['vendor']) + self.ui.usb_model.setText(self.usb_details['model']) + self.ui.usb_size.setText(str(usb.bytes2human(self.usb_details['size_total']))) + self.ui.usb_mount.setText(self.usb_details['mount_point']) self.update_list_box(usb_disk) @@ -184,6 +231,11 @@ class AppGui(qemu.Qemu, Imager, QtWidgets.QDialog, Ui_Dialog): per_availability = persistence.persistence_distro(config.distro, config.usb_disk, config.iso_link)[0] per_max_size = persistence.persistence_distro(config.distro, config.usb_disk, config.iso_link)[1] if per_availability is not None: + self.ui.label_persistence_value.setVisible(True) + self.ui.label_persistence.setVisible(True) + self.ui.slider_persistence.setVisible(True) + self.ui.label_persistence_value.setEnabled(True) + self.ui.label_persistence.setEnabled(True) self.ui.slider_persistence.setEnabled(True) self.ui.slider_persistence.setTickInterval(10) self.ui.slider_persistence.setSingleStep(10) @@ -192,6 +244,12 @@ class AppGui(qemu.Qemu, Imager, QtWidgets.QDialog, Ui_Dialog): self.ui.slider_persistence.setMaximum(ui_per_max_size) log('Persistence Max Size: ' + str(bytes2human(per_max_size))) else: + self.ui.label_persistence_value.setEnabled(False) + self.ui.label_persistence.setEnabled(False) + self.ui.slider_persistence.setEnabled(False) + self.ui.label_persistence_value.setVisible(False) + self.ui.label_persistence.setVisible(False) + self.ui.slider_persistence.setVisible(False) log('Persistence is not available for ' + iso_name(config.iso_link)) else: log("File not selected...") @@ -206,15 +264,15 @@ class AppGui(qemu.Qemu, Imager, QtWidgets.QDialog, Ui_Dialog): Function to install syslinux on distro directory and on selected USB disks. :return: """ - self.ui.status.setText(str("Installing Syslinux...")) + self.ui.status.setText(str("Status: Installing Syslinux...")) syslinux_distro_dir(config.usb_disk, config.iso_link, config.distro) syslinux_default(config.usb_disk) update_distro_cfg_files(config.iso_link, config.usb_disk, config.distro, config.persistence) self.update_list_box(config.usb_disk) if sys.platform.startswith("linux"): - self.ui.status.setText("Sync is in progress...") + self.ui.status.setText("Status: Sync is in progress...") os.system('sync') - self.ui.status.clear() + self.ui.status.setText("Status: Idle") QtWidgets.QMessageBox.information(self, 'Finished...', iso_name(config.iso_link) + ' has been successfully installed.') config.process_exist = None @@ -295,7 +353,7 @@ class AppGui(qemu.Qemu, Imager, QtWidgets.QDialog, Ui_Dialog): config.uninstall_distro_dir_name = str(self.ui.listWidget.currentItem().text()).strip() reply = QtWidgets.QMessageBox.question(self, "Review selection...", "Are you sure to uninstall " + config.uninstall_distro_dir_name, - QtWidgets.QMessageBox.Yes, QtWidgets.QMessageBox.No) + QtWidgets.QMessageBox.Yes|QtWidgets.QMessageBox.No, QtWidgets.QMessageBox.No) if reply == QtWidgets.QMessageBox.Yes: @@ -314,9 +372,9 @@ class AppGui(qemu.Qemu, Imager, QtWidgets.QDialog, Ui_Dialog): update_sys_cfg_file() self.update_list_box(config.usb_mount) if sys.platform.startswith("linux"): - self.ui.status.setText("Sync is in progress...") + self.ui.status.setText("Status: Sync in progress...") os.system('sync') - self.ui.status.clear() + self.ui.status.setText("Status: Idle") QtWidgets.QMessageBox.information(self, 'Uninstall Complete...', config.uninstall_distro_dir_name + ' has been successfully removed.') @@ -358,22 +416,22 @@ class AppGui(qemu.Qemu, Imager, QtWidgets.QDialog, Ui_Dialog): if os.path.exists(config.iso_link): self.ui.lineEdit.clear() if config.distro: - log("Distro type detected is " + config.distro) + log("Distro type detected: " + config.distro) copy_mbusb_dir_usb(config.usb_disk) if not os.path.exists(os.path.join(config.usb_mount, "multibootusb", iso_basename(config.iso_link))): config.persistence = self.ui.slider_persistence.value() * 1024 * 1024 install_size = iso_size(config.iso_link) + config.persistence - log("Persistence choosen is " + str(config.persistence) + " MB") + log("Persistence chosen is " + str(config.persistence) + " MB") if install_size >= disk_usage(config.usb_mount).free: QtWidgets.QMessageBox.information(self, "No Space.", "No space available on " + config.usb_disk) else: reply = QtWidgets.QMessageBox.question(self, 'Review selection...', - 'Selected USB disk:: %s\n' % config.usb_disk + - 'USB mount point:: %s\n' % config.usb_mount + - 'Selected distro:: %s\n\n' % iso_name(config.iso_link) + - 'Would you like to proceed for installation?', - QtWidgets.QMessageBox.Yes, QtWidgets.QMessageBox.No) + 'Selected USB disk: %s\n' % config.usb_disk + + 'USB mount point: %s\n' % config.usb_mount + + 'Selected distro: %s\n\n' % iso_name(config.iso_link) + + 'Proceed with installation?', + QtWidgets.QMessageBox.Yes|QtWidgets.QMessageBox.No, QtWidgets.QMessageBox.No) if reply == QtWidgets.QMessageBox.Yes: self.ui.slider_persistence.setEnabled(False) @@ -381,7 +439,7 @@ class AppGui(qemu.Qemu, Imager, QtWidgets.QDialog, Ui_Dialog): self.progress_thread_install.start() else: - QtWidgets.QMessageBox.information(self, 'Already Exist...', + QtWidgets.QMessageBox.information(self, 'Already exists...', os.path.basename(config.iso_link) + ' is already installed.') else: QtWidgets.QMessageBox.information(self, 'No support...', @@ -398,14 +456,21 @@ class AppGui(qemu.Qemu, Imager, QtWidgets.QDialog, Ui_Dialog): :return: """ self.ui.imager_progressbar.setValue(0) - self.ui.imager_label_status.clear() + self.ui.imager_label_status.setText("Status: Idle") self.ui.comboBox_2.setEnabled(True) self.ui.pushButton.setEnabled(True) - self.ui.imager_bootable.setText("Bootable ISO :: ") - self.ui.imager_iso_size.setText("ISO Size :: ") + self.ui.imager_write.setEnabled(True) + self.ui.pushbtn_imager_refreshusb.setEnabled(True) + self.ui.imager_bootable.setText("Bootable ISO: ") + self.ui.imager_iso_size.setText("Image Size: ") config.process_exist = None - QtWidgets.QMessageBox.information(self, 'Finished...', 'ISO has been written to USB disk.\nPlease reboot your ' - 'system to boot from USB.') + + msgBox = QtWidgets.QMessageBox() + msgBox.setText("Image succesfully written to USB disk.") + msgBox.setInformativeText("Reboot to boot from USB or test it from Boot ISO/USB tab."); + msgBox.setStandardButtons(QtWidgets.QMessageBox.Ok) + msgBox.setIcon(QtWidgets.QMessageBox.Information) + msgBox.exec() def dd_start(self): """ @@ -418,8 +483,9 @@ class AppGui(qemu.Qemu, Imager, QtWidgets.QDialog, Ui_Dialog): self.ui.pushButton.setEnabled(False) self.ui.comboBox_2.setEnabled(False) self.ui.pushbtn_imager_refreshusb.setEnabled(False) - status_text = ("Writing " + os.path.basename(config.imager_iso_link) + "" + " to " + "" + - config.imager_usb_disk_selected + "") + self.ui.imager_write.setEnabled(False) + status_text = ("Status: Writing " + os.path.basename(config.imager_iso_link) + "" + " to " + "" + + config.imager_usb_disk + "") self.ui.imager_label_status.setText(status_text) def dd_quit(self): @@ -427,7 +493,7 @@ class AppGui(qemu.Qemu, Imager, QtWidgets.QDialog, Ui_Dialog): self.ui.imager_label_status.clear() self.ui.comboBox_2.setEnabled(True) self.ui.pushButton.setEnabled(True) - QtWidgets.QMessageBox.information(self, 'Failed!', 'Writing ISO failed.') + QtWidgets.QMessageBox.information(self, 'Failed!', 'Failed writing image.') def dd_write(self): if not config.imager_usb_disk: @@ -438,15 +504,15 @@ class AppGui(qemu.Qemu, Imager, QtWidgets.QDialog, Ui_Dialog): usb_disk_size = int(self.imager_usb_detail(config.imager_usb_disk, partition=0).total_size) self.iso_size = os.path.getsize(config.imager_iso_link) if self.iso_size >= usb_disk_size: - QtWidgets.QMessageBox.information(self, "No Space.", os.path.basename(config.imager_iso_link) + + QtWidgets.QMessageBox.information(self, "No enough space on disk.", os.path.basename(config.imager_iso_link) + " size is larger than the size of " + config.imager_usb_disk) else: reply = QtWidgets.QMessageBox.question \ - (self, 'Review selection...', - 'Selected USB disk:: %s\n' % config.imager_usb_disk + - 'Selected distro:: %s\n\n' % os.path.basename(config.imager_iso_link) + - 'Would you like to proceed for installation?', - QtWidgets.QMessageBox.Yes, QtWidgets.QMessageBox.No) + (self, 'Review selection', + 'Selected disk: %s\n' % config.imager_usb_disk + + 'Selected image: %s\n\n' % os.path.basename(config.imager_iso_link) + + 'Proceed with writing image to disk?', + QtWidgets.QMessageBox.Yes|QtWidgets.QMessageBox.No, QtWidgets.QMessageBox.No) if reply == QtWidgets.QMessageBox.Yes: self.dd_start()