def setRecentFileMenu(self): self.ui.menuRecent_Files.clear() # Add the recent files to the menu recent = config.getRecentFiles() for f in recent: a = QtGui.QAction(os.path.basename(f), self) a.triggered.connect(partial(self.open, url=f)) # Mask any passwords f_nopasswd = maskPasswords(f) a.setToolTip(f_nopasswd) self.ui.menuRecent_Files.addAction(a)
def __init__(self): # Setup UI first. QtGui.QMainWindow.__init__(self, None) self.current_url = None self.centralwidget = None self.setStyleSheet('font: %spt "%s";' % (config.getConfig('font_size'), config.getConfig('font_name'))) # self.setStyleSheet('font: 12 "MS Shell Dlg 2";') # self.setStyleSheet('font: 12pt "MS Shell Dlg 2";') self.ui = MainWindowForm[0]() self.ui.setupUi(self) for action, func in [(self.ui.actionNew, self.onNew), (self.ui.actionOpen, self.onOpen), (self.ui.actionArchitecture, self.onArchitectureView), (self.ui.actionPlanning, self.onPlanningView), (self.ui.actionExport_as_CSV, self.exportCsv), (self.ui.actionNew_from_CSV, self.newFromCsv), (self.ui.actionWork_Items, self.onWorkItemView), (self.ui.actionRequirements_Document, self.onRequirementsDocument), (self.ui.actionOpen_Database, self.onOpenDatabase), (self.ui.actionProgress_Report, self.onProgressReport) ]: action.triggered.connect(func) # Add the recent files to the menu self.setRecentFileMenu() # Open the most recent file recent = config.getRecentFiles() if len(recent) > 0: self.open(url=recent[0]) # Monkey-patch the menu to show its tooltips. I don't believe QT developers are so arrogant # they purposely disable tooltips in menu's! def handleMenuHovered(action): QtGui.QToolTip.showText( QtGui.QCursor.pos(), action.toolTip(), self.ui.menuRecent_Files, self.ui.menuRecent_Files.actionGeometry(action)) self.ui.menuRecent_Files.hovered.connect(handleMenuHovered)