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, 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 resetSettings(self): if Utils.ask("reset-settings", "#This will reset all settings.\nProceed?"): DB.reset() App.restart()
def setTimezone(self, index): self.saveSettings() DB.localization.setTimezoneNo(index) Utils.info("restart", "#Restart due to time zone change.") App.restart()
def setLanguage(self, index): self.saveSettings() DB.localization.setLanguage(Translator.getLanguageCode(index)) Utils.info("restart", "#Restart due to language change.") App.restart()
def __init__(self, mode): super().__init__(parent=App.getActiveWindow()) self.mode = mode self.setup()
def shutdown(self): self.saveWindow() App.exit()
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()