class DownloadTableWidget(QTableWidget): def __init__(self, parent): super().__init__() # set ui direction ui_direction = parent.persepolis_setting.value('ui_direction') if ui_direction == 'rtl': self.setLayoutDirection(Qt.RightToLeft) elif ui_direction in 'ltr': self.setLayoutDirection(Qt.LeftToRight) # creating context menu self.tablewidget_menu = QMenu(self) self.sendMenu = self.tablewidget_menu.addMenu('') # don't wrap items self.setWordWrap(False) def contextMenuEvent(self, event): self.tablewidget_menu.popup(QCursor.pos())
class MenuWidget(QPushButton): def __init__(self, parent): super().__init__() self.parent = parent icons = ':/' + \ str(self.parent.persepolis_setting.value('settings/icons')) + '/' # add support for other languages locale = str(self.parent.persepolis_setting.value('settings/locale')) QLocale.setDefault(QLocale(locale)) self.translator = QTranslator() if self.translator.load(':/translations/locales/ui_' + locale, 'ts'): QCoreApplication.installTranslator(self.translator) # set ui direction ui_direction = self.parent.persepolis_setting.value('ui_direction') if ui_direction == 'rtl': self.setLayoutDirection(Qt.RightToLeft) elif ui_direction in 'ltr': self.setLayoutDirection(Qt.LeftToRight) # creating context menu self.menubar = QMenu(self) self.setMenu(self.menubar) self.setIcon(QIcon(icons + 'menu')) self.setStyleSheet( """QPushButton{border: none; background-color: transparent; padding: 0px}""" ) fileMenu = self.menubar.addMenu( QCoreApplication.translate("mainwindow_ui_tr", 'File')) editMenu = self.menubar.addMenu( QCoreApplication.translate("mainwindow_ui_tr", 'Edit')) viewMenu = self.menubar.addMenu( QCoreApplication.translate("mainwindow_ui_tr", 'View')) downloadMenu = self.menubar.addMenu( QCoreApplication.translate("mainwindow_ui_tr", 'Download')) queueMenu = self.menubar.addMenu( QCoreApplication.translate("mainwindow_ui_tr", 'Queue')) videoFinderMenu = self.menubar.addMenu( QCoreApplication.translate("mainwindow_ui_tr", 'Video Finder')) helpMenu = self.menubar.addMenu( QCoreApplication.translate("mainwindow_ui_tr", 'Help')) sortMenu = viewMenu.addMenu( QCoreApplication.translate("mainwindow_ui_tr", 'Sort by')) videoFinderMenu.addAction(self.parent.videoFinderAddLinkAction) downloadMenu.addAction(self.parent.stopAllAction) sortMenu.addAction(self.parent.sort_file_name_Action) sortMenu.addAction(self.parent.sort_file_size_Action) sortMenu.addAction(self.parent.sort_first_try_date_Action) sortMenu.addAction(self.parent.sort_last_try_date_Action) sortMenu.addAction(self.parent.sort_download_status_Action) viewMenu.addAction(self.parent.trayAction) viewMenu.addAction(self.parent.showMenuBarAction) viewMenu.addAction(self.parent.showSidePanelAction) viewMenu.addAction(self.parent.minimizeAction) fileMenu.addAction(self.parent.addlinkAction) fileMenu.addAction(self.parent.addtextfileAction) downloadMenu.addAction(self.parent.resumeAction) downloadMenu.addAction(self.parent.pauseAction) downloadMenu.addAction(self.parent.stopAction) downloadMenu.addAction(self.parent.propertiesAction) downloadMenu.addAction(self.parent.progressAction) fileMenu.addAction(self.parent.openFileAction) fileMenu.addAction(self.parent.openDownloadFolderAction) fileMenu.addAction(self.parent.openDefaultDownloadFolderAction) fileMenu.addAction(self.parent.exitAction) editMenu.addAction(self.parent.clearAction) editMenu.addAction(self.parent.removeSelectedAction) editMenu.addAction(self.parent.deleteSelectedAction) queueMenu.addAction(self.parent.createQueueAction) queueMenu.addAction(self.parent.removeQueueAction) queueMenu.addAction(self.parent.startQueueAction) queueMenu.addAction(self.parent.stopQueueAction) queueMenu.addAction(self.parent.moveUpSelectedAction) queueMenu.addAction(self.parent.moveDownSelectedAction) editMenu.addAction(self.parent.preferencesAction) helpMenu.addAction(self.parent.aboutAction) helpMenu.addAction(self.parent.issueAction) helpMenu.addAction(self.parent.updateAction) helpMenu.addAction(self.parent.logAction) helpMenu.addAction(self.parent.helpAction)