[supervision] Set custom icons, and change shortcut for clean. (#3049)
* [supervision] Set custom icons, and change shortcut for clean. * [supervision] Add control panel selector. * [supervision] remember last target built. * [supervision] refresh AC before build.
@@ -9,11 +9,14 @@ OBJECTS = $(patsubst $(SOURCEDIR)/%.ui,$(BUILDDIR)/%.py,$(SOURCES))
|
||||
|
||||
CC = pyuic5
|
||||
|
||||
all: $(BUILDDIR) $(OBJECTS)
|
||||
all: $(BUILDDIR) $(OBJECTS) resources
|
||||
|
||||
|
||||
$(OBJECTS): $(BUILDDIR)/%.py : $(SOURCEDIR)/%.ui
|
||||
$(CC) -o $@ $<;
|
||||
$(CC) --import-from=generated -o $@ $<;
|
||||
|
||||
resources:
|
||||
pyrcc5 $(SOURCEDIR)/resources.qrc -o $(BUILDDIR)/resources_rc.py
|
||||
|
||||
$(BUILDDIR):
|
||||
mkdir -p $@
|
||||
|
||||
@@ -28,6 +28,7 @@ class FlashMode:
|
||||
class BuildWidget(Ui_Build, QWidget):
|
||||
|
||||
spawn_program = QtCore.pyqtSignal(str, list, str, object)
|
||||
refresh_ac = QtCore.pyqtSignal(object)
|
||||
|
||||
def __init__(self, parent=None):
|
||||
QWidget.__init__(self, parent=parent)
|
||||
@@ -73,6 +74,9 @@ class BuildWidget(Ui_Build, QWidget):
|
||||
|
||||
for target in ac.boards.keys():
|
||||
self.target_combo.addItem(target)
|
||||
last_target = utils.get_settings().value("ui/last_target", None, str)
|
||||
if last_target is not None and last_target in ac.boards.keys():
|
||||
self.target_combo.setCurrentText(last_target)
|
||||
|
||||
def update_flash_mode(self, target):
|
||||
self.device_combo.clear()
|
||||
@@ -92,8 +96,11 @@ class BuildWidget(Ui_Build, QWidget):
|
||||
if self.print_config_checkbox.isChecked():
|
||||
cmd.append("PRINT_CONFIG=1")
|
||||
shortname = "Build {}".format(self.ac.name)
|
||||
self.refresh_ac.emit(self.ac)
|
||||
self.conf.save(False)
|
||||
self.target_combo.setCurrentText(target)
|
||||
self.enable_buttons(False)
|
||||
utils.get_settings().setValue("ui/last_target", target)
|
||||
self.spawn_program.emit(shortname, cmd, None, lambda: self.enable_buttons(True))
|
||||
|
||||
def clean(self):
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'ui/ui_app_settings.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.14.1
|
||||
# Created by: PyQt5 UI code generator 5.15.9
|
||||
#
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
@@ -50,8 +51,8 @@ class Ui_AppSettingsDialog(object):
|
||||
self.gridLayout.addWidget(self.keep_build_programs_checkbox, 3, 1, 1, 1)
|
||||
|
||||
self.retranslateUi(AppSettingsDialog)
|
||||
self.buttonBox.accepted.connect(AppSettingsDialog.accept)
|
||||
self.buttonBox.rejected.connect(AppSettingsDialog.reject)
|
||||
self.buttonBox.accepted.connect(AppSettingsDialog.accept) # type: ignore
|
||||
self.buttonBox.rejected.connect(AppSettingsDialog.reject) # type: ignore
|
||||
QtCore.QMetaObject.connectSlotsByName(AppSettingsDialog)
|
||||
|
||||
def retranslateUi(self, AppSettingsDialog):
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'ui/ui_build.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.14.1
|
||||
# Created by: PyQt5 UI code generator 5.15.6
|
||||
#
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
@@ -13,7 +14,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
class Ui_Build(object):
|
||||
def setupUi(self, Build):
|
||||
Build.setObjectName("Build")
|
||||
Build.resize(437, 87)
|
||||
Build.resize(464, 87)
|
||||
self.horizontalLayout = QtWidgets.QHBoxLayout(Build)
|
||||
self.horizontalLayout.setObjectName("horizontalLayout")
|
||||
self.groupBox = QtWidgets.QGroupBox(Build)
|
||||
@@ -34,13 +35,15 @@ class Ui_Build(object):
|
||||
self.target_combo.setObjectName("target_combo")
|
||||
self.horizontalLayout_2.addWidget(self.target_combo)
|
||||
self.clean_button = QtWidgets.QToolButton(self.groupBox)
|
||||
icon = QtGui.QIcon.fromTheme("edit-clear")
|
||||
icon = QtGui.QIcon()
|
||||
icon.addPixmap(QtGui.QPixmap(":/icons/icons/clean.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
self.clean_button.setIcon(icon)
|
||||
self.clean_button.setObjectName("clean_button")
|
||||
self.horizontalLayout_2.addWidget(self.clean_button)
|
||||
self.build_button = QtWidgets.QToolButton(self.groupBox)
|
||||
icon = QtGui.QIcon.fromTheme("system-run")
|
||||
self.build_button.setIcon(icon)
|
||||
icon1 = QtGui.QIcon()
|
||||
icon1.addPixmap(QtGui.QPixmap(":/icons/icons/build.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
self.build_button.setIcon(icon1)
|
||||
self.build_button.setToolButtonStyle(QtCore.Qt.ToolButtonIconOnly)
|
||||
self.build_button.setObjectName("build_button")
|
||||
self.horizontalLayout_2.addWidget(self.build_button)
|
||||
@@ -70,8 +73,9 @@ class Ui_Build(object):
|
||||
self.device_combo.setObjectName("device_combo")
|
||||
self.horizontalLayout_3.addWidget(self.device_combo)
|
||||
self.flash_button = QtWidgets.QToolButton(self.groupBox_2)
|
||||
icon = QtGui.QIcon.fromTheme("emblem-downloads")
|
||||
self.flash_button.setIcon(icon)
|
||||
icon2 = QtGui.QIcon()
|
||||
icon2.addPixmap(QtGui.QPixmap(":/icons/icons/flash.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
self.flash_button.setIcon(icon2)
|
||||
self.flash_button.setObjectName("flash_button")
|
||||
self.horizontalLayout_3.addWidget(self.flash_button)
|
||||
self.horizontalLayout.addWidget(self.groupBox_2)
|
||||
@@ -86,7 +90,7 @@ class Ui_Build(object):
|
||||
self.label_14.setText(_translate("Build", "Target"))
|
||||
self.clean_button.setToolTip(_translate("Build", "Clean"))
|
||||
self.clean_button.setText(_translate("Build", "..."))
|
||||
self.clean_button.setShortcut(_translate("Build", "Ctrl+C"))
|
||||
self.clean_button.setShortcut(_translate("Build", "Ctrl+Shift+B"))
|
||||
self.build_button.setToolTip(_translate("Build", "Build"))
|
||||
self.build_button.setText(_translate("Build", "..."))
|
||||
self.build_button.setShortcut(_translate("Build", "Ctrl+B"))
|
||||
@@ -96,3 +100,4 @@ class Ui_Build(object):
|
||||
self.flash_button.setToolTip(_translate("Build", "Upload"))
|
||||
self.flash_button.setText(_translate("Build", "Flash"))
|
||||
self.flash_button.setShortcut(_translate("Build", "Ctrl+U"))
|
||||
from generated import resources_rc
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'ui/ui_conf_header.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.14.1
|
||||
# Created by: PyQt5 UI code generator 5.15.6
|
||||
#
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
@@ -37,18 +38,21 @@ class Ui_ConfHeader(object):
|
||||
self.menu_button = QtWidgets.QToolButton(ConfHeader)
|
||||
self.menu_button.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
|
||||
self.menu_button.setText("")
|
||||
icon = QtGui.QIcon.fromTheme("format-justify-fill")
|
||||
icon = QtGui.QIcon()
|
||||
icon.addPixmap(QtGui.QPixmap(":/icons/icons/menu.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
self.menu_button.setIcon(icon)
|
||||
self.menu_button.setObjectName("menu_button")
|
||||
self.horizontalLayout.addWidget(self.menu_button)
|
||||
self.refresh_button = QtWidgets.QToolButton(ConfHeader)
|
||||
icon = QtGui.QIcon.fromTheme("view-refresh")
|
||||
self.refresh_button.setIcon(icon)
|
||||
icon1 = QtGui.QIcon()
|
||||
icon1.addPixmap(QtGui.QPixmap(":/icons/icons/refresh.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
self.refresh_button.setIcon(icon1)
|
||||
self.refresh_button.setObjectName("refresh_button")
|
||||
self.horizontalLayout.addWidget(self.refresh_button)
|
||||
self.save_button = QtWidgets.QToolButton(ConfHeader)
|
||||
icon = QtGui.QIcon.fromTheme("document-save")
|
||||
self.save_button.setIcon(icon)
|
||||
icon2 = QtGui.QIcon()
|
||||
icon2.addPixmap(QtGui.QPixmap(":/icons/icons/save.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
self.save_button.setIcon(icon2)
|
||||
self.save_button.setObjectName("save_button")
|
||||
self.horizontalLayout.addWidget(self.save_button)
|
||||
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
@@ -64,20 +68,23 @@ class Ui_ConfHeader(object):
|
||||
self.new_ac_action.setIcon(icon)
|
||||
self.new_ac_action.setObjectName("new_ac_action")
|
||||
self.remove_ac_action = QtWidgets.QAction(ConfHeader)
|
||||
icon = QtGui.QIcon.fromTheme("edit-delete")
|
||||
self.remove_ac_action.setIcon(icon)
|
||||
icon3 = QtGui.QIcon()
|
||||
icon3.addPixmap(QtGui.QPixmap(":/icons/icons/delete.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
self.remove_ac_action.setIcon(icon3)
|
||||
self.remove_ac_action.setObjectName("remove_ac_action")
|
||||
self.duplicate_action = QtWidgets.QAction(ConfHeader)
|
||||
icon = QtGui.QIcon.fromTheme("edit-copy")
|
||||
self.duplicate_action.setIcon(icon)
|
||||
icon4 = QtGui.QIcon()
|
||||
icon4.addPixmap(QtGui.QPixmap(":/icons/icons/copy.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
self.duplicate_action.setIcon(icon4)
|
||||
self.duplicate_action.setObjectName("duplicate_action")
|
||||
self.rename_action = QtWidgets.QAction(ConfHeader)
|
||||
icon = QtGui.QIcon.fromTheme("format-text-italic")
|
||||
self.rename_action.setIcon(icon)
|
||||
icon5 = QtGui.QIcon()
|
||||
icon5.addPixmap(QtGui.QPixmap(":/icons/icons/edit.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
self.rename_action.setIcon(icon5)
|
||||
self.rename_action.setObjectName("rename_action")
|
||||
|
||||
self.retranslateUi(ConfHeader)
|
||||
self.menu_button.clicked.connect(self.menu_button.showMenu)
|
||||
self.menu_button.clicked.connect(self.menu_button.showMenu) # type: ignore
|
||||
QtCore.QMetaObject.connectSlotsByName(ConfHeader)
|
||||
|
||||
def retranslateUi(self, ConfHeader):
|
||||
@@ -94,3 +101,4 @@ class Ui_ConfHeader(object):
|
||||
self.remove_ac_action.setText(_translate("ConfHeader", "Remove"))
|
||||
self.duplicate_action.setText(_translate("ConfHeader", "Duplicate"))
|
||||
self.rename_action.setText(_translate("ConfHeader", "Rename"))
|
||||
from generated import resources_rc
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'ui/ui_conf_item.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.14.1
|
||||
# Created by: PyQt5 UI code generator 5.15.9
|
||||
#
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'ui/ui_conf_settings.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.14.1
|
||||
# Created by: PyQt5 UI code generator 5.15.6
|
||||
#
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
@@ -23,13 +24,15 @@ class Ui_SettingsConf(object):
|
||||
self.label.setObjectName("label")
|
||||
self.horizontalLayout.addWidget(self.label)
|
||||
self.add_setting_button = QtWidgets.QToolButton(SettingsConf)
|
||||
icon = QtGui.QIcon.fromTheme("list-add")
|
||||
icon = QtGui.QIcon()
|
||||
icon.addPixmap(QtGui.QPixmap(":/icons/icons/add.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
self.add_setting_button.setIcon(icon)
|
||||
self.add_setting_button.setObjectName("add_setting_button")
|
||||
self.horizontalLayout.addWidget(self.add_setting_button)
|
||||
self.remove_setting_button = QtWidgets.QToolButton(SettingsConf)
|
||||
icon = QtGui.QIcon.fromTheme("list-remove")
|
||||
self.remove_setting_button.setIcon(icon)
|
||||
icon1 = QtGui.QIcon()
|
||||
icon1.addPixmap(QtGui.QPixmap(":/icons/icons/remove.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
self.remove_setting_button.setIcon(icon1)
|
||||
self.remove_setting_button.setObjectName("remove_setting_button")
|
||||
self.horizontalLayout.addWidget(self.remove_setting_button)
|
||||
self.verticalLayout.addLayout(self.horizontalLayout)
|
||||
@@ -46,3 +49,4 @@ class Ui_SettingsConf(object):
|
||||
self.label.setText(_translate("SettingsConf", "Settings"))
|
||||
self.add_setting_button.setText(_translate("SettingsConf", "..."))
|
||||
self.remove_setting_button.setText(_translate("SettingsConf", "..."))
|
||||
from generated import resources_rc
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'ui/ui_configuration_panel.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.14.1
|
||||
# Created by: PyQt5 UI code generator 5.15.9
|
||||
#
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'ui/ui_console.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.14.1
|
||||
# Created by: PyQt5 UI code generator 5.15.6
|
||||
#
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
@@ -43,7 +44,7 @@ class Ui_Console(object):
|
||||
self.scrollArea.setWidgetResizable(True)
|
||||
self.scrollArea.setObjectName("scrollArea")
|
||||
self.programs_widget = QtWidgets.QWidget()
|
||||
self.programs_widget.setGeometry(QtCore.QRect(0, 0, 382, 524))
|
||||
self.programs_widget.setGeometry(QtCore.QRect(0, 0, 180, 525))
|
||||
self.programs_widget.setObjectName("programs_widget")
|
||||
self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.programs_widget)
|
||||
self.verticalLayout_4.setObjectName("verticalLayout_4")
|
||||
@@ -78,7 +79,8 @@ class Ui_Console(object):
|
||||
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_2.addItem(spacerItem1)
|
||||
self.clear_button = QtWidgets.QPushButton(Console)
|
||||
icon = QtGui.QIcon.fromTheme("edit-clear")
|
||||
icon = QtGui.QIcon()
|
||||
icon.addPixmap(QtGui.QPixmap(":/icons/icons/clear.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
self.clear_button.setIcon(icon)
|
||||
self.clear_button.setObjectName("clear_button")
|
||||
self.horizontalLayout_2.addWidget(self.clear_button)
|
||||
@@ -98,3 +100,4 @@ class Ui_Console(object):
|
||||
self.label_3.setText(_translate("Console", "Log level:"))
|
||||
self.log_level_label.setText(_translate("Console", "All"))
|
||||
self.clear_button.setText(_translate("Console", "Clear console"))
|
||||
from generated import resources_rc
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'ui/ui_doc_viewer.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.14.1
|
||||
# Created by: PyQt5 UI code generator 5.15.6
|
||||
#
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
@@ -106,7 +107,8 @@ class Ui_DocPanel(object):
|
||||
self.urlLineEdit.setObjectName("urlLineEdit")
|
||||
self.horizontalLayout.addWidget(self.urlLineEdit)
|
||||
self.open_browser_button = QtWidgets.QToolButton(self.layoutWidget3)
|
||||
icon = QtGui.QIcon.fromTheme("applications-internet")
|
||||
icon = QtGui.QIcon()
|
||||
icon.addPixmap(QtGui.QPixmap(":/icons/icons/browser.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
self.open_browser_button.setIcon(icon)
|
||||
self.open_browser_button.setObjectName("open_browser_button")
|
||||
self.horizontalLayout.addWidget(self.open_browser_button)
|
||||
@@ -140,3 +142,4 @@ class Ui_DocPanel(object):
|
||||
self.doc_source_combo.setItemText(0, _translate("DocPanel", "Internet"))
|
||||
self.doc_source_combo.setItemText(1, _translate("DocPanel", "Local"))
|
||||
from PyQt5 import QtWebKitWidgets
|
||||
from generated import resources_rc
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'ui/ui_new_ac_dialog.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.14.1
|
||||
# Created by: PyQt5 UI code generator 5.15.9
|
||||
#
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'ui/ui_operation_panel.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.14.1
|
||||
# Created by: PyQt5 UI code generator 5.15.9
|
||||
#
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'ui/ui_program.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.14.1
|
||||
# Created by: PyQt5 UI code generator 5.15.9
|
||||
#
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
@@ -13,7 +14,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
class Ui_Program(object):
|
||||
def setupUi(self, Program):
|
||||
Program.setObjectName("Program")
|
||||
Program.resize(374, 25)
|
||||
Program.resize(374, 32)
|
||||
self.horizontalLayout = QtWidgets.QHBoxLayout(Program)
|
||||
self.horizontalLayout.setContentsMargins(-1, 0, -1, 0)
|
||||
self.horizontalLayout.setObjectName("horizontalLayout")
|
||||
@@ -29,13 +30,15 @@ class Ui_Program(object):
|
||||
self.line.setObjectName("line")
|
||||
self.horizontalLayout.addWidget(self.line)
|
||||
self.run_button = QtWidgets.QToolButton(Program)
|
||||
icon = QtGui.QIcon.fromTheme("media-playback-stop")
|
||||
icon = QtGui.QIcon()
|
||||
icon.addPixmap(QtGui.QPixmap(":/icons/icons/stop.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
self.run_button.setIcon(icon)
|
||||
self.run_button.setObjectName("run_button")
|
||||
self.horizontalLayout.addWidget(self.run_button)
|
||||
self.remove_button = QtWidgets.QToolButton(Program)
|
||||
icon = QtGui.QIcon.fromTheme("list-remove")
|
||||
self.remove_button.setIcon(icon)
|
||||
icon1 = QtGui.QIcon()
|
||||
icon1.addPixmap(QtGui.QPixmap(":/icons/icons/remove.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
self.remove_button.setIcon(icon1)
|
||||
self.remove_button.setObjectName("remove_button")
|
||||
self.horizontalLayout.addWidget(self.remove_button)
|
||||
|
||||
@@ -48,3 +51,4 @@ class Ui_Program(object):
|
||||
self.icon_label.setText(_translate("Program", "..."))
|
||||
self.run_button.setText(_translate("Program", "..."))
|
||||
self.remove_button.setText(_translate("Program", "..."))
|
||||
from generated import resources_rc
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'ui/ui_session.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.14.1
|
||||
# Created by: PyQt5 UI code generator 5.15.6
|
||||
#
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
@@ -16,25 +17,38 @@ class Ui_Session(object):
|
||||
Session.resize(400, 300)
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout(Session)
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.label_2 = QtWidgets.QLabel(Session)
|
||||
self.label_2.setObjectName("label_2")
|
||||
self.verticalLayout.addWidget(self.label_2)
|
||||
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
||||
self.sessions_combo = QtWidgets.QComboBox(Session)
|
||||
self.sessions_combo.setObjectName("sessions_combo")
|
||||
self.horizontalLayout_2.addWidget(self.sessions_combo)
|
||||
self.gridLayout = QtWidgets.QGridLayout()
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
self.start_session_button = QtWidgets.QToolButton(Session)
|
||||
icon = QtGui.QIcon.fromTheme("media-playback-start")
|
||||
icon = QtGui.QIcon()
|
||||
icon.addPixmap(QtGui.QPixmap(":/icons/icons/play.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
self.start_session_button.setIcon(icon)
|
||||
self.start_session_button.setObjectName("start_session_button")
|
||||
self.horizontalLayout_2.addWidget(self.start_session_button)
|
||||
self.gridLayout.addWidget(self.start_session_button, 1, 2, 1, 1)
|
||||
self.menu_button = QtWidgets.QToolButton(Session)
|
||||
self.menu_button.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
|
||||
icon = QtGui.QIcon.fromTheme("format-justify-fill")
|
||||
self.menu_button.setIcon(icon)
|
||||
icon1 = QtGui.QIcon()
|
||||
icon1.addPixmap(QtGui.QPixmap(":/icons/icons/menu.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
self.menu_button.setIcon(icon1)
|
||||
self.menu_button.setObjectName("menu_button")
|
||||
self.horizontalLayout_2.addWidget(self.menu_button)
|
||||
self.gridLayout.addWidget(self.menu_button, 1, 3, 1, 1)
|
||||
self.control_panel_combo = QtWidgets.QComboBox(Session)
|
||||
self.control_panel_combo.setObjectName("control_panel_combo")
|
||||
self.gridLayout.addWidget(self.control_panel_combo, 1, 0, 1, 1)
|
||||
self.label_3 = QtWidgets.QLabel(Session)
|
||||
self.label_3.setObjectName("label_3")
|
||||
self.gridLayout.addWidget(self.label_3, 0, 0, 1, 1)
|
||||
self.label_4 = QtWidgets.QLabel(Session)
|
||||
self.label_4.setObjectName("label_4")
|
||||
self.gridLayout.addWidget(self.label_4, 0, 1, 1, 1)
|
||||
self.sessions_combo = QtWidgets.QComboBox(Session)
|
||||
self.sessions_combo.setObjectName("sessions_combo")
|
||||
self.gridLayout.addWidget(self.sessions_combo, 1, 1, 1, 1)
|
||||
self.gridLayout.setColumnStretch(0, 2)
|
||||
self.gridLayout.setColumnStretch(1, 3)
|
||||
self.verticalLayout.addLayout(self.gridLayout)
|
||||
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
||||
self.verticalLayout.addLayout(self.horizontalLayout_2)
|
||||
self.favorite_tools = QtWidgets.QWidget(Session)
|
||||
self.favorite_tools.setObjectName("favorite_tools")
|
||||
@@ -47,8 +61,9 @@ class Ui_Session(object):
|
||||
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout.addItem(spacerItem)
|
||||
self.add_tool_button = QtWidgets.QToolButton(Session)
|
||||
icon = QtGui.QIcon.fromTheme("list-add")
|
||||
self.add_tool_button.setIcon(icon)
|
||||
icon2 = QtGui.QIcon()
|
||||
icon2.addPixmap(QtGui.QPixmap(":/icons/icons/add.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
self.add_tool_button.setIcon(icon2)
|
||||
self.add_tool_button.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon)
|
||||
self.add_tool_button.setAutoRaise(False)
|
||||
self.add_tool_button.setArrowType(QtCore.Qt.NoArrow)
|
||||
@@ -62,18 +77,19 @@ class Ui_Session(object):
|
||||
self.line.setObjectName("line")
|
||||
self.horizontalLayout.addWidget(self.line)
|
||||
self.startall_button = QtWidgets.QToolButton(Session)
|
||||
icon = QtGui.QIcon.fromTheme("media-playback-start")
|
||||
self.startall_button.setIcon(icon)
|
||||
self.startall_button.setObjectName("startall_button")
|
||||
self.horizontalLayout.addWidget(self.startall_button)
|
||||
self.stopall_button = QtWidgets.QToolButton(Session)
|
||||
icon = QtGui.QIcon.fromTheme("media-playback-stop")
|
||||
self.stopall_button.setIcon(icon)
|
||||
icon3 = QtGui.QIcon()
|
||||
icon3.addPixmap(QtGui.QPixmap(":/icons/icons/stop.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
self.stopall_button.setIcon(icon3)
|
||||
self.stopall_button.setObjectName("stopall_button")
|
||||
self.horizontalLayout.addWidget(self.stopall_button)
|
||||
self.removeall_button = QtWidgets.QToolButton(Session)
|
||||
icon = QtGui.QIcon.fromTheme("list-remove")
|
||||
self.removeall_button.setIcon(icon)
|
||||
icon4 = QtGui.QIcon()
|
||||
icon4.addPixmap(QtGui.QPixmap(":/icons/icons/remove.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
self.removeall_button.setIcon(icon4)
|
||||
self.removeall_button.setObjectName("removeall_button")
|
||||
self.horizontalLayout.addWidget(self.removeall_button)
|
||||
self.verticalLayout.addLayout(self.horizontalLayout)
|
||||
@@ -81,7 +97,7 @@ class Ui_Session(object):
|
||||
self.scrollArea.setWidgetResizable(True)
|
||||
self.scrollArea.setObjectName("scrollArea")
|
||||
self.programs_widget = QtWidgets.QWidget()
|
||||
self.programs_widget.setGeometry(QtCore.QRect(0, 0, 380, 176))
|
||||
self.programs_widget.setGeometry(QtCore.QRect(0, 0, 384, 154))
|
||||
self.programs_widget.setObjectName("programs_widget")
|
||||
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.programs_widget)
|
||||
self.verticalLayout_2.setObjectName("verticalLayout_2")
|
||||
@@ -90,33 +106,37 @@ class Ui_Session(object):
|
||||
self.scrollArea.setWidget(self.programs_widget)
|
||||
self.verticalLayout.addWidget(self.scrollArea)
|
||||
self.save_session_action = QtWidgets.QAction(Session)
|
||||
icon = QtGui.QIcon.fromTheme("document-save")
|
||||
self.save_session_action.setIcon(icon)
|
||||
icon5 = QtGui.QIcon()
|
||||
icon5.addPixmap(QtGui.QPixmap(":/icons/icons/save.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
self.save_session_action.setIcon(icon5)
|
||||
self.save_session_action.setObjectName("save_session_action")
|
||||
self.save_as_action = QtWidgets.QAction(Session)
|
||||
icon = QtGui.QIcon.fromTheme("edit-copy")
|
||||
self.save_as_action.setIcon(icon)
|
||||
self.save_as_action.setObjectName("save_as_action")
|
||||
self.rename_session_action = QtWidgets.QAction(Session)
|
||||
icon = QtGui.QIcon.fromTheme("format-text-italic")
|
||||
self.rename_session_action.setIcon(icon)
|
||||
icon6 = QtGui.QIcon()
|
||||
icon6.addPixmap(QtGui.QPixmap(":/icons/icons/copy.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
self.rename_session_action.setIcon(icon6)
|
||||
self.rename_session_action.setObjectName("rename_session_action")
|
||||
self.remove_session_action = QtWidgets.QAction(Session)
|
||||
icon = QtGui.QIcon.fromTheme("edit-delete")
|
||||
self.remove_session_action.setIcon(icon)
|
||||
icon7 = QtGui.QIcon()
|
||||
icon7.addPixmap(QtGui.QPixmap(":/icons/icons/delete.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
self.remove_session_action.setIcon(icon7)
|
||||
self.remove_session_action.setObjectName("remove_session_action")
|
||||
|
||||
self.retranslateUi(Session)
|
||||
self.menu_button.clicked.connect(self.menu_button.showMenu)
|
||||
self.menu_button.clicked.connect(self.menu_button.showMenu) # type: ignore
|
||||
QtCore.QMetaObject.connectSlotsByName(Session)
|
||||
|
||||
def retranslateUi(self, Session):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
Session.setWindowTitle(_translate("Session", "Form"))
|
||||
self.label_2.setText(_translate("Session", "Session"))
|
||||
self.start_session_button.setToolTip(_translate("Session", "Start Session"))
|
||||
self.start_session_button.setText(_translate("Session", "..."))
|
||||
self.menu_button.setText(_translate("Session", "..."))
|
||||
self.label_3.setText(_translate("Session", "control panel"))
|
||||
self.label_4.setText(_translate("Session", "Session"))
|
||||
self.label.setText(_translate("Session", "Programs"))
|
||||
self.add_tool_button.setToolTip(_translate("Session", "Add Tool"))
|
||||
self.add_tool_button.setText(_translate("Session", "Add tool"))
|
||||
@@ -131,3 +151,4 @@ class Ui_Session(object):
|
||||
self.save_as_action.setToolTip(_translate("Session", "Save session as..."))
|
||||
self.rename_session_action.setText(_translate("Session", "Rename session"))
|
||||
self.remove_session_action.setText(_translate("Session", "Remove session"))
|
||||
from generated import resources_rc
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'ui/ui_supervision_window.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.14.1
|
||||
# Created by: PyQt5 UI code generator 5.15.9
|
||||
#
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'ui/ui_tools_list.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.14.1
|
||||
# Created by: PyQt5 UI code generator 5.15.9
|
||||
#
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
||||
@@ -7,8 +7,6 @@ from conf import Aircraft, Conf
|
||||
import utils
|
||||
import os
|
||||
import sys
|
||||
lib_path = os.path.normpath(os.path.join(utils.PAPARAZZI_SRC, 'sw', 'lib', 'python'))
|
||||
sys.path.append(lib_path)
|
||||
import paparazzi
|
||||
from typing import List
|
||||
|
||||
|
||||
@@ -3,11 +3,16 @@
|
||||
# released under GNU GPLv2 or later. See COPYING file.
|
||||
import os
|
||||
import sys
|
||||
import utils
|
||||
|
||||
lib_path = os.path.normpath(os.path.join(utils.PAPARAZZI_SRC, 'sw', 'lib', 'python'))
|
||||
sys.path.append(lib_path)
|
||||
|
||||
|
||||
import signal
|
||||
import copy
|
||||
from PyQt5.QtWidgets import *
|
||||
from PyQt5 import QtCore, QtGui
|
||||
import utils
|
||||
from lxml import etree as ET
|
||||
from conf import Conf, Aircraft, ConfError
|
||||
from app_settings import AppSettings
|
||||
@@ -15,12 +20,13 @@ from generated.ui_supervision_window import Ui_SupervisionWindow
|
||||
from generated.ui_new_ac_dialog import Ui_NewACDialog
|
||||
from program_widget import TabProgramsState
|
||||
|
||||
|
||||
dirname = os.path.dirname(os.path.abspath(__file__))
|
||||
|
||||
|
||||
TAB_ICONS = {TabProgramsState.IDLE: QtGui.QIcon(),
|
||||
TabProgramsState.RUNNING: QtGui.QIcon(os.path.join(dirname, "running.svg")),
|
||||
TabProgramsState.ERROR: QtGui.QIcon(os.path.join(dirname, "error.svg"))}
|
||||
TabProgramsState.RUNNING: QtGui.QIcon(":/icons/icons/running.svg"),
|
||||
TabProgramsState.ERROR: QtGui.QIcon(":/icons/icons/error.svg")}
|
||||
|
||||
|
||||
class PprzCenter(QMainWindow, Ui_SupervisionWindow):
|
||||
@@ -48,6 +54,7 @@ class PprzCenter(QMainWindow, Ui_SupervisionWindow):
|
||||
self.header.ac_save.connect(lambda _: self.conf.save())
|
||||
self.header.ac_new.connect(self.handle_new_ac)
|
||||
|
||||
self.configuration_panel.build_widget.refresh_ac.connect(self.handle_ac_edited)
|
||||
self.configuration_panel.program_state_changed.connect(lambda state: self.programs_state_changed(state, 0))
|
||||
self.operation_panel.session.program_state_changed.connect(lambda state: self.programs_state_changed(state, 1))
|
||||
|
||||
@@ -259,6 +266,7 @@ class PprzCenter(QMainWindow, Ui_SupervisionWindow):
|
||||
settings.setValue("ui/window_size", self.size())
|
||||
settings.setValue("ui/last_AC", self.currentAc.name)
|
||||
settings.setValue("ui/last_session", self.operation_panel.session.get_current_session())
|
||||
settings.setValue("ui/last_control_panel", self.operation_panel.session.get_current_control_panel())
|
||||
|
||||
def update_left_pane_width(self, pos, index):
|
||||
utils.get_settings().setValue("ui/left_pane_width", pos)
|
||||
|
||||
@@ -73,15 +73,13 @@ class ProgramWidget(QWidget, Ui_Program):
|
||||
self.process.terminate()
|
||||
|
||||
def handle_started(self):
|
||||
icon = QIcon.fromTheme("media-playback-stop")
|
||||
self.run_button.setIcon(icon)
|
||||
self.run_button.setIcon(QIcon(":/icons/icons/stop.png"))
|
||||
self.program_lineedit.setReadOnly(True)
|
||||
|
||||
def handle_finished(self, exit_code: int, exit_status: QProcess.ExitStatus):
|
||||
if exit_code not in (0, 15):
|
||||
self.program_lineedit.setStyleSheet("background: #f56464")
|
||||
icon = QIcon.fromTheme("media-playback-start")
|
||||
self.run_button.setIcon(icon)
|
||||
self.run_button.setIcon(QIcon(":/icons/icons/play.png"))
|
||||
self.program_lineedit.setReadOnly(False)
|
||||
self.finished.emit(exit_code, exit_status)
|
||||
|
||||
|
||||
@@ -100,7 +100,7 @@ class Tool:
|
||||
return name, Tool(name, command, icon, args, favorite)
|
||||
|
||||
|
||||
def parse_tools() -> Dict[str, Tool]:
|
||||
def parse_tools(cp) -> Dict[str, Tool]:
|
||||
tools = {}
|
||||
tools_dir = os.path.join(utils.CONF_DIR, "tools")
|
||||
for file in os.listdir(tools_dir):
|
||||
@@ -115,7 +115,7 @@ def parse_tools() -> Dict[str, Tool]:
|
||||
|
||||
# programs from control_panel.xml
|
||||
# override programs from conf/tools/*.xml
|
||||
control_panel = ET.parse(os.path.join(utils.CONF_DIR, "control_panel.xml"))
|
||||
control_panel = ET.parse(os.path.join(utils.CONF_DIR, cp))
|
||||
for xml_section in control_panel.getroot().findall("section"):
|
||||
if xml_section.get("name") == "programs":
|
||||
for xml_program in xml_section.findall("program"):
|
||||
@@ -125,8 +125,8 @@ def parse_tools() -> Dict[str, Tool]:
|
||||
return tools
|
||||
|
||||
|
||||
def parse_sessions() -> List[Session]:
|
||||
control_panel = ET.parse(os.path.join(utils.CONF_DIR, "control_panel.xml"))
|
||||
def parse_sessions(cp) -> List[Session]:
|
||||
control_panel = ET.parse(os.path.join(utils.CONF_DIR, cp))
|
||||
for xml_section in control_panel.getroot().findall("section"):
|
||||
if xml_section.get("name") == "sessions":
|
||||
return [Session.parse(xml_session) for xml_session in xml_section.findall("session")]
|
||||
|
||||
@@ -8,7 +8,7 @@ from PyQt5.QtWidgets import *
|
||||
from PyQt5 import QtCore
|
||||
import utils
|
||||
import lxml.etree as ET
|
||||
|
||||
import paparazzi
|
||||
from typing import List, Optional, Tuple, Dict
|
||||
from program_widget import ProgramWidget, TabProgramsState
|
||||
from tools_menu import ToolMenu
|
||||
@@ -30,11 +30,10 @@ class SessionWidget(QWidget, Ui_Session):
|
||||
self.console: ConsoleWidget = None
|
||||
self.ac: Aircraft = None
|
||||
self.sessions = []
|
||||
self.tools = []
|
||||
self.tools: Dict[str, Tool] = {}
|
||||
self.tools_menu = ToolMenu()
|
||||
self.sessions_combo.addItems(["Simulation", "Replay"])
|
||||
self.sessions_combo.insertSeparator(2)
|
||||
self.programs_state: TabProgramsState = TabProgramsState.IDLE
|
||||
self.control_panel_combo.currentTextChanged.connect(self.on_control_panel_changed)
|
||||
self.menu_button.addAction(self.save_session_action)
|
||||
self.menu_button.addAction(self.save_as_action)
|
||||
self.menu_button.addAction(self.rename_session_action)
|
||||
@@ -57,14 +56,31 @@ class SessionWidget(QWidget, Ui_Session):
|
||||
self.ac = ac
|
||||
|
||||
def init(self):
|
||||
self.sessions = parse_sessions()
|
||||
self.tools = parse_tools()
|
||||
self.update_control_panels()
|
||||
self.on_control_panel_changed()
|
||||
|
||||
def on_control_panel_changed(self):
|
||||
current_cp = self.control_panel_combo.currentText()
|
||||
self.sessions = parse_sessions(current_cp)
|
||||
self.tools = parse_tools(current_cp)
|
||||
self.init_tools_menu()
|
||||
sessions_names = [session.name for session in self.sessions]
|
||||
self.sessions_combo.clear()
|
||||
self.sessions_combo.addItems(["Simulation", "Replay"])
|
||||
self.sessions_combo.insertSeparator(2)
|
||||
self.sessions_combo.addItems(sessions_names)
|
||||
last_session = utils.get_settings().value("ui/last_session", None, str)
|
||||
if last_session is not None:
|
||||
if last_session is not None and last_session in sessions_names:
|
||||
self.sessions_combo.setCurrentText(last_session)
|
||||
else:
|
||||
self.sessions_combo.setCurrentIndex(0)
|
||||
|
||||
def update_control_panels(self):
|
||||
cpfs = paparazzi.get_list_of_controlpanel_files()
|
||||
self.control_panel_combo.addItems(cpfs)
|
||||
last_cp = utils.get_settings().value("ui/last_control_panel", None, str)
|
||||
if last_cp is not None and last_cp in cpfs:
|
||||
self.control_panel_combo.setCurrentText(last_cp)
|
||||
|
||||
def get_current_session(self) -> str:
|
||||
"""
|
||||
@@ -72,6 +88,9 @@ class SessionWidget(QWidget, Ui_Session):
|
||||
"""
|
||||
return self.sessions_combo.currentText()
|
||||
|
||||
def get_current_control_panel(self) -> str:
|
||||
return self.control_panel_combo.currentText()
|
||||
|
||||
def start_session(self):
|
||||
self.reset_programs_status()
|
||||
combo_text = self.sessions_combo.currentText()
|
||||
@@ -203,6 +222,7 @@ class SessionWidget(QWidget, Ui_Session):
|
||||
self.reset_programs_status()
|
||||
|
||||
def init_tools_menu(self):
|
||||
self.tools_menu.clear()
|
||||
for t in self.tools.values():
|
||||
self.tools_menu.add_tool(t)
|
||||
|
||||
|
||||
@@ -39,6 +39,11 @@ class ToolMenu(QWidget, Ui_ToolsList):
|
||||
self.tools_buttons[t.name] = button
|
||||
self.content_widget.layout().addWidget(button)
|
||||
|
||||
def clear(self):
|
||||
for _name, widget in self.tools_buttons.items():
|
||||
self.content_widget.layout().removeWidget(widget)
|
||||
self.tools_buttons.clear()
|
||||
|
||||
def filter(self, txt: str):
|
||||
for name, button in self.tools_buttons.items():
|
||||
show = txt.lower() in name.lower()
|
||||
|
||||
|
After Width: | Height: | Size: 175 B |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 383 B |
|
After Width: | Height: | Size: 323 B |
|
After Width: | Height: | Size: 490 B |
|
After Width: | Height: | Size: 498 B |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 377 B |
|
After Width: | Height: | Size: 157 B |
|
After Width: | Height: | Size: 430 B |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 132 B |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 314 B |
|
After Width: | Height: | Size: 193 B |
@@ -0,0 +1,21 @@
|
||||
<RCC>
|
||||
<qresource prefix="icons">
|
||||
<file>icons/error.svg</file>
|
||||
<file>icons/running.svg</file>
|
||||
<file>icons/edit.png</file>
|
||||
<file>icons/delete.png</file>
|
||||
<file>icons/copy.png</file>
|
||||
<file>icons/browser.png</file>
|
||||
<file>icons/clear.png</file>
|
||||
<file>icons/menu.png</file>
|
||||
<file>icons/refresh.png</file>
|
||||
<file>icons/save.png</file>
|
||||
<file>icons/add.png</file>
|
||||
<file>icons/remove.png</file>
|
||||
<file>icons/stop.png</file>
|
||||
<file>icons/play.png</file>
|
||||
<file>icons/flash.png</file>
|
||||
<file>icons/build.png</file>
|
||||
<file>icons/clean.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
@@ -6,7 +6,7 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>437</width>
|
||||
<width>464</width>
|
||||
<height>87</height>
|
||||
</rect>
|
||||
</property>
|
||||
@@ -52,11 +52,11 @@
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="edit-clear">
|
||||
<normaloff>.</normaloff>.</iconset>
|
||||
<iconset resource="resources.qrc">
|
||||
<normaloff>:/icons/icons/clean.png</normaloff>:/icons/icons/clean.png</iconset>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Ctrl+C</string>
|
||||
<string>Ctrl+Shift+B</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -69,8 +69,8 @@
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="system-run">
|
||||
<normaloff>.</normaloff>.</iconset>
|
||||
<iconset resource="resources.qrc">
|
||||
<normaloff>:/icons/icons/build.png</normaloff>:/icons/icons/build.png</iconset>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Ctrl+B</string>
|
||||
@@ -130,8 +130,8 @@
|
||||
<string>Flash</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="emblem-downloads">
|
||||
<normaloff>.</normaloff>.</iconset>
|
||||
<iconset resource="resources.qrc">
|
||||
<normaloff>:/icons/icons/flash.png</normaloff>:/icons/icons/flash.png</iconset>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Ctrl+U</string>
|
||||
@@ -143,6 +143,8 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<resources>
|
||||
<include location="resources.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -53,8 +53,8 @@
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="format-justify-fill">
|
||||
<normaloff>.</normaloff>.</iconset>
|
||||
<iconset resource="resources.qrc">
|
||||
<normaloff>:/icons/icons/menu.png</normaloff>:/icons/icons/menu.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -67,8 +67,8 @@
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="view-refresh">
|
||||
<normaloff>.</normaloff>.</iconset>
|
||||
<iconset resource="resources.qrc">
|
||||
<normaloff>:/icons/icons/refresh.png</normaloff>:/icons/icons/refresh.png</iconset>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Ctrl+R</string>
|
||||
@@ -84,8 +84,8 @@
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="document-save">
|
||||
<normaloff>.</normaloff>.</iconset>
|
||||
<iconset resource="resources.qrc">
|
||||
<normaloff>:/icons/icons/save.png</normaloff>:/icons/icons/save.png</iconset>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Ctrl+S</string>
|
||||
@@ -127,8 +127,8 @@
|
||||
</action>
|
||||
<action name="remove_ac_action">
|
||||
<property name="icon">
|
||||
<iconset theme="edit-delete">
|
||||
<normaloff>.</normaloff>.</iconset>
|
||||
<iconset resource="resources.qrc">
|
||||
<normaloff>:/icons/icons/delete.png</normaloff>:/icons/icons/delete.png</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Remove</string>
|
||||
@@ -136,8 +136,8 @@
|
||||
</action>
|
||||
<action name="duplicate_action">
|
||||
<property name="icon">
|
||||
<iconset theme="edit-copy">
|
||||
<normaloff>.</normaloff>.</iconset>
|
||||
<iconset resource="resources.qrc">
|
||||
<normaloff>:/icons/icons/copy.png</normaloff>:/icons/icons/copy.png</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Duplicate</string>
|
||||
@@ -145,15 +145,17 @@
|
||||
</action>
|
||||
<action name="rename_action">
|
||||
<property name="icon">
|
||||
<iconset theme="format-text-italic">
|
||||
<normaloff>.</normaloff>.</iconset>
|
||||
<iconset resource="resources.qrc">
|
||||
<normaloff>:/icons/icons/edit.png</normaloff>:/icons/icons/edit.png</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Rename</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<resources/>
|
||||
<resources>
|
||||
<include location="resources.qrc"/>
|
||||
</resources>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>menu_button</sender>
|
||||
|
||||
@@ -32,7 +32,8 @@
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="list-add"/>
|
||||
<iconset resource="resources.qrc">
|
||||
<normaloff>:/icons/icons/add.png</normaloff>:/icons/icons/add.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -42,7 +43,8 @@
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="list-remove"/>
|
||||
<iconset resource="resources.qrc">
|
||||
<normaloff>:/icons/icons/remove.png</normaloff>:/icons/icons/remove.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -53,6 +55,8 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<resources>
|
||||
<include location="resources.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -59,8 +59,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>382</width>
|
||||
<height>524</height>
|
||||
<width>180</width>
|
||||
<height>525</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
@@ -154,8 +154,8 @@
|
||||
<string>Clear console</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="edit-clear">
|
||||
<normaloff>.</normaloff>.</iconset>
|
||||
<iconset resource="resources.qrc">
|
||||
<normaloff>:/icons/icons/clear.png</normaloff>:/icons/icons/clear.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -163,6 +163,8 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<resources>
|
||||
<include location="resources.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -145,8 +145,8 @@
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="applications-internet">
|
||||
<normaloff>.</normaloff>.</iconset>
|
||||
<iconset resource="resources.qrc">
|
||||
<normaloff>:/icons/icons/browser.png</normaloff>:/icons/icons/browser.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -191,6 +191,8 @@
|
||||
<header location="global">QtWebKitWidgets/QWebView</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<resources>
|
||||
<include location="resources.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>374</width>
|
||||
<height>25</height>
|
||||
<height>32</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@@ -43,8 +43,8 @@
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="media-playback-stop">
|
||||
<normaloff>.</normaloff>.</iconset>
|
||||
<iconset resource="resources.qrc">
|
||||
<normaloff>:/icons/icons/stop.png</normaloff>:/icons/icons/stop.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -54,13 +54,15 @@
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="list-remove">
|
||||
<normaloff>.</normaloff>.</iconset>
|
||||
<iconset resource="resources.qrc">
|
||||
<normaloff>:/icons/icons/remove.png</normaloff>:/icons/icons/remove.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<resources>
|
||||
<include location="resources.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -15,18 +15,8 @@
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Session</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QComboBox" name="sessions_combo"/>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout" columnstretch="2,3,0,0">
|
||||
<item row="1" column="2">
|
||||
<widget class="QToolButton" name="start_session_button">
|
||||
<property name="toolTip">
|
||||
<string>Start Session</string>
|
||||
@@ -35,12 +25,12 @@
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="media-playback-start">
|
||||
<normaloff>.</normaloff>.</iconset>
|
||||
<iconset resource="resources.qrc">
|
||||
<normaloff>:/icons/icons/play.png</normaloff>:/icons/icons/play.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QToolButton" name="menu_button">
|
||||
<property name="contextMenuPolicy">
|
||||
<enum>Qt::ActionsContextMenu</enum>
|
||||
@@ -49,13 +39,36 @@
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="format-justify-fill">
|
||||
<normaloff>.</normaloff>.</iconset>
|
||||
<iconset resource="resources.qrc">
|
||||
<normaloff>:/icons/icons/menu.png</normaloff>:/icons/icons/menu.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QComboBox" name="control_panel_combo"/>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>control panel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Session</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="sessions_combo"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="favorite_tools" native="true"/>
|
||||
</item>
|
||||
@@ -90,8 +103,8 @@
|
||||
<string>Add tool</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="list-add">
|
||||
<normaloff>.</normaloff>.</iconset>
|
||||
<iconset resource="resources.qrc">
|
||||
<normaloff>:/icons/icons/add.png</normaloff>:/icons/icons/add.png</iconset>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonTextBesideIcon</enum>
|
||||
@@ -133,8 +146,8 @@
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="media-playback-start">
|
||||
<normaloff>.</normaloff>.</iconset>
|
||||
<iconset resource="resources.qrc">
|
||||
<normaloff>:/icons/icons/play.png</normaloff>:/icons/icons/play.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -147,8 +160,8 @@
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="media-playback-stop">
|
||||
<normaloff>.</normaloff>.</iconset>
|
||||
<iconset resource="resources.qrc">
|
||||
<normaloff>:/icons/icons/stop.png</normaloff>:/icons/icons/stop.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -161,8 +174,8 @@
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="list-remove">
|
||||
<normaloff>.</normaloff>.</iconset>
|
||||
<iconset resource="resources.qrc">
|
||||
<normaloff>:/icons/icons/remove.png</normaloff>:/icons/icons/remove.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -178,8 +191,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>380</width>
|
||||
<height>176</height>
|
||||
<width>384</width>
|
||||
<height>154</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
@@ -203,8 +216,8 @@
|
||||
</layout>
|
||||
<action name="save_session_action">
|
||||
<property name="icon">
|
||||
<iconset theme="document-save">
|
||||
<normaloff>.</normaloff>.</iconset>
|
||||
<iconset resource="resources.qrc">
|
||||
<normaloff>:/icons/icons/save.png</normaloff>:/icons/icons/save.png</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Save session</string>
|
||||
@@ -224,8 +237,8 @@
|
||||
</action>
|
||||
<action name="rename_session_action">
|
||||
<property name="icon">
|
||||
<iconset theme="format-text-italic">
|
||||
<normaloff>.</normaloff>.</iconset>
|
||||
<iconset resource="resources.qrc">
|
||||
<normaloff>:/icons/icons/copy.png</normaloff>:/icons/icons/copy.png</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Rename session</string>
|
||||
@@ -233,15 +246,17 @@
|
||||
</action>
|
||||
<action name="remove_session_action">
|
||||
<property name="icon">
|
||||
<iconset theme="edit-delete">
|
||||
<normaloff>.</normaloff>.</iconset>
|
||||
<iconset resource="resources.qrc">
|
||||
<normaloff>:/icons/icons/delete.png</normaloff>:/icons/icons/delete.png</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Remove session</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<resources/>
|
||||
<resources>
|
||||
<include location="resources.qrc"/>
|
||||
</resources>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>menu_button</sender>
|
||||
|
||||