--- a/UI/UserInterface.py Tue Aug 23 19:02:43 2016 +0200 +++ b/UI/UserInterface.py Wed Aug 24 20:00:29 2016 +0200 @@ -2174,6 +2174,23 @@ E5ErrorMessage.editMessageFilters) self.actions.append(self.editMessageFilterAct) + self.clearPrivateDataAct = E5Action( + self.tr('Clear private data'), + UI.PixmapCache.getIcon("clearPrivateData.png"), + self.tr('Clear private data'), + 0, 0, + self, 'clear_private_data') + self.clearPrivateDataAct.setStatusTip(self.tr( + 'Clear private data')) + self.clearPrivateDataAct.setWhatsThis(self.tr( + """<b>Clear private data</b>""" + """<p>Clears the private data like the various list of""" + """ recently opened files, projects or multi projects.</p>""" + )) + self.clearPrivateDataAct.triggered.connect( + self.__clearPrivateData) + self.actions.append(self.clearPrivateDataAct) + self.viewmanagerActivateAct = E5Action( self.tr('Activate current editor'), self.tr('Activate current editor'), @@ -2523,6 +2540,8 @@ self.__menus["settings"].addAction(self.certificatesAct) self.__menus["settings"].addSeparator() self.__menus["settings"].addAction(self.editMessageFilterAct) + self.__menus["settings"].addSeparator() + self.__menus["settings"].addAction(self.clearPrivateDataAct) self.__menus["window"] = QMenu(self.tr('&Window'), self) mb.addMenu(self.__menus["window"]) @@ -2700,10 +2719,18 @@ settingstb.addAction(self.shortcutsAct) settingstb.addAction(self.showExternalToolsAct) self.toolbarManager.addToolBar(settingstb, settingstb.windowTitle()) - self.toolbarManager.addAction( - self.exportShortcutsAct, settingstb.windowTitle()) - self.toolbarManager.addAction( - self.importShortcutsAct, settingstb.windowTitle()) + self.toolbarManager.addActions([ + self.exportShortcutsAct, + self.importShortcutsAct, + self.prefExportAct, + self.prefImportAct, + self.showExternalToolsAct, + self.editMessageFilterAct, + self.clearPrivateDataAct, + ], settingstb.windowTitle()) + if SSL_AVAILABLE: + self.toolbarManager.addAction( + self.certificatesAct, settingstb.windowTitle()) # setup the help toolbar helptb.addAction(self.whatsThisAct) @@ -5575,6 +5602,32 @@ dlg = E5SslCertificatesDialog(self) dlg.exec_() + def __clearPrivateData(self): + """ + Private slot to clear the private data lists. + """ + from .ClearPrivateDataDialog import ClearPrivateDataDialog + dlg = ClearPrivateDataDialog(self) + if dlg.exec_() == QDialog.Accepted: + # recent files, recent projects, recent multi projects, + # debug histories, shell histories + (files, projects, multiProjects, debug, shell) = dlg.getData() + if files: + # clear list of recently opened files + self.viewmanager.clearRecent() + if projects: + # clear list of recently opened projects + self.project.clearRecent() + if multiProjects: + # clear list of recently opened multi projects + self.multiProject.clearRecent() + if debug: + # clear the various debug histories + self.debuggerUI.clearHistories() + if shell: + # clear the shell histories + self.shell.clearAllHistories() + def __newProject(self): """ Private slot to handle the NewProject signal.