First implementation of a progress bar

This commit is contained in:
Florian Bruhin 2014-01-17 12:24:38 +01:00
parent 3a76d52ffb
commit c0320a911b
3 changed files with 17 additions and 2 deletions

View File

@ -1,9 +1,10 @@
from PyQt5.QtCore import QObject, pyqtSlot, QUrl
from PyQt5.QtCore import QObject, pyqtSlot, QUrl, pyqtSignal
from PyQt5.QtWebKitWidgets import QWebView
from qutebrowser.widgets.tabbar import TabWidget
class TabbedBrowser(TabWidget):
tabs = []
cur_progress = pyqtSignal(int)
def __init__(self, parent):
super().__init__(parent)
@ -52,11 +53,19 @@ class TabbedBrowser(TabWidget):
class BrowserTab(QWebView):
parent = None
def __init__(self, parent):
super().__init__(parent)
self.parent = parent
self.loadProgress.connect(self.progress_changed)
self.show()
def openurl(self, url):
if not url.startswith('http://'):
url = 'http://' + url
super().load(QUrl(url))
def progress_changed(self, prog):
if self.parent.currentWidget() == self:
self.parent.cur_progress.emit(prog)

View File

@ -21,9 +21,12 @@ class MainWindow(QMainWindow):
self.vbox.addWidget(self.tabs)
self.status = StatusBar(self.cwidget)
self.status.lbl.setText("Hello World")
self.vbox.addWidget(self.status)
# FIXME: cur_progress also should be set on tab switch
self.tabs.cur_progress.connect(self.status.lbl.set_progress)
#self.retranslateUi(MainWindow)
#self.tabWidget.setCurrentIndex(0)
#QtCore.QMetaObject.connectSlotsByName(MainWindow)

View File

@ -36,6 +36,9 @@ class StatusText(QLabel):
self.setObjectName(self.__class__.__name__)
self.setStyleSheet("padding-right: 1px")
def set_progress(self, prog):
self.setText('{}%'.format(prog))
class StatusCommand(QLineEdit):
got_cmd = pyqtSignal(str)