eric6/WebBrowser/WebBrowserTabWidget.py

changeset 7578
13b2c2167c93
parent 7533
88261c96484b
child 7759
51aa6c6b66f7
equal deleted inserted replaced
7577:6eaa43d3786e 7578:13b2c2167c93
426 lambda title: self.__titleChanged(title, browser)) 426 lambda title: self.__titleChanged(title, browser))
427 browser.highlighted.connect(self.showMessage) 427 browser.highlighted.connect(self.showMessage)
428 browser.backwardAvailable.connect( 428 browser.backwardAvailable.connect(
429 self.__mainWindow.setBackwardAvailable) 429 self.__mainWindow.setBackwardAvailable)
430 browser.forwardAvailable.connect(self.__mainWindow.setForwardAvailable) 430 browser.forwardAvailable.connect(self.__mainWindow.setForwardAvailable)
431 browser.loadStarted.connect( 431 browser.loadProgress.connect(
432 lambda: self.__loadStarted(browser)) 432 lambda progress: self.__loadProgress(progress, browser))
433 browser.loadFinished.connect( 433 browser.loadFinished.connect(
434 lambda ok: self.__loadFinished(ok, browser)) 434 lambda ok: self.__loadFinished(ok, browser))
435 browser.faviconChanged.connect( 435 browser.faviconChanged.connect(
436 lambda: self.__iconChanged(browser)) 436 lambda: self.__iconChanged(browser))
437 browser.search.connect(self.newBrowser) 437 browser.search.connect(self.newBrowser)
872 browser.preferencesChanged() 872 browser.preferencesChanged()
873 873
874 for urlbar in self.__stackedUrlBar.urlBars(): 874 for urlbar in self.__stackedUrlBar.urlBars():
875 urlbar.preferencesChanged() 875 urlbar.preferencesChanged()
876 876
877 def __loadStarted(self, browser):
878 """
879 Private method to handle the loadStarted signal.
880
881 @param browser reference to the web browser
882 @type WebBrowserView
883 """
884 index = self.indexOf(browser)
885 anim = self.animationLabel(index, "loadingAnimation", 40)
886 if not anim:
887 self.setTabIcon(index, UI.PixmapCache.getIcon("loading"))
888 else:
889 self.setTabIcon(index, QIcon())
890 self.setTabText(index, self.tr("Loading..."))
891 self.setTabToolTip(index, self.tr("Loading..."))
892 self.showMessage.emit(self.tr("Loading..."))
893
894 self.__mainWindow.setLoadingActions(True)
895
896 def __loadFinished(self, ok, browser): 877 def __loadFinished(self, ok, browser):
897 """ 878 """
898 Private method to handle the loadFinished signal. 879 Private method to handle the loadFinished signal.
899 880
900 @param ok flag indicating the result 881 @param ok flag indicating the result
901 @type bool 882 @type bool
902 @param browser reference to the web browser 883 @param browser reference to the web browser
903 @type WebBrowserView 884 @type WebBrowserView
904 """ 885 """
905 import WebBrowser.WebBrowserWindow
906 index = self.indexOf(browser)
907 self.resetAnimation(index)
908 self.setTabIcon(
909 index, WebBrowser.WebBrowserWindow.WebBrowserWindow.icon(
910 browser.url()))
911 if ok: 886 if ok:
912 self.showMessage.emit(self.tr("Finished loading")) 887 self.showMessage.emit(self.tr("Finished loading"))
913 else: 888 else:
914 self.showMessage.emit(self.tr("Failed to load")) 889 self.showMessage.emit(self.tr("Failed to load"))
915 890
916 self.__mainWindow.setLoadingActions(False) 891 def __loadProgress(self, progress, browser):
892 """
893 Private method to handle the loadProgress signal.
894
895 Note: This works around wegengine not sending a loadFinished
896 signal for navigation on the same page.
897
898 @param progress load progress in percent
899 @type int
900 @param browser reference to the web browser
901 @type WebBrowserView
902 """
903 index = self.indexOf(browser)
904 if progress == 0:
905 # page loading has started
906 anim = self.animationLabel(index, "loadingAnimation", 40)
907 if not anim:
908 self.setTabIcon(index, UI.PixmapCache.getIcon("loading"))
909 else:
910 self.setTabIcon(index, QIcon())
911 self.setTabText(index, self.tr("Loading..."))
912 self.setTabToolTip(index, self.tr("Loading..."))
913 self.showMessage.emit(self.tr("Loading..."))
914
915 self.__mainWindow.setLoadingActions(True)
916 elif progress == 100:
917 import WebBrowser.WebBrowserWindow
918 self.resetAnimation(index)
919 self.setTabIcon(
920 index, WebBrowser.WebBrowserWindow.WebBrowserWindow.icon(
921 browser.url()))
922 self.showMessage.emit(self.tr("Finished loading"))
923
924 self.__mainWindow.setLoadingActions(False)
917 925
918 def __iconChanged(self, browser): 926 def __iconChanged(self, browser):
919 """ 927 """
920 Private slot to handle a change of the web site icon. 928 Private slot to handle a change of the web site icon.
921 929

eric ide

mercurial