From 7e753a2a6e0cc263c72043fe49c93d3f3e99cc17 Mon Sep 17 00:00:00 2001 From: Ermanno Lo Cascio Date: Thu, 29 Aug 2024 11:22:01 +0200 Subject: [PATCH] Add recent projects left side menu --- .../case_study_a5_schematic.png | Bin 0 -> 79238 bytes .../reserves_tutorial_schematic.png | Bin 0 -> 27664 bytes .../simple_system_schematic.png | Bin 0 -> 21609 bytes spinetoolbox/opener_tester.py | 329 ++++++++++++++++++ spinetoolbox/resources_icons_rc.py | 172 ++++----- spinetoolbox/ui/mainwindow.py | 6 +- spinetoolbox/ui/startup_box.py | 70 ++-- spinetoolbox/ui/startup_box.ui | 127 +++---- spinetoolbox/ui_main.py | 1 - spinetoolbox/widgets/startup_box_widget.py | 41 ++- 10 files changed, 539 insertions(+), 207 deletions(-) create mode 100644 docs/source/img/tutorials_images/case_study_a5_schematic.png create mode 100644 docs/source/img/tutorials_images/reserves_tutorial_schematic.png create mode 100644 docs/source/img/tutorials_images/simple_system_schematic.png create mode 100644 spinetoolbox/opener_tester.py diff --git a/docs/source/img/tutorials_images/case_study_a5_schematic.png b/docs/source/img/tutorials_images/case_study_a5_schematic.png new file mode 100644 index 0000000000000000000000000000000000000000..6a3a9f8fa7a3c9a58e0fb3d4b5c37454340c93f1 GIT binary patch literal 79238 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 PicCpC^=9S`6Yu{5vfQtd literal 0 HcmV?d00001 diff --git a/docs/source/img/tutorials_images/reserves_tutorial_schematic.png b/docs/source/img/tutorials_images/reserves_tutorial_schematic.png new file mode 100644 index 0000000000000000000000000000000000000000..ad9adfd599f7ec337aea7d006d77123fc1a161bc GIT binary patch literal 27664 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 Wo~XJ^!)6Scf>abW72e)55BxtnQJb6q literal 0 HcmV?d00001 diff --git a/docs/source/img/tutorials_images/simple_system_schematic.png b/docs/source/img/tutorials_images/simple_system_schematic.png new file mode 100644 index 0000000000000000000000000000000000000000..0839f8bb8e0c5a0bdd2bbb48a6ef52c5bdeda58c GIT binary patch literal 21609 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 literal 0 HcmV?d00001 diff --git a/spinetoolbox/opener_tester.py b/spinetoolbox/opener_tester.py new file mode 100644 index 000000000..5dd0cb0d7 --- /dev/null +++ b/spinetoolbox/opener_tester.py @@ -0,0 +1,329 @@ +import sys +from PySide6.QtCore import Qt, QSize +from PySide6.QtGui import QIcon +from PySide6.QtGui import QPixmap + +from PySide6.QtCore import QSettings + + +from PySide6.QtWidgets import ( + QApplication, + QFrame, + QHBoxLayout, + QLabel, + QMainWindow, + QVBoxLayout, + QWidget, + QSpacerItem, + QSizePolicy, + QPushButton, + QStyle, + QGroupBox, + QGridLayout +) + + +class StartUpMainWindow(QMainWindow): + def __init__(self): + super().__init__() + + self.setWindowTitle("Spine - Magic ToolBox") + # Set the window icon to the PNG version + self.setWindowIcon(QIcon("image/spinetoolbox_on_wht.png")) + self.resize(800, 600) + + self.menu_bar = self.create_menu_bar() + + menu_frame = QFrame() + menu_frame.setFrameShape(QFrame.StyledPanel) + menu_frame.setStyleSheet("background-color: lightgray;") + menu_frame.setFixedWidth(200) + + menu_layout = QVBoxLayout(menu_frame) + menu_layout.setAlignment(Qt.AlignTop) + + menu_layout.addItem(QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Fixed)) + + folder_icon = self.style().standardIcon(QStyle.SP_DirIcon) + folder_icon_button = QPushButton("Open Project...") + folder_icon_button.setIcon(folder_icon) + folder_icon_button.setIconSize(folder_icon.actualSize(QSize(32, 32))) + folder_icon_button.setFlat(True) + folder_icon_button.setStyleSheet("color: black;") + folder_icon_button.setFixedSize(130, 30) + folder_icon_button.setIconSize(folder_icon.actualSize(QSize(24, 24))) + + menu_layout.addWidget(folder_icon_button) + + # add spacer + menu_layout.addItem(QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Fixed)) + + self.dropdown_groupbox = QGroupBox() + self.dropdown_layout = QVBoxLayout() + self.dropdown_groupbox.setLayout(self.dropdown_layout) + self.dropdown_groupbox.hide() + + # Create a QPushButton for the dropdown menu item + self.menu_item_2_button = QPushButton("Recent") + self.menu_item_2_button.setFlat(True) + self.menu_item_2_button.setStyleSheet("color: black;") + + # Add an arrow icon to the button + self.arrow_icon = self.style().standardIcon(QStyle.SP_MediaPlay) + self.menu_item_2_button.setIcon(self.arrow_icon) + self.menu_item_2_button.setFixedSize(80, 30) + self.menu_item_2_button.setIconSize(self.arrow_icon.actualSize(QSize(20, 20))) + + # Connect the button to the toggle_dropdown function + self.menu_item_2_button.clicked.connect(self.toggle_dropdown) + + menu_layout.addWidget(self.menu_item_2_button) + menu_layout.addWidget(self.dropdown_groupbox) + + # Add spacer + menu_layout.addItem(QSpacerItem(20, 20, QSizePolicy.Minimum, QSizePolicy.Fixed)) + + menu_layout.addWidget(QLabel("Menu Item 3")) + + # Add central menu layout + central_widget = QWidget() + main_layout = QHBoxLayout(central_widget) + main_layout.addWidget(menu_frame) + + self.setup_central_content(main_layout) + + self.setCentralWidget(central_widget) + + def setup_central_content(self, main_layout): + central_layout = QVBoxLayout() + main_layout.addLayout(central_layout) + + row1_layout = QHBoxLayout() + row2_layout = QHBoxLayout() + + central_layout.addLayout(row1_layout) + central_layout.addLayout(row2_layout) + + self.top_button1 = QPushButton("Beginner Tutorials") + row1_layout.addWidget(self.top_button1) + self.top_button1.setStyleSheet("text-align: left;") + self.top_button1.setIcon(self.arrow_icon) + self.top_button1.setIconSize(self.arrow_icon.actualSize(QSize(20, 20))) + + self.dropdown_groupbox1 = QGroupBox() + self.dropdown_layout1 = QVBoxLayout() + self.dropdown_groupbox1.setLayout(self.dropdown_layout1) + self.dropdown_groupbox1.hide() + + self.top_button1.clicked.connect(self.toggle_dropdown1) + central_layout.addWidget(self.dropdown_groupbox1) + + self.top_button2 = QPushButton("Advanced Tutorials") + row2_layout.addWidget(self.top_button2) + self.top_button2.setStyleSheet("text-align: left;") + self.top_button2.setIcon(self.arrow_icon) + self.top_button2.setIconSize(self.arrow_icon.actualSize(QSize(20, 20))) + + self.dropdown_groupbox2 = QGroupBox() + self.dropdown_layout2 = QVBoxLayout() + self.dropdown_groupbox2.setLayout(self.dropdown_layout2) + self.dropdown_groupbox2.hide() + + self.top_button2.clicked.connect(self.toggle_dropdown2) + central_layout.addWidget(self.dropdown_groupbox2) + + central_layout.addWidget(QLabel("")) + + self.create_dropdown_cards_beginners() + + + def toggle_dropdown(self): + # Toggle the dropdown state + if self.dropdown_groupbox.isHidden(): + # Show the dropdown + self.dropdown_groupbox.show() + # Change icon to arrow down when expanding + self.menu_item_2_button.setIcon(self.style().standardIcon(QStyle.SP_TitleBarUnshadeButton)) + + # Add subitems + self.add_subitems() + else: + # Hide the dropdown + self.dropdown_groupbox.hide() + # Change icon to arrow right when collapsing + self.menu_item_2_button.setIcon(self.style().standardIcon(QStyle.SP_MediaPlay)) + + def create_dropdown_cards_beginners(self): + self.card1 = self.create_card( + "This tutorial provides a step-by-step guide to setup a simple energy system with Spine Toolbox for SpineOpt. " + "Spine Toolbox is used to create a workflow with databases and tools and SpineOpt is the tool that simulates/optimizes the energy system.", + "C:/Users/ErmannoLoCascio/Spine-Toolbox/docs/source/img/tutorials_images/simple_system_schematic.png", + "Open", + self.open_tutorial1) + + self.card2 = self.create_card( + "This tutorial provides a step-by-step guide to include reserve requirements in a simple energy system with Spine Toolbox for SpineOpt.", + "C:/Users/ErmannoLoCascio/Spine-Toolbox/docs/source/img/tutorials_images/reserves_tutorial_schematic.png", + "Open", + self.open_tutorial2) + + self.card3 = self.create_card( + "Welcome to this Spine Toolbox Case Study tutorial. Case Study A5 is one of the Spine Project case studies designed to verify Toolbox and Model capabilities. To this end, it reproduces an already existing study about hydropower on the Skellefte river, which models one week of operation of the fifteen power stations along the river.", + "C:/Users/ErmannoLoCascio/Spine-Toolbox/docs/source/img/tutorials_images/case_study_a5_schematic.png", + "Open", + self.open_tutorial3) + + # Add three more cards to the second dropdown menu (Advanced Tutorials) + self.card4 = self.create_card( + "Tutorial 4 description", + "image_path_for_tutorial4.png", + "Open", + self.open_tutorial4) + + self.card5 = self.create_card( + "Tutorial 5 description", + "image_path_for_tutorial5.png", + "Open", + self.open_tutorial5) + + self.card6 = self.create_card( + "Tutorial 6 description", + "image_path_for_tutorial6.png", + "Open", + self.open_tutorial6) + + # Add the newly created cards to dropdown_layout2 + self.dropdown_layout2.addWidget(self.card4) + self.dropdown_layout2.addWidget(self.card5) + self.dropdown_layout2.addWidget(self.card6) + + def add_subitems(self): + # Clear existing subitems + for i in reversed(range(self.dropdown_layout.count())): + self.dropdown_layout.itemAt(i).widget().setParent(None) + + # Add subitems + for i in range(5): + subitem_label = QLabel(f"Subitem {i + 1}") + self.dropdown_layout.addWidget(subitem_label) + + def adjust_layout(self, expand_card1): + # Adjust layout to move Button 2 down if expand_card1 is True, else move Button 2 up + central_layout = self.centralWidget().layout() + row2_layout = central_layout.itemAt(1) + + if expand_card1: + row2_layout.addWidget(self.top_button2) + else: + row2_layout.removeWidget(self.top_button2) + row2_layout.insertWidget(1, self.top_button2) + + + def create_card(self, title, image_path, button_text, button_function): + card = QWidget() + card_layout = QHBoxLayout(card) + card.setMaximumWidth(500) + + card_image = QLabel() + pixmap = QPixmap(image_path) + smaller_pixmap = pixmap.scaled(QSize(200, 200)) + card_image.setPixmap(smaller_pixmap) + card_layout.addWidget(card_image, alignment=Qt.AlignCenter) + + card_layout.addItem(QSpacerItem(50, 50, QSizePolicy.Expanding, QSizePolicy.Minimum)) + + card_text = QLabel(title) + card_text.setWordWrap(True) + card_layout.addWidget(card_text, alignment=Qt.AlignCenter) + + card_layout.addItem(QSpacerItem(20, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)) + + card_button = QPushButton(button_text) + card_button.setFixedSize(80, 25) + card_layout.addWidget(card_button, alignment=Qt.AlignCenter) + + card_button.clicked.connect(button_function) + card_layout.setSpacing(10) + + self.dropdown_layout1.addWidget(card) + return card + + def toggle_dropdown1(self): + if self.dropdown_groupbox1.isHidden(): + # Show the dropdown + self.dropdown_groupbox1.show() + + # Change icon to arrow down when expanding + self.top_button1.setIcon(self.style().standardIcon(QStyle.SP_TitleBarUnshadeButton)) + + # Adjust layout to move Button 2 down + self.adjust_layout(True) + + if self.dropdown_groupbox2.isVisible(): + self.dropdown_groupbox2.hide() + self.top_button2.setIcon(self.style().standardIcon(QStyle.SP_MediaPlay)) + # Adjust layout to move Button 2 up + self.adjust_layout(True) + + + else: + # Hide the dropdown + self.dropdown_groupbox1.hide() + + # Change icon to arrow right when collapsing + self.top_button1.setIcon(self.style().standardIcon(QStyle.SP_MediaPlay)) + + # Adjust layout to move Button 2 up + self.adjust_layout(False) + + + def toggle_dropdown2(self): + # Toggle the dropdown state + if self.dropdown_groupbox2.isHidden(): + # Show the dropdown + self.dropdown_groupbox2.show() + # Change icon to arrow down when expanding + self.top_button2.setIcon(self.style().standardIcon(QStyle.SP_TitleBarUnshadeButton)) + + if self.dropdown_groupbox1.isVisible(): + self.dropdown_groupbox1.hide() + self.top_button1.setIcon(self.style().standardIcon(QStyle.SP_MediaPlay)) + # Adjust layout to move Button 2 up + self.adjust_layout(False) + + else: + # Hide the dropdown + self.dropdown_groupbox2.hide() + # Change icon to arrow right when collapsing + self.top_button2.setIcon(self.style().standardIcon(QStyle.SP_MediaPlay)) + + def open_tutorial1(self): + print("Open tutorial 1") + + def open_tutorial2(self): + print("Open tutorial 2") + + def open_tutorial3(self): + print("Open tutorial 3") + + def open_tutorial4(self): + print("Open tutorial 4") + + def open_tutorial5(self): + print("Open tutorial 5") + + def open_tutorial6(self): + print("Open tutorial 6") + + def create_menu_bar(self): + menu_bar = self.menuBar() + + + + + +app = QApplication(sys.argv) +window = StartUpMainWindow() +window.show() +sys.exit(app.exec()) + diff --git a/spinetoolbox/resources_icons_rc.py b/spinetoolbox/resources_icons_rc.py index 34b5ad9be..ff7e3aff0 100644 --- a/spinetoolbox/resources_icons_rc.py +++ b/spinetoolbox/resources_icons_rc.py @@ -32137,181 +32137,181 @@ \x00\x00\x004\x00\x02\x00\x00\x00\x01\x00\x00\x00\x05\ \x00\x00\x00\x00\x00\x00\x00\x00\ \x00\x00\x00T\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00\x01\x8aE\xfa\xa6?\ +\x00\x00\x01\x8d\xf9j$\xab\ \x00\x00\x00x\x00\x00\x00\x00\x00\x01\x00\x00\x09\xf5\ -\x00\x00\x01\x8aE\xfa\xa6>\ +\x00\x00\x01\x8d\xf9j$\xa9\ \x00\x00\x00\xb2\x00\x00\x00\x00\x00\x01\x00\x008\x89\ -\x00\x00\x01\x8aE\xfa\xa6\xa3\ +\x00\x00\x01\x8d\xf9j$\xc6\ \x00\x00\x00\x9e\x00\x01\x00\x00\x00\x01\x00\x00\x10N\ -\x00\x00\x01\x8aE\xfa\xa6?\ +\x00\x00\x01\x8d\xf9j$\xab\ \x00\x00\x02R\x00\x00\x00\x00\x00\x01\x00\x06A\x9c\ -\x00\x00\x01\x8aE\xfa\xa6P\ +\x00\x00\x01\x8d\xf9j$\xaf\ \x00\x00\x01\xea\x00\x00\x00\x00\x00\x01\x00\x062\x92\ -\x00\x00\x01\x8aE\xfa\xa6\xa3\ +\x00\x00\x01\x8d\xf9j$\xc5\ \x00\x00\x04p\x00\x00\x00\x00\x00\x01\x00\x06\xa8\xcd\ -\x00\x00\x01\x8aE\xfa\xa6P\ +\x00\x00\x01\x8d\xf9j$\xae\ \x00\x00\x04\xb8\x00\x00\x00\x00\x00\x01\x00\x06\xbd\xb7\ -\x00\x00\x01\x8aE\xfa\xa6\x82\ +\x00\x00\x01\x8d\xf9j$\xc1\ \x00\x00\x03D\x00\x00\x00\x00\x00\x01\x00\x06\x88\x1a\ -\x00\x00\x01\x8aE\xfa\xa6\xa3\ +\x00\x00\x01\x8d\xf9j$\xc7\ \x00\x00\x04\x98\x00\x00\x00\x00\x00\x01\x00\x06\xaa\xa1\ -\x00\x00\x01\x8aE\xfa\xa6P\ +\x00\x00\x01\x8d\xf9j$\xae\ \x00\x00\x04\x0c\x00\x00\x00\x00\x00\x01\x00\x06\x99\xa7\ -\x00\x00\x01\x8aE\xfa\xa6\x82\ +\x00\x00\x01\x8d\xf9j$\xc1\ \x00\x00\x02\x80\x00\x00\x00\x00\x00\x01\x00\x06E\xb2\ -\x00\x00\x01\x8aE\xfa\xa6P\ +\x00\x00\x01\x8d\xf9j$\xad\ \x00\x00\x02h\x00\x00\x00\x00\x00\x01\x00\x06B\xab\ -\x00\x00\x01\x8aE\xfa\xa6\xa3\ +\x00\x00\x01\x8d\xf9j$\xc6\ \x00\x00\x03\xf6\x00\x00\x00\x00\x00\x01\x00\x06\x978\ -\x00\x00\x01\x8aE\xfa\xa6_\ +\x00\x00\x01\x8d\xf9j$\xb2\ \x00\x00\x03^\x00\x00\x00\x00\x00\x01\x00\x06\x8a3\ -\x00\x00\x01\x8aE\xfa\xa6P\ +\x00\x00\x01\x8d\xf9j$\xae\ \x00\x00\x02\xc4\x00\x00\x00\x00\x00\x01\x00\x06Q\xfb\ -\x00\x00\x01\x8aE\xfa\xa6?\ +\x00\x00\x01\x8d\xf9j$\xac\ \x00\x00\x02.\x00\x00\x00\x00\x00\x01\x00\x06?\xec\ -\x00\x00\x01\x8aE\xfa\xa6P\ +\x00\x00\x01\x8d\xf9j$\xaf\ \x00\x00\x03(\x00\x00\x00\x00\x00\x01\x00\x06b\xb3\ -\x00\x00\x01\x8aE\xfa\xa6P\ +\x00\x00\x01\x8d\xf9j$\xad\ \x00\x00\x01\xbe\x00\x00\x00\x00\x00\x01\x00\x060\xaf\ -\x00\x00\x01\x8aE\xfa\xa6\x91\ +\x00\x00\x01\x8d\xf9j$\xc1\ \x00\x00\x03\x98\x00\x00\x00\x00\x00\x01\x00\x06\x94o\ -\x00\x00\x01\x8e\xd1T\x9c\xe7\ +\x00\x00\x01\x90\xeaLO\xeb\ \x00\x00\x01\xa6\x00\x00\x00\x00\x00\x01\x00\x06/\x9c\ -\x00\x00\x01\x8aE\xfa\xa6\x92\ +\x00\x00\x01\x8d\xf9j$\xc5\ \x00\x00\x04$\x00\x00\x00\x00\x00\x01\x00\x06\xa0\x10\ -\x00\x00\x01\x8aE\xfa\xa6\x92\ +\x00\x00\x01\x8d\xf9j$\xc4\ \x00\x00\x03\xb0\x00\x02\x00\x00\x00\x09\x00\x00\x00Q\ \x00\x00\x00\x00\x00\x00\x00\x00\ \x00\x00\x03~\x00\x02\x00\x00\x00.\x00\x00\x00#\ \x00\x00\x00\x00\x00\x00\x00\x00\ \x00\x00\x02\x0a\x00\x00\x00\x00\x00\x01\x00\x065G\ -\x00\x00\x01\x8aE\xfa\xa6\xa3\ +\x00\x00\x01\x8d\xf9j$\xc7\ \x00\x00\x04T\x00\x00\x00\x00\x00\x01\x00\x06\xa3)\ -\x00\x00\x01\x8aE\xfa\xa6\xa3\ +\x00\x00\x01\x8d\xf9j$\xc7\ \x00\x00\x03\xda\x00\x00\x00\x00\x00\x01\x00\x06\x96\x00\ -\x00\x00\x01\x8aE\xfa\xa6P\ +\x00\x00\x01\x8d\xf9j$\xad\ \x00\x00\x02\xda\x00\x00\x00\x00\x00\x01\x00\x06T\x05\ -\x00\x00\x01\x8aE\xfa\xa6P\ +\x00\x00\x01\x8d\xf9j$\xad\ \x00\x00\x02\x9e\x00\x00\x00\x00\x00\x01\x00\x06G\x93\ -\x00\x00\x01\x8aE\xfa\xa6\xa3\ +\x00\x00\x01\x8d\xf9j$\xc7\ \x00\x00\x03\x02\x00\x00\x00\x00\x00\x01\x00\x06`G\ -\x00\x00\x01\x8aE\xfa\xa6P\ +\x00\x00\x01\x8d\xf9j$\xac\ \x00\x00\x02R\x00\x00\x00\x00\x00\x01\x00\x07\x071\ -\x00\x00\x01\x8aE\xfa\xa6q\ +\x00\x00\x01\x8d\xf9j$\xba\ \x00\x00\x0bZ\x00\x00\x00\x00\x00\x01\x00\x07\xb0\xb6\ -\x00\x00\x01\x8aE\xfa\xa6\x82\ +\x00\x00\x01\x8d\xf9j$\xbf\ \x00\x00\x060\x00\x00\x00\x00\x00\x01\x00\x06\xec\xdf\ -\x00\x00\x01\x8aE\xfa\xa6\x82\ +\x00\x00\x01\x8d\xf9j$\xc1\ \x00\x00\x08\xd2\x00\x00\x00\x00\x00\x01\x00\x07C?\ -\x00\x00\x01\x8aE\xfa\xa6`\ +\x00\x00\x01\x8d\xf9j$\xb4\ \x00\x00\x09X\x00\x00\x00\x00\x00\x01\x00\x07Z\x11\ -\x00\x00\x01\x8aE\xfa\xa6`\ +\x00\x00\x01\x8d\xf9j$\xb5\ \x00\x00\x06\xd2\x00\x00\x00\x00\x00\x01\x00\x07\x04\xd5\ -\x00\x00\x01\x8aE\xfa\xa6\x82\ +\x00\x00\x01\x8d\xf9j$\xc0\ \x00\x00\x08V\x00\x00\x00\x00\x00\x01\x00\x07={\ -\x00\x00\x01\x8aE\xfa\xa6\x82\ +\x00\x00\x01\x8d\xf9j$\xbe\ \x00\x00\x094\x00\x00\x00\x00\x00\x01\x00\x07XO\ -\x00\x00\x01\x8aE\xfa\xa6q\ +\x00\x00\x01\x8d\xf9j$\xba\ \x00\x00\x0at\x00\x00\x00\x00\x00\x01\x00\x07\x98R\ -\x00\x00\x01\x8aE\xfa\xa6q\ +\x00\x00\x01\x8d\xf9j$\xba\ \x00\x00\x07^\x00\x00\x00\x00\x00\x01\x00\x07\x19A\ -\x00\x00\x01\x8aE\xfa\xa6\x82\ +\x00\x00\x01\x8d\xf9j$\xc0\ \x00\x00\x06\xf2\x00\x00\x00\x00\x00\x01\x00\x07\x0aq\ -\x00\x00\x01\x8aE\xfa\xa6q\ +\x00\x00\x01\x8d\xf9j$\xbd\ \x00\x00\x08\xf2\x00\x00\x00\x00\x00\x01\x00\x07U\x1d\ -\x00\x00\x01\x8e\xd1T\x9c\xe6\ +\x00\x00\x01\x90\xeaLO\xe9\ \x00\x00\x086\x00\x00\x00\x00\x00\x01\x00\x07$k\ -\x00\x00\x01\x8aE\xfa\xa6`\ +\x00\x00\x01\x8d\xf9j$\xb6\ \x00\x00\x08x\x00\x00\x00\x00\x00\x01\x00\x07?\x88\ -\x00\x00\x01\x8aE\xfa\xa6q\ +\x00\x00\x01\x8d\xf9j$\xbe\ \x00\x00\x07\xb0\x00\x00\x00\x00\x00\x01\x00\x07\x1f<\ -\x00\x00\x01\x8aE\xfa\xa6\x82\ +\x00\x00\x01\x8d\xf9j$\xbf\ \x00\x00\x08\xac\x00\x00\x00\x00\x00\x01\x00\x07@\xe4\ -\x00\x00\x01\x8aE\xfa\xa6\x82\ +\x00\x00\x01\x8d\xf9j$\xbe\ \x00\x00\x06V\x00\x00\x00\x00\x00\x01\x00\x06\xee\xe8\ -\x00\x00\x01\x8aE\xfa\xa6`\ +\x00\x00\x01\x8d\xf9j$\xb2\ \x00\x00\x09\xa6\x00\x00\x00\x00\x00\x01\x00\x07vV\ -\x00\x00\x01\x8aE\xfa\xa6`\ +\x00\x00\x01\x8d\xf9j$\xb6\ \x00\x00\x07v\x00\x00\x00\x00\x00\x01\x00\x07\x1b4\ -\x00\x00\x01\x8aE\xfa\xa6`\ +\x00\x00\x01\x8d\xf9j$\xb9\ \x00\x00\x0a\xc8\x00\x00\x00\x00\x00\x01\x00\x07\x9b\x1d\ -\x00\x00\x01\x8aE\xfa\xa6q\ +\x00\x00\x01\x8d\xf9j$\xbb\ \x00\x00\x06\x1a\x00\x00\x00\x00\x00\x01\x00\x06\xeap\ -\x00\x00\x01\x8aE\xfa\xa6\x82\ +\x00\x00\x01\x8d\xf9j$\xc0\ \x00\x00\x06\xb0\x00\x00\x00\x00\x00\x01\x00\x06\xf6\xf8\ -\x00\x00\x01\x8aE\xfa\xa6`\ +\x00\x00\x01\x8d\xf9j$\xb6\ \x00\x00\x08\x12\x00\x00\x00\x00\x00\x01\x00\x07#\x09\ -\x00\x00\x01\x8aE\xfa\xa6`\ +\x00\x00\x01\x8d\xf9j$\xb8\ \x00\x00\x07\x16\x00\x00\x00\x00\x00\x01\x00\x07\x15$\ -\x00\x00\x01\x8aE\xfa\xa6`\ +\x00\x00\x01\x8d\xf9j$\xb3\ \x00\x00\x0b\x12\x00\x00\x00\x00\x00\x01\x00\x07\x9e\xdf\ -\x00\x00\x01\x8aE\xfa\xa6q\ +\x00\x00\x01\x8d\xf9j$\xbb\ \x00\x00\x0a\x98\x00\x00\x00\x00\x00\x01\x00\x07\x9a\x18\ -\x00\x00\x01\x8aE\xfa\xa6\x81\ +\x00\x00\x01\x8d\xf9j$\xbe\ \x00\x00\x05\xfe\x00\x00\x00\x00\x00\x01\x00\x06\xe7K\ -\x00\x00\x01\x8aE\xfa\xa6q\ +\x00\x00\x01\x8d\xf9j$\xbb\ \x00\x00\x07\x98\x00\x00\x00\x00\x00\x01\x00\x07\x1ca\ -\x00\x00\x01\x8aE\xfa\xa6`\ +\x00\x00\x01\x8d\xf9j$\xb3\ \x00\x00\x09\x90\x00\x00\x00\x00\x00\x01\x00\x07t\xa3\ -\x00\x00\x01\x8aE\xfa\xa6`\ +\x00\x00\x01\x8d\xf9j$\xb5\ \x00\x00\x0b:\x00\x00\x00\x00\x00\x01\x00\x07\xa1:\ -\x00\x00\x01\x8aE\xfa\xa6`\ +\x00\x00\x01\x8d\xf9j$\xb6\ \x00\x00\x09\xfa\x00\x00\x00\x00\x00\x01\x00\x07\x85\xe9\ -\x00\x00\x01\x8aE\xfa\xa6\x82\ +\x00\x00\x01\x8d\xf9j$\xbe\ \x00\x00\x09\x1c\x00\x00\x00\x00\x00\x01\x00\x07W0\ -\x00\x00\x01\x8aE\xfa\xa6\x82\ +\x00\x00\x01\x8d\xf9j$\xbf\ \x00\x00\x09z\x00\x00\x00\x00\x00\x01\x00\x07h\x7f\ -\x00\x00\x01\x8aE\xfa\xa6\x82\ +\x00\x00\x01\x8d\xf9j$\xc0\ \x00\x00\x06\x9c\x00\x00\x00\x00\x00\x01\x00\x06\xf2^\ -\x00\x00\x01\x8aE\xfa\xa6`\ +\x00\x00\x01\x8d\xf9j$\xb3\ \x00\x00\x0a&\x00\x00\x00\x00\x00\x01\x00\x07\x88\xab\ -\x00\x00\x01\x8aE\xfa\xa6q\ +\x00\x00\x01\x8d\xf9j$\xbd\ \x00\x00\x09\xca\x00\x00\x00\x00\x00\x01\x00\x07\x84S\ -\x00\x00\x01\x8aE\xfa\xa6q\ +\x00\x00\x01\x8d\xf9j$\xbb\ \x00\x00\x07H\x00\x00\x00\x00\x00\x01\x00\x07\x16\xf2\ -\x00\x00\x01\x8aE\xfa\xa6`\ +\x00\x00\x01\x8d\xf9j$\xb8\ \x00\x00\x0a>\x00\x00\x00\x00\x00\x01\x00\x07\x8a\xf5\ -\x00\x00\x01\x8aE\xfa\xa6`\ +\x00\x00\x01\x8d\xf9j$\xb3\ \x00\x00\x06\x86\x00\x00\x00\x00\x00\x01\x00\x06\xf0\xb4\ -\x00\x00\x01\x8aE\xfa\xa6\x82\ +\x00\x00\x01\x8d\xf9j$\xbe\ \x00\x00\x0aV\x00\x00\x00\x00\x00\x01\x00\x07\x8c[\ -\x00\x00\x01\x8aE\xfa\xa6`\ +\x00\x00\x01\x8d\xf9j$\xb5\ \x00\x00\x07\xe4\x00\x01\x00\x00\x00\x01\x00\x07 \x91\ -\x00\x00\x01\x8aE\xfa\xa6\x82\ +\x00\x00\x01\x8d\xf9j$\xbf\ \x00\x00\x07\xfe\x00\x00\x00\x00\x00\x01\x00\x07!k\ -\x00\x00\x01\x8aE\xfa\xa6q\ +\x00\x00\x01\x8d\xf9j$\xb9\ \x00\x00\x0a\xec\x00\x00\x00\x00\x00\x01\x00\x07\x9d\x00\ -\x00\x00\x01\x8aE\xfa\xa6p\ +\x00\x00\x01\x8d\xf9j$\xb9\ \x00\x00\x04\xf0\x00\x00\x00\x00\x00\x01\x00\x07\x08@\ -\x00\x00\x01\x8aE\xfa\xa6q\ +\x00\x00\x01\x8d\xf9j$\xb9\ \x00\x00\x05X\x00\x00\x00\x00\x00\x01\x00\x072\xe9\ -\x00\x00\x01\x8aE\xfa\xa6`\ +\x00\x00\x01\x8d\xf9j$\xb7\ \x00\x00\x05\x84\x00\x00\x00\x00\x00\x01\x00\x07i\xd3\ -\x00\x00\x01\x8aE\xfa\xa6`\ +\x00\x00\x01\x8d\xf9j$\xb8\ \x00\x00\x05\xb0\x00\x00\x00\x00\x00\x01\x00\x06\xe3:\ -\x00\x00\x01\x8aE\xfa\xa6\x92\ +\x00\x00\x01\x8d\xf9j$\xc3\ \x00\x00\x05\x0e\x00\x00\x00\x00\x00\x01\x00\x06\xca\xc1\ -\x00\x00\x01\x8aE\xfa\xa6\x92\ +\x00\x00\x01\x8d\xf9j$\xc4\ \x00\x00\x02\x80\x00\x00\x00\x00\x00\x01\x00\x06\xc6\xaf\ -\x00\x00\x01\x8aE\xfa\xa6\x92\ +\x00\x00\x01\x8d\xf9j$\xc3\ \x00\x00\x04\xce\x00\x00\x00\x00\x00\x01\x00\x06\xc4\x9c\ -\x00\x00\x01\x8aE\xfa\xa6\x92\ +\x00\x00\x01\x8d\xf9j$\xc2\ \x00\x00\x05\xe2\x00\x00\x00\x00\x00\x01\x00\x06\xe5\x0c\ -\x00\x00\x01\x8aE\xfa\xa6\x92\ +\x00\x00\x01\x8d\xf9j$\xc2\ \x00\x00\x05(\x00\x00\x00\x00\x00\x01\x00\x06\xcdK\ -\x00\x00\x01\x8aE\xfa\xa6\x92\ +\x00\x00\x01\x8d\xf9j$\xc4\ \x00\x00\x04\xf0\x00\x00\x00\x00\x00\x01\x00\x06\xc8\x90\ -\x00\x00\x01\x8aE\xfa\xa6\x92\ +\x00\x00\x01\x8d\xf9j$\xc4\ \x00\x00\x05X\x00\x00\x00\x00\x00\x01\x00\x06\xcf\xfe\ -\x00\x00\x01\x8aE\xfa\xa6\x92\ +\x00\x00\x01\x8d\xf9j$\xc2\ \x00\x00\x05\x84\x00\x00\x00\x00\x00\x01\x00\x06\xd9\xb8\ -\x00\x00\x01\x8aE\xfa\xa6\x92\ +\x00\x00\x01\x8d\xf9j$\xc3\ \x00\x00\x01&\x00\x01\x00\x00\x00\x01\x00\x03\x04\x82\ -\x00\x00\x01\x8aE\xfa\xa6P\ +\x00\x00\x01\x8d\xf9j$\xaf\ \x00\x00\x00\xe6\x00\x01\x00\x00\x00\x01\x00\x02\xbaN\ -\x00\x00\x01\x8aE\xfa\xa6P\ +\x00\x00\x01\x8d\xf9j$\xb0\ \x00\x00\x01d\x00\x00\x00\x00\x00\x01\x00\x03\x10\xa8\ -\x00\x00\x01\x8aE\xfa\xa6P\ +\x00\x00\x01\x8d\xf9j$\xb1\ " def qInitResources(): diff --git a/spinetoolbox/ui/mainwindow.py b/spinetoolbox/ui/mainwindow.py index d97bd99df..be0b9cad1 100644 --- a/spinetoolbox/ui/mainwindow.py +++ b/spinetoolbox/ui/mainwindow.py @@ -14,7 +14,7 @@ ################################################################################ ## Form generated from reading UI file 'mainwindow.ui' ## -## Created by: Qt User Interface Compiler version 6.6.2 +## Created by: Qt User Interface Compiler version 6.5.2 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ @@ -219,7 +219,7 @@ def setupUi(self, MainWindow): MainWindow.setStatusBar(self.statusbar) self.dockWidget_eventlog = QDockWidget(MainWindow) self.dockWidget_eventlog.setObjectName(u"dockWidget_eventlog") - sizePolicy = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Preferred) + sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.dockWidget_eventlog.sizePolicy().hasHeightForWidth()) @@ -228,7 +228,7 @@ def setupUi(self, MainWindow): self.dockWidget_eventlog.setFeatures(QDockWidget.DockWidgetClosable|QDockWidget.DockWidgetFloatable|QDockWidget.DockWidgetMovable) self.dockWidgetContents = QWidget() self.dockWidgetContents.setObjectName(u"dockWidgetContents") - sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding) + sizePolicy1 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) sizePolicy1.setHorizontalStretch(0) sizePolicy1.setVerticalStretch(0) sizePolicy1.setHeightForWidth(self.dockWidgetContents.sizePolicy().hasHeightForWidth()) diff --git a/spinetoolbox/ui/startup_box.py b/spinetoolbox/ui/startup_box.py index bac8777b5..20d22f1de 100644 --- a/spinetoolbox/ui/startup_box.py +++ b/spinetoolbox/ui/startup_box.py @@ -14,7 +14,7 @@ ################################################################################ ## Form generated from reading UI file 'startup_box.ui' ## -## Created by: Qt User Interface Compiler version 6.6.2 +## Created by: Qt User Interface Compiler version 6.5.2 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ @@ -26,47 +26,15 @@ QFont, QFontDatabase, QGradient, QIcon, QImage, QKeySequence, QLinearGradient, QPainter, QPalette, QPixmap, QRadialGradient, QTransform) -from PySide6.QtWidgets import (QApplication, QCommandLinkButton, QFrame, QGroupBox, - QLabel, QPushButton, QScrollArea, QSizePolicy, - QTabWidget, QVBoxLayout, QWidget) +from PySide6.QtWidgets import (QApplication, QFrame, QGroupBox, QLabel, + QListWidget, QListWidgetItem, QPushButton, QSizePolicy, + QTabWidget, QWidget) class Ui_Form(object): def setupUi(self, Form): if not Form.objectName(): Form.setObjectName(u"Form") Form.resize(1481, 928) - self.verticalLayoutWidget = QWidget(Form) - self.verticalLayoutWidget.setObjectName(u"verticalLayoutWidget") - self.verticalLayoutWidget.setGeometry(QRect(10, 30, 191, 791)) - self.verticalLayout = QVBoxLayout(self.verticalLayoutWidget) - self.verticalLayout.setObjectName(u"verticalLayout") - self.verticalLayout.setContentsMargins(0, 0, 0, 0) - self.scrollArea = QScrollArea(self.verticalLayoutWidget) - self.scrollArea.setObjectName(u"scrollArea") - self.scrollArea.setWidgetResizable(True) - self.scrollAreaWidgetContents = QWidget() - self.scrollAreaWidgetContents.setObjectName(u"scrollAreaWidgetContents") - self.scrollAreaWidgetContents.setGeometry(QRect(0, 0, 187, 787)) - self.label_2 = QLabel(self.scrollAreaWidgetContents) - self.label_2.setObjectName(u"label_2") - self.label_2.setGeometry(QRect(10, 70, 141, 20)) - font = QFont() - font.setPointSize(11) - font.setBold(True) - self.label_2.setFont(font) - self.label_2.setLineWidth(1) - self.commandLinkButton = QCommandLinkButton(self.scrollAreaWidgetContents) - self.commandLinkButton.setObjectName(u"commandLinkButton") - self.commandLinkButton.setGeometry(QRect(10, 20, 161, 31)) - self.commandLinkButton.setStyleSheet(u"background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(0, 0, 0, 0), stop:1 rgba(255, 255, 255, 255));\n" -"border-color: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5, stop:0 rgba(0, 0, 0, 0), stop:1 rgba(255, 255, 255, 255));") - icon = QIcon() - icon.addFile(u"resources/menu_icons/folder-open-solid.svg", QSize(), QIcon.Normal, QIcon.Off) - self.commandLinkButton.setIcon(icon) - self.scrollArea.setWidget(self.scrollAreaWidgetContents) - - self.verticalLayout.addWidget(self.scrollArea) - self.tabWidget = QTabWidget(Form) self.tabWidget.setObjectName(u"tabWidget") self.tabWidget.setGeometry(QRect(210, 30, 601, 791)) @@ -75,11 +43,11 @@ def setupUi(self, Form): self.label_13 = QLabel(self.tab) self.label_13.setObjectName(u"label_13") self.label_13.setGeometry(QRect(20, 460, 530, 21)) - font1 = QFont() - font1.setPointSize(12) - font1.setBold(True) - font1.setUnderline(False) - self.label_13.setFont(font1) + font = QFont() + font.setPointSize(12) + font.setBold(True) + font.setUnderline(False) + self.label_13.setFont(font) self.label_13.setLayoutDirection(Qt.LeftToRight) self.label_13.setAlignment(Qt.AlignLeading|Qt.AlignLeft|Qt.AlignVCenter) self.line = QFrame(self.tab) @@ -95,7 +63,7 @@ def setupUi(self, Form): self.label = QLabel(self.tab) self.label.setObjectName(u"label") self.label.setGeometry(QRect(10, 0, 561, 21)) - self.label.setFont(font1) + self.label.setFont(font) self.label.setLayoutDirection(Qt.LeftToRight) self.label.setAlignment(Qt.AlignLeading|Qt.AlignLeft|Qt.AlignVCenter) self.groupBox = QGroupBox(self.tab) @@ -196,6 +164,19 @@ def setupUi(self, Form): self.groupBox_6.setObjectName(u"groupBox_6") self.groupBox_6.setGeometry(QRect(820, 50, 151, 761)) self.groupBox_6.setMinimumSize(QSize(0, 16)) + self.groupBox_7 = QGroupBox(Form) + self.groupBox_7.setObjectName(u"groupBox_7") + self.groupBox_7.setGeometry(QRect(40, 50, 151, 761)) + self.groupBox_7.setMinimumSize(QSize(0, 16)) + self.pushButton_8 = QPushButton(self.groupBox_7) + self.pushButton_8.setObjectName(u"pushButton_8") + self.pushButton_8.setGeometry(QRect(10, 40, 131, 24)) + self.label_2 = QLabel(self.groupBox_7) + self.label_2.setObjectName(u"label_2") + self.label_2.setGeometry(QRect(10, 80, 49, 16)) + self.listWidget = QListWidget(self.groupBox_7) + self.listWidget.setObjectName(u"listWidget") + self.listWidget.setGeometry(QRect(20, 110, 121, 192)) self.retranslateUi(Form) @@ -207,8 +188,6 @@ def setupUi(self, Form): def retranslateUi(self, Form): Form.setWindowTitle(QCoreApplication.translate("Form", u"Form", None)) - self.label_2.setText(QCoreApplication.translate("Form", u"Recent", None)) - self.commandLinkButton.setText(QCoreApplication.translate("Form", u"Open...", None)) self.label_13.setText(QCoreApplication.translate("Form", u"Advanced Templates", None)) self.label.setText(QCoreApplication.translate("Form", u"Beginner Templates", None)) self.groupBox.setTitle(QCoreApplication.translate("Form", u"Simple Energy System", None)) @@ -234,5 +213,8 @@ def retranslateUi(self, Form): self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), QCoreApplication.translate("Form", u"Templates", None)) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), QCoreApplication.translate("Form", u"Tutorials", None)) self.groupBox_6.setTitle(QCoreApplication.translate("Form", u"Software Info", None)) + self.groupBox_7.setTitle(QCoreApplication.translate("Form", u"Main", None)) + self.pushButton_8.setText(QCoreApplication.translate("Form", u"Open Project", None)) + self.label_2.setText(QCoreApplication.translate("Form", u"Recent", None)) # retranslateUi diff --git a/spinetoolbox/ui/startup_box.ui b/spinetoolbox/ui/startup_box.ui index 643aba804..4225df469 100644 --- a/spinetoolbox/ui/startup_box.ui +++ b/spinetoolbox/ui/startup_box.ui @@ -26,78 +26,6 @@ Form - - - - 10 - 30 - 191 - 791 - - - - - - - true - - - - - 0 - 0 - 187 - 787 - - - - - - 10 - 70 - 141 - 20 - - - - - 11 - true - - - - 1 - - - Recent - - - - - - 10 - 20 - 161 - 31 - - - - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(0, 0, 0, 0), stop:1 rgba(255, 255, 255, 255)); -border-color: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5, stop:0 rgba(0, 0, 0, 0), stop:1 rgba(255, 255, 255, 255)); - - - Open... - - - - resources/menu_icons/folder-open-solid.svgresources/menu_icons/folder-open-solid.svg - - - - - - - @@ -568,6 +496,61 @@ border-color: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy Software Info + + + + 40 + 50 + 151 + 761 + + + + + 0 + 16 + + + + Main + + + + + 10 + 40 + 131 + 24 + + + + Open Project + + + + + + 10 + 80 + 49 + 16 + + + + Recent + + + + + + 20 + 110 + 121 + 192 + + + + diff --git a/spinetoolbox/ui_main.py b/spinetoolbox/ui_main.py index 8210977a6..815f02395 100644 --- a/spinetoolbox/ui_main.py +++ b/spinetoolbox/ui_main.py @@ -66,7 +66,6 @@ from .mvcmodels.project_item_specification_models import ProjectItemSpecificationModel, FilteredSpecificationModel from .mvcmodels.filter_execution_model import FilterExecutionModel from .project_settings import ProjectSettings -from .startup_box_old import StartUpMainWindow from .widgets.startup_box_widget import StartupBoxWidget from .widgets.set_description_dialog import SetDescriptionDialog from .widgets.multi_tab_spec_editor import MultiTabSpecEditor diff --git a/spinetoolbox/widgets/startup_box_widget.py b/spinetoolbox/widgets/startup_box_widget.py index b9d1b6cd7..b6f853cb3 100644 --- a/spinetoolbox/widgets/startup_box_widget.py +++ b/spinetoolbox/widgets/startup_box_widget.py @@ -15,15 +15,24 @@ from PySide6.QtCore import Qt, Slot, Signal from spinetoolbox.ui.startup_box import Ui_Form +from PySide6.QtWidgets import QListWidgetItem class StartupBoxWidget(QWidget): project_load_requested = Signal(str) + project_opener = Signal(str) + recent_projects = Signal(str) def __init__(self, parent=None): super().__init__(parent=parent, f=Qt.WindowType.Window) self._ui = Ui_Form() self._ui.setupUi(self) + # Connect the clicked signal of open project button + self._ui.pushButton_8.clicked.connect(self.open_project_startbox) + + # Connect the signal of recent projects + self.open_recent() + # Connect the clicked signal of each button to a specific slot self._ui.pushButton_3.clicked.connect(self.open_tutorial1) self._ui.pushButton_4.clicked.connect(self.open_tutorial2) @@ -32,6 +41,36 @@ def __init__(self, parent=None): self._ui.pushButton_7.clicked.connect(self.open_tutorial5) @Slot() + def open_project_startbox(self): + # Execute the open_project function in the ui_main.py + self.project_opener.emit(self) + + def open_recent(self): + # Access qsettings from the parent object + recents = self.parent().qsettings().value("appSettings/recentProjects", defaultValue=None) + if recents: + recents = str(recents) + recents_list = recents.split("\n") + for entry in recents_list: + name, filepath = entry.split("<>") + # Add only the name to the list widget + item = QListWidgetItem(name) + self._ui.listWidget.addItem(item) + + # Storing filepath as an attribute of the item + item.filepath = filepath + # Storing filepath as data + item.setData(Qt.UserRole, filepath) + + # Connect the itemClicked signal to the open_selected_tutorial function + self._ui.listWidget.itemClicked.connect(self.open_selected_tutorial) + + @Slot() + def open_selected_tutorial(self): + item = self._ui.listWidget.currentItem() + path = item.data(Qt.UserRole) + self.project_load_requested.emit(path) + def open_tutorial1(self): print("Open 1st tutorial") path_to_project = "C:\\Users\ErmannoLoCascio\Desktop\eScience - Mopo\spine_projects\Simple Tutorial 4" @@ -55,4 +94,4 @@ def open_tutorial4(self): @Slot() def open_tutorial5(self): path_to_project = "C:\\Users\ErmannoLoCascio\Desktop\eScience - Mopo\spine_projects\Simple Tutorial 5" - self.project_load_requested.emit(path_to_project) + self.project_load_requested.emit(path_to_project) \ No newline at end of file