def loadUrl(self, url): c = Util.getTicker() if self.windowType == 'tab': self.webview = WebView(self) self.webview.load(QUrl(url)) #tab tab = QWidget() tab.index = c self.tabWidget.addTab( tab, Util.getTabTitle(Util.lang('loading', 'Loading...'))) #self.tabWidget.setCurrentWidget(tab) layout = QHBoxLayout(tab) layout.setContentsMargins(0, 0, 0, 0) layout.addWidget(self.webview) else: self.webview = WebView(self) self.webview.load(QUrl(url)) self.layout.addWidget(self.webview) self.index = c self.spinner = Loading(self) self.spinner.start()
def on_loadFinished(self, finished): #print('sub finished=>%d,%r' % (self.mainWindow.index, finished)) self.mainWindow.spinner.stop() if not finished: return title = Util.getWindowTitle(self.mainWindow.webview.title()) if self.mainWindow.parentWidget(): self.mainWindow.parentWidget().setWindowTitle(title) else: self.mainWindow.setWindowTitle(title) if self.windowType == 'tab': self.mainWindow.tabWidget.setTabText( Util.getTabIndex(self.mainWindow.tabWidget, self.mainWindow.index), Util.getTabTitle(self.mainWindow.webview.title()))
def createWindow(self, QWebEnginePage_WebWindowType): if self.windowType == 'window': #print('createWindow=>%d' % QWebEnginePage_WebWindowType) mainWnd = MainWindow(isMain=False) mainWnd.setWindowTitle( Util.getWindowTitle(Util.lang('loading', 'Loading...'))) mainWnd.setWindowIcon(Icon.getLogoIcon()) mainWnd.resizeCenter(Util.getConfigValue('width'), Util.getConfigValue('height')) #webview webview = WebView(mainWnd) webview.page().profile().setHttpUserAgent(Util.getUserAgent(True)) mainWnd.setWidget(webview) mainWnd.webview = webview mainWnd.show() #loading mainWnd.spinner = Loading(mainWnd) mainWnd.spinner.start() mainWnd.index = Util.getTicker() return webview elif self.windowType == 'tab': #tab tab = QWidget() self.mainWindow.tabWidget.addTab( tab, Util.getTabTitle(Util.lang('loading', 'Loading...'))) self.mainWindow.tabWidget.setCurrentWidget(tab) layout = QHBoxLayout(tab) layout.setContentsMargins(0, 0, 0, 0) #webview mainWnd = tab mainWnd.tabWidget = self.mainWindow.tabWidget #webview new_webview = WebView(mainWnd) new_webview.page().profile().setHttpUserAgent( Util.getUserAgent(True)) layout.addWidget(new_webview) mainWnd.webview = new_webview mainWnd.show() mainWnd.spinner = self.mainWindow.spinner mainWnd.spinner.start() if mainWnd.tabWidget.count() > 1: mainWnd.tabWidget.tabBar().show() mainWnd.index = Util.getTicker() return new_webview else: MessageBox.alert( Util.lang('invalid_window_type', 'Opening a new window is not supported.'))