def __init__(self, windowTitle, videoData, formData, enableLabelTranslation=False, enableLabelSelection=False, enableFieldTranslation=False, enableFieldSelection=False): super().__init__(parent=App.getActiveWindow(), useWindowGeometry=False) self.setWindowTitle(windowTitle) self.videoData = videoData self.formData = formData self.enableLabelTranslation = enableLabelTranslation self.enableLabelSelection = enableLabelSelection self.enableFieldTranslation = enableFieldTranslation self.enableFieldSelection = enableFieldSelection if self.videoData == None: self.tabWidget.setTabVisible(1, False) self.videoWidgetPlaceholder.hide() self.line.hide() else: self.setWindowFlag(QtCore.Qt.WindowMaximizeButtonHint) Utils.setPlaceholder( self.videoWidgetPlaceholder, Ui.VideoWidget(self.videoData, resizable=True, showMore=False)) self.setPreviewTab() self.setFormData() self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Ok)
def ask(askTitle, askText, okText=None, cancelText=None, defaultOk=False, **kwargs): askTitle = T(askTitle, **kwargs) askText = T(askText, **kwargs) ask = QtWidgets.QMessageBox(parent=App.getActiveWindow()) ask.setWindowIcon(QtGui.QIcon(Config.LOGO_IMAGE)) ask.setWindowTitle(askTitle) ask.setIcon(QtWidgets.QMessageBox.Information) ask.setFont(Translator.getFont()) ask.setText(askText) ask.setStandardButtons(QtWidgets.QMessageBox.Ok | QtWidgets.QMessageBox.Cancel) if okText != None: ask.button(QtWidgets.QMessageBox.Ok).setText(T(okText)) if cancelText != None: ask.button(QtWidgets.QMessageBox.Cancel).setText(T(cancelText)) if defaultOk: ask.setDefaultButton(QtWidgets.QMessageBox.Ok) else: ask.setDefaultButton(QtWidgets.QMessageBox.Cancel) return ask.exec() == QtWidgets.QMessageBox.Ok
def __init__(self, downloadInfo, showMore=True): super().__init__(parent=App.getActiveWindow()) self.ignoreKey(QtCore.Qt.Key_Return, QtCore.Qt.Key_Enter) self.setWindowFlag(QtCore.Qt.WindowMaximizeButtonHint) self.downloadInfo = downloadInfo Utils.setPlaceholder( self.videoWidgetPlaceholder, Ui.VideoWidget(self.downloadInfo.videoData, showMore=showMore)) self.loadOptions()
def __init__(self, waitTitle, waitText, target, **kwargs): super().__init__(parent=App.getActiveWindow()) waitTitle = T(waitTitle, **kwargs) waitText = T(waitText, **kwargs) self.setWindowIcon(QtGui.QIcon(Config.LOGO_IMAGE)) self.setWindowTitle(waitTitle) self.setIcon(QtWidgets.QMessageBox.Information) self.setFont(Translator.getFont()) self.setText(waitText) self.setStandardButtons(QtWidgets.QMessageBox.NoButton) self.thread = WorkerThread(target=target) self.thread.finished.connect(self.accept)
def __init__(self): super().__init__(parent=App.getActiveWindow()) self.appLabel.setText(Config.APP_NAME) self.appInfoLabel.setText("{} {}".format(T("version"), Config.VERSION)) self.copyrightInfoLabel.setText(Config.getCopyrightInfo()) self.homepageButton.clicked.connect(self.openHomepage) self.contactInfoLabel.setText("{} : {}\n{} : {}".format( T("discord"), Config.CONTACT.DISCORD, T("email"), Config.CONTACT.EMAIL)) self.donateInfoLabel.setText( T("#If you like the program, consider contributing to {appName}!", appName=Config.APP_NAME)) self.donateButton.clicked.connect(self.openDonate)
def info(infoTitle, infoText, buttonText=None, **kwargs): infoTitle = T(infoTitle, **kwargs) infoText = T(infoText, **kwargs) info = QtWidgets.QMessageBox(parent=App.getActiveWindow()) info.setWindowIcon(QtGui.QIcon(Config.LOGO_IMAGE)) info.setWindowTitle(infoTitle) info.setIcon(QtWidgets.QMessageBox.Information) info.setFont(Translator.getFont()) info.setText(infoText) info.setStandardButtons(QtWidgets.QMessageBox.Ok) if buttonText != None: info.button(QtWidgets.QMessageBox.Ok).setText(T(buttonText)) info.exec()
def __init__(self, data): super().__init__(parent=App.getActiveWindow()) self.setWindowFlag(QtCore.Qt.WindowMaximizeButtonHint) self.videoList = ResizableGrid(self.videoArea.layout()) self.videoWidgetWidth = Ui.VideoDownloadWidget(self, None, resizable=False).minimumSizeHint().width() self.allocatedWidth = self.scrollArea.verticalScrollBar().sizeHint().width() + self.scrollAreaContents.layout().contentsMargins().left() + self.scrollAreaContents.layout().contentsMargins().right() self.scrollArea.setMinimumWidth(self.videoWidgetWidth + self.allocatedWidth) self.scrollArea.showEvent = Utils.hook(self.scrollArea.showEvent, self.hookEventCalcColumn) self.scrollArea.resizeEvent = Utils.hook(self.scrollArea.resizeEvent, self.hookEventCalcColumn) self.scrollArea.verticalScrollBar().valueChanged.connect(self.searchMoreVideos) self.setDownloadEnabled(True) self.data = data self.setup() self.downloaderId = None self.downloader = None
def askSaveDirectory(directory, filters, initialFilter=None): mappedFilters = dict( (T("#{fileFormat} file (*.{fileFormat})", fileFormat=key), key) for key in filters) fileDialog = QtWidgets.QFileDialog() fileDialog.setWindowIcon(QtGui.QIcon(Config.LOGO_IMAGE)) result = fileDialog.getSaveFileName( App.getActiveWindow(), T("#{appName} - Save As", appName=Config.APP_NAME), directory, ";;".join(mappedFilters), initialFilter or filters[0]) if result[0] == "": return None else: for filter in filters: if result[0].endswith(filter): return result[0] return "{}.{}".format(result[0], mappedFilters[result[1]])
def __init__(self, page=0): super().__init__(parent=App.getActiveWindow()) self.ignoreKey(QtCore.Qt.Key_Return, QtCore.Qt.Key_Enter) self.autoClose.setChecked(DB.general.isAutoCloseEnabled()) self.streamFilename.setText(DB.templates.getStreamFilename()) self.videoFilename.setText(DB.templates.getVideoFilename()) self.clipFilename.setText(DB.templates.getClipFilename()) self.streamTemplateInfo.clicked.connect(self.showStreamTemplateInfo) self.videoTemplateInfo.clicked.connect(self.showVideoTemplateInfo) self.clipTemplateInfo.clicked.connect(self.showClipTemplateInfo) self.bookmarkList.addItems(DB.general.getBookmarks()) self.bookmarkList.itemSelectionChanged.connect(self.reloadButtons) self.newBookmark.returnPressed.connect(self.addBookmark) self.newBookmark.textChanged.connect(self.reloadButtons) self.addBookmarkButton.clicked.connect(self.addBookmark) self.insertBookmarkButton.clicked.connect(self.insertBookmark) self.removeBookmarkButton.clicked.connect(self.removeBookmark) self.language.addItems(Translator.getLanguageList()) self.language.setCurrentIndex(Translator.getLanguageKeyList().index(DB.localization.getLanguage())) self.language.currentIndexChanged.connect(self.setLanguage) self.timezone.addItems(DB.localization.getTimezoneList()) self.timezone.setCurrentIndex(DB.localization.getTimezoneIndex()) self.timezone.currentIndexChanged.connect(self.setTimezone) self.downloadEngineInfo.setHtml(Utils.getDocs("DownloadEngine", DB.localization.getLanguage())) self.downloadSpeed.valueChanged.connect(self.setDownloadSpeed) self.downloadSpeed.setRange(1, TaskConfig.MAX_THREAD_LIMIT) self.speedSpinBox.valueChanged.connect(self.setDownloadSpeed) self.speedSpinBox.setRange(1, TaskConfig.MAX_THREAD_LIMIT) self.setDownloadSpeed(DB.download.getDownloadSpeed()) self.recommendedSpeed.setText(TaskConfig.RECOMMENDED_THREAD_LIMIT) self.unmuteVideo.setChecked(DB.download.isUnmuteVideoEnabled()) self.updateTrack.setChecked(DB.download.isUpdateTrackEnabled()) if DownloadManager.isDownloaderRunning(): self.languageArea.setEnabled(False) self.timezoneArea.setEnabled(False) self.buttonBox.button(QtWidgets.QDialogButtonBox.Reset).setEnabled(False) else: self.restrictedLabel.hide() self.changesInfoLabel.hide() self.buttonBox.accepted.connect(self.saveSettings) self.buttonBox.button(QtWidgets.QDialogButtonBox.Reset).clicked.connect(self.resetSettings) self.tabWidget.setCurrentIndex(page) self.reloadButtons()
def __init__(self): super().__init__(parent=App.getActiveWindow()) self.selectLanguage.setText(" / ".join(Translator.getLanguageList())) self.selectLanguage.clicked.connect( lambda: App.coreWindow().openSettings(page=1)) self.textBrowser.setHtml( Utils.getDocs("TermsOfService", DB.localization.getLanguage(), appName=Config.APP_NAME, copyright=Config.getCopyrightInfo())) if DB.termsOfService.getAgreedTime() == None: self.setWindowFlag(QtCore.Qt.WindowCloseButtonHint, False) self.agreed.hide() self.agree.stateChanged.connect(self.checkAgree) self.buttonBox.button( QtWidgets.QDialogButtonBox.Ok).setEnabled(False) self.buttonBox.accepted.connect(DB.termsOfService.agree) self.buttonBox.rejected.connect(App.exit) else: self.agree.hide() self.agreed.setText( T("#Agreed at {time}", time=str(DB.termsOfService.getAgreedTime()).split(".")[0])) self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Ok)
def __init__(self, mode): super().__init__(parent=App.getActiveWindow()) self.mode = mode self.setup()
def __init__(self): super().__init__(parent=App.getActiveWindow()) self.setWindowFlags(self.windowFlags() | QtCore.Qt.WindowCloseButtonHint) self.accountUpdateThread = Utils.WorkerThread(target=DB.account.updateAccount) self.accountUpdateThread.resultSignal.connect(self.accountUpdateResult) self.accountUpdateThread.start()