diff --git a/data/ui/main.ui b/data/ui/main.ui index 34c39e377..3b1eb0928 100644 --- a/data/ui/main.ui +++ b/data/ui/main.ui @@ -341,7 +341,7 @@ image: url(:/icons/icons/splitter_handle_vertical.svg); 0 0 798 - 27 + 30 @@ -358,6 +358,11 @@ image: url(:/icons/icons/splitter_handle_vertical.svg); + + + Recent + + @@ -365,6 +370,7 @@ image: url(:/icons/icons/splitter_handle_vertical.svg); + @@ -375,6 +381,8 @@ image: url(:/icons/icons/splitter_handle_vertical.svg); + + @@ -822,6 +830,20 @@ image: url(:/icons/icons/splitter_handle_vertical.svg); 100% (disables demodulation) + + + + .. + + + Exit URH + + + + + Placeholder + + diff --git a/src/urh/controller/MainController.py b/src/urh/controller/MainController.py index ef65dcc19..44c07e41d 100644 --- a/src/urh/controller/MainController.py +++ b/src/urh/controller/MainController.py @@ -217,6 +217,7 @@ def create_connects(self): ) self.ui.actionSave_project.triggered.connect(self.save_project) self.ui.actionClose_project.triggered.connect(self.close_project) + self.ui.actionExit_URH.triggered.connect(self.close) self.ui.actionAbout_AutomaticHacker.triggered.connect( self.on_show_about_clicked @@ -352,13 +353,12 @@ def create_connects(self): self.on_label_non_project_mode_link_activated ) - self.ui.menuFile.addSeparator() for i in range(settings.MAX_RECENT_FILE_NR): recent_file_action = QAction(self) recent_file_action.setVisible(False) recent_file_action.triggered.connect(self.on_open_recent_action_triggered) self.recentFileActionList.append(recent_file_action) - self.ui.menuFile.addAction(self.recentFileActionList[i]) + self.ui.menuRecent.addAction(self.recentFileActionList[i]) def add_plain_bits_from_txt(self, filename: str): with open(filename) as f: diff --git a/src/urh/ui/ui_main.py b/src/urh/ui/ui_main.py index 4634c24e3..5091c84d1 100644 --- a/src/urh/ui/ui_main.py +++ b/src/urh/ui/ui_main.py @@ -171,7 +171,7 @@ def setupUi(self, MainWindow): self.verticalLayout_4.setStretch(1, 1) MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) - self.menubar.setGeometry(QtCore.QRect(0, 0, 798, 27)) + self.menubar.setGeometry(QtCore.QRect(0, 0, 798, 30)) self.menubar.setObjectName("menubar") self.menuFile = QtWidgets.QMenu(self.menubar) self.menuFile.setObjectName("menuFile") @@ -179,6 +179,8 @@ def setupUi(self, MainWindow): icon = QtGui.QIcon.fromTheme("document-import") self.menuImport.setIcon(icon) self.menuImport.setObjectName("menuImport") + self.menuRecent = QtWidgets.QMenu(self.menuFile) + self.menuRecent.setObjectName("menuRecent") self.menuEdit = QtWidgets.QMenu(self.menubar) self.menuEdit.setObjectName("menuEdit") self.menuDefault_noise_threshold = QtWidgets.QMenu(self.menuEdit) @@ -378,6 +380,12 @@ def setupUi(self, MainWindow): self.action100NoiseThreshold = QtWidgets.QAction(MainWindow) self.action100NoiseThreshold.setCheckable(True) self.action100NoiseThreshold.setObjectName("action100NoiseThreshold") + self.actionExit_URH = QtWidgets.QAction(MainWindow) + icon = QtGui.QIcon.fromTheme("application-exit") + self.actionExit_URH.setIcon(icon) + self.actionExit_URH.setObjectName("actionExit_URH") + self.actionPlaceholder = QtWidgets.QAction(MainWindow) + self.actionPlaceholder.setObjectName("actionPlaceholder") self.menuImport.addAction(self.actionSamples_from_csv) self.menuFile.addAction(self.actionNew_Project) self.menuFile.addAction(self.actionProject_settings) @@ -386,6 +394,7 @@ def setupUi(self, MainWindow): self.menuFile.addSeparator() self.menuFile.addAction(self.actionOpen) self.menuFile.addAction(self.actionOpen_directory) + self.menuFile.addAction(self.menuRecent.menuAction()) self.menuFile.addAction(self.menuImport.menuAction()) self.menuFile.addSeparator() self.menuFile.addAction(self.actionSpectrum_Analyzer) @@ -396,6 +405,8 @@ def setupUi(self, MainWindow): self.menuFile.addAction(self.actionCloseAllFiles) self.menuFile.addSeparator() self.menuFile.addAction(self.actionConvert_Folder_to_Project) + self.menuFile.addSeparator() + self.menuFile.addAction(self.actionExit_URH) self.menuDefault_noise_threshold.addAction(self.actionAutomaticNoiseThreshold) self.menuDefault_noise_threshold.addAction(self.action1NoiseThreshold) self.menuDefault_noise_threshold.addAction(self.action5NoiseThreshold) @@ -456,6 +467,7 @@ def retranslateUi(self, MainWindow): ) self.menuFile.setTitle(_translate("MainWindow", "Fi&le")) self.menuImport.setTitle(_translate("MainWindow", "Import")) + self.menuRecent.setTitle(_translate("MainWindow", "Recent")) self.menuEdit.setTitle(_translate("MainWindow", "Edi&t")) self.menuDefault_noise_threshold.setTitle( _translate("MainWindow", "Default noise threshold") @@ -536,6 +548,8 @@ def retranslateUi(self, MainWindow): self.action100NoiseThreshold.setText( _translate("MainWindow", "100% (disables demodulation)") ) + self.actionExit_URH.setText(_translate("MainWindow", "Exit URH")) + self.actionPlaceholder.setText(_translate("MainWindow", "Placeholder")) from urh.ui.views.DirectoryTreeView import DirectoryTreeView