def __init__(self, config, weboob, app, parent=None): super(MainWindow, self).__init__(parent) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.config = config self.weboob = weboob self.minivideos = [] self.app = app self.ui.sortbyEdit.setCurrentIndex( int(self.config.get('settings', 'sortby'))) self.ui.nsfwCheckBox.setChecked( int(self.config.get('settings', 'nsfw'))) self.ui.sfwCheckBox.setChecked(int(self.config.get('settings', 'sfw'))) self.ui.searchEdit.returnPressed.connect(self.search) self.ui.urlEdit.returnPressed.connect(self.openURL) self.ui.nsfwCheckBox.stateChanged.connect(self.nsfwChanged) self.ui.sfwCheckBox.stateChanged.connect(self.sfwChanged) self.ui.actionBackends.triggered.connect(self.backendsConfig) self.loadBackendsList() if self.ui.backendEdit.count() == 0: self.backendsConfig()
def __init__(self, config, weboob, app, parent=None): QtMainWindow.__init__(self, parent) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.config = config self.weboob = weboob self.minivideos = [] self.app = app self.ui.sortbyEdit.setCurrentIndex(int(self.config.get('settings', 'sortby'))) self.ui.nsfwCheckBox.setChecked(int(self.config.get('settings', 'nsfw'))) self.ui.sfwCheckBox.setChecked(int(self.config.get('settings', 'sfw'))) self.connect(self.ui.searchEdit, SIGNAL("returnPressed()"), self.search) self.connect(self.ui.urlEdit, SIGNAL("returnPressed()"), self.openURL) self.connect(self.ui.nsfwCheckBox, SIGNAL("stateChanged(int)"), self.nsfwChanged) self.connect(self.ui.sfwCheckBox, SIGNAL("stateChanged(int)"), self.sfwChanged) self.connect(self.ui.actionBackends, SIGNAL("triggered()"), self.backendsConfig) self.loadBackendsList() if self.ui.backendEdit.count() == 0: self.backendsConfig()
class MainWindow(QtMainWindow): def __init__(self, config, weboob, app, parent=None): super(MainWindow, self).__init__(parent) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.config = config self.weboob = weboob self.minivideos = [] self.app = app self.ui.sortbyEdit.setCurrentIndex( int(self.config.get('settings', 'sortby'))) self.ui.nsfwCheckBox.setChecked( int(self.config.get('settings', 'nsfw'))) self.ui.sfwCheckBox.setChecked(int(self.config.get('settings', 'sfw'))) self.ui.searchEdit.returnPressed.connect(self.search) self.ui.urlEdit.returnPressed.connect(self.openURL) self.ui.nsfwCheckBox.stateChanged.connect(self.nsfwChanged) self.ui.sfwCheckBox.stateChanged.connect(self.sfwChanged) self.ui.actionBackends.triggered.connect(self.backendsConfig) self.loadBackendsList() if self.ui.backendEdit.count() == 0: self.backendsConfig() @Slot() def backendsConfig(self): bckndcfg = BackendCfg(self.weboob, (CapVideo, ), self) if bckndcfg.run(): self.loadBackendsList() def loadBackendsList(self): model = BackendListModel(self.weboob) model.addBackends() self.ui.backendEdit.setModel(model) current_backend = self.config.get('settings', 'backend') idx = self.ui.backendEdit.findData(current_backend) if idx >= 0: self.ui.backendEdit.setCurrentIndex(idx) if self.ui.backendEdit.count() == 0: self.ui.searchEdit.setEnabled(False) self.ui.urlEdit.setEnabled(False) else: self.ui.searchEdit.setEnabled(True) self.ui.urlEdit.setEnabled(True) @Slot(int) def nsfwChanged(self, state): self.config.set('settings', 'nsfw', int(self.ui.nsfwCheckBox.isChecked())) self.updateVideosDisplay() @Slot(int) def sfwChanged(self, state): self.config.set('settings', 'sfw', int(self.ui.sfwCheckBox.isChecked())) self.updateVideosDisplay() def updateVideosDisplay(self): for minivideo in self.minivideos: if (minivideo.video.nsfw and self.ui.nsfwCheckBox.isChecked() or not minivideo.video.nsfw and self.ui.sfwCheckBox.isChecked()): minivideo.show() else: minivideo.hide() @Slot() def search(self): pattern = self.ui.searchEdit.text() if not pattern: return for minivideo in self.minivideos: self.ui.scrollAreaContent.layout().removeWidget(minivideo) minivideo.hide() minivideo.deleteLater() self.minivideos = [] self.ui.searchEdit.setEnabled(False) backend_name = self.ui.backendEdit.itemData( self.ui.backendEdit.currentIndex()) def finished(): self.ui.searchEdit.setEnabled(True) self.process = None self.process = QtDo(self.weboob, self.addVideo, fb=finished) self.process.do(self.app._do_complete, 20, (), 'search_videos', pattern, self.ui.sortbyEdit.currentIndex(), nsfw=True, backends=backend_name) def addVideo(self, video): minivideo = MiniVideo(self.weboob, self.weboob[video.backend], video) self.ui.scrollAreaContent.layout().addWidget(minivideo) self.minivideos.append(minivideo) if (video.nsfw and not self.ui.nsfwCheckBox.isChecked() or not video.nsfw and not self.ui.sfwCheckBox.isChecked()): minivideo.hide() @Slot() def openURL(self): url = self.ui.urlEdit.text() if not url: return for backend in self.weboob.iter_backends(): video = backend.get_video(url) if video: video_widget = Video(video, self) video_widget.show() self.ui.urlEdit.clear() def closeEvent(self, ev): self.config.set( 'settings', 'backend', self.ui.backendEdit.itemData(self.ui.backendEdit.currentIndex())) self.config.set('settings', 'sortby', self.ui.sortbyEdit.currentIndex()) self.config.save() ev.accept()
class MainWindow(QtMainWindow): def __init__(self, config, weboob, app, parent=None): QtMainWindow.__init__(self, parent) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.config = config self.weboob = weboob self.minivideos = [] self.app = app self.ui.sortbyEdit.setCurrentIndex(int(self.config.get('settings', 'sortby'))) self.ui.nsfwCheckBox.setChecked(int(self.config.get('settings', 'nsfw'))) self.ui.sfwCheckBox.setChecked(int(self.config.get('settings', 'sfw'))) self.connect(self.ui.searchEdit, SIGNAL("returnPressed()"), self.search) self.connect(self.ui.urlEdit, SIGNAL("returnPressed()"), self.openURL) self.connect(self.ui.nsfwCheckBox, SIGNAL("stateChanged(int)"), self.nsfwChanged) self.connect(self.ui.sfwCheckBox, SIGNAL("stateChanged(int)"), self.sfwChanged) self.connect(self.ui.actionBackends, SIGNAL("triggered()"), self.backendsConfig) self.loadBackendsList() if self.ui.backendEdit.count() == 0: self.backendsConfig() def backendsConfig(self): bckndcfg = BackendCfg(self.weboob, (CapVideo,), self) if bckndcfg.run(): self.loadBackendsList() def loadBackendsList(self): self.ui.backendEdit.clear() for i, backend in enumerate(self.weboob.iter_backends()): if i == 0: self.ui.backendEdit.addItem('All backends', '') self.ui.backendEdit.addItem(backend.name, backend.name) if backend.name == self.config.get('settings', 'backend'): self.ui.backendEdit.setCurrentIndex(i+1) if self.ui.backendEdit.count() == 0: self.ui.searchEdit.setEnabled(False) self.ui.urlEdit.setEnabled(False) else: self.ui.searchEdit.setEnabled(True) self.ui.urlEdit.setEnabled(True) def nsfwChanged(self, state): self.config.set('settings', 'nsfw', int(self.ui.nsfwCheckBox.isChecked())) self.updateVideosDisplay() def sfwChanged(self, state): self.config.set('settings', 'sfw', int(self.ui.sfwCheckBox.isChecked())) self.updateVideosDisplay() def updateVideosDisplay(self): for minivideo in self.minivideos: if (minivideo.video.nsfw and self.ui.nsfwCheckBox.isChecked() or not minivideo.video.nsfw and self.ui.sfwCheckBox.isChecked()): minivideo.show() else: minivideo.hide() def search(self): pattern = unicode(self.ui.searchEdit.text()) if not pattern: return for minivideo in self.minivideos: self.ui.scrollAreaContent.layout().removeWidget(minivideo) minivideo.hide() minivideo.deleteLater() self.minivideos = [] self.ui.searchEdit.setEnabled(False) backend_name = str(self.ui.backendEdit.itemData(self.ui.backendEdit.currentIndex()).toString()) def finished(): self.ui.searchEdit.setEnabled(True) self.process = None self.process = QtDo(self.weboob, self.addVideo, fb=finished) self.process.do(self.app._do_complete, 20, (), 'search_videos', pattern, self.ui.sortbyEdit.currentIndex(), nsfw=True, backends=backend_name) def addVideo(self, video): minivideo = MiniVideo(self.weboob, self.weboob[video.backend], video) self.ui.scrollAreaContent.layout().addWidget(minivideo) self.minivideos.append(minivideo) if (video.nsfw and not self.ui.nsfwCheckBox.isChecked() or not video.nsfw and not self.ui.sfwCheckBox.isChecked()): minivideo.hide() def openURL(self): url = unicode(self.ui.urlEdit.text()) if not url: return for backend in self.weboob.iter_backends(): video = backend.get_video(url) if video: video_widget = Video(video, self) video_widget.show() self.ui.urlEdit.clear() def closeEvent(self, ev): self.config.set('settings', 'backend', str(self.ui.backendEdit.itemData(self.ui.backendEdit.currentIndex()).toString())) self.config.set('settings', 'sortby', self.ui.sortbyEdit.currentIndex()) self.config.save() ev.accept()
class MainWindow(QtMainWindow): def __init__(self, config, weboob, app, parent=None): QtMainWindow.__init__(self, parent) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.config = config self.weboob = weboob self.minivideos = [] self.app = app self.ui.sortbyEdit.setCurrentIndex( int(self.config.get('settings', 'sortby'))) self.ui.nsfwCheckBox.setChecked( int(self.config.get('settings', 'nsfw'))) self.ui.sfwCheckBox.setChecked(int(self.config.get('settings', 'sfw'))) self.connect(self.ui.searchEdit, SIGNAL("returnPressed()"), self.search) self.connect(self.ui.urlEdit, SIGNAL("returnPressed()"), self.openURL) self.connect(self.ui.nsfwCheckBox, SIGNAL("stateChanged(int)"), self.nsfwChanged) self.connect(self.ui.sfwCheckBox, SIGNAL("stateChanged(int)"), self.sfwChanged) self.connect(self.ui.actionBackends, SIGNAL("triggered()"), self.backendsConfig) self.loadBackendsList() if self.ui.backendEdit.count() == 0: self.backendsConfig() def backendsConfig(self): bckndcfg = BackendCfg(self.weboob, (ICapVideo, ), self) if bckndcfg.run(): self.loadBackendsList() def loadBackendsList(self): self.ui.backendEdit.clear() for i, backend in enumerate(self.weboob.iter_backends()): if i == 0: self.ui.backendEdit.addItem('All backends', '') self.ui.backendEdit.addItem(backend.name, backend.name) if backend.name == self.config.get('settings', 'backend'): self.ui.backendEdit.setCurrentIndex(i + 1) if self.ui.backendEdit.count() == 0: self.ui.searchEdit.setEnabled(False) self.ui.urlEdit.setEnabled(False) else: self.ui.searchEdit.setEnabled(True) self.ui.urlEdit.setEnabled(True) def nsfwChanged(self, state): self.config.set('settings', 'nsfw', int(self.ui.nsfwCheckBox.isChecked())) self.updateVideosDisplay() def sfwChanged(self, state): self.config.set('settings', 'sfw', int(self.ui.sfwCheckBox.isChecked())) self.updateVideosDisplay() def updateVideosDisplay(self): for minivideo in self.minivideos: if (minivideo.video.nsfw and self.ui.nsfwCheckBox.isChecked() or not minivideo.video.nsfw and self.ui.sfwCheckBox.isChecked()): minivideo.show() else: minivideo.hide() def search(self): pattern = unicode(self.ui.searchEdit.text()) if not pattern: return for minivideo in self.minivideos: self.ui.scrollAreaContent.layout().removeWidget(minivideo) minivideo.hide() minivideo.deleteLater() self.minivideos = [] self.ui.searchEdit.setEnabled(False) backend_name = str( self.ui.backendEdit.itemData( self.ui.backendEdit.currentIndex()).toString()) self.process = QtDo(self.weboob, self.addVideo) self.process.do(self.app._do_complete, 20, (), 'search_videos', pattern, self.ui.sortbyEdit.currentIndex(), nsfw=True, backends=backend_name) def addVideo(self, backend, video): if not backend: self.ui.searchEdit.setEnabled(True) self.process = None return minivideo = MiniVideo(self.weboob, backend, video) self.ui.scrollAreaContent.layout().addWidget(minivideo) self.minivideos.append(minivideo) if (video.nsfw and not self.ui.nsfwCheckBox.isChecked() or not video.nsfw and not self.ui.sfwCheckBox.isChecked()): minivideo.hide() def openURL(self): url = unicode(self.ui.urlEdit.text()) if not url: return for backend in self.weboob.iter_backends(): video = backend.get_video(url) if video: video_widget = Video(video, self) video_widget.show() self.ui.urlEdit.clear() def closeEvent(self, ev): self.config.set( 'settings', 'backend', str( self.ui.backendEdit.itemData( self.ui.backendEdit.currentIndex()).toString())) self.config.set('settings', 'sortby', self.ui.sortbyEdit.currentIndex()) self.config.save() ev.accept()