mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Allow changing title of progress dialog
This commit is contained in:
parent
f7a7dd649d
commit
fab081b392
@ -29,9 +29,9 @@ class ProgressDialog(QDialog):
|
||||
h.addLayout(l)
|
||||
self.setWindowIcon(icon)
|
||||
|
||||
self.title = t = QLabel(title)
|
||||
self.title_label = t = QLabel(title)
|
||||
self.setWindowTitle(title)
|
||||
t.setWordWrap(True), t.setStyleSheet('QLabel { font-weight: bold }'), t.setAlignment(Qt.AlignCenter)
|
||||
t.setStyleSheet('QLabel { font-weight: bold }'), t.setAlignment(Qt.AlignCenter), t.setTextFormat(Qt.PlainText)
|
||||
l.addWidget(t)
|
||||
|
||||
self.bar = b = QProgressBar(self)
|
||||
@ -40,7 +40,7 @@ class ProgressDialog(QDialog):
|
||||
|
||||
self.message = m = QLabel(self)
|
||||
fm = QFontMetrics(self.font())
|
||||
m.setAlignment(Qt.AlignCenter), m.setMinimumWidth(fm.averageCharWidth() * 80)
|
||||
m.setAlignment(Qt.AlignCenter), m.setMinimumWidth(fm.averageCharWidth() * 80), m.setTextFormat(Qt.PlainText)
|
||||
l.addWidget(m)
|
||||
self.msg = msg
|
||||
|
||||
@ -92,19 +92,27 @@ class ProgressDialog(QDialog):
|
||||
self.bar.setMinimum(val)
|
||||
return property(fget=fget, fset=fset)
|
||||
|
||||
@dynamic_property
|
||||
def title(self):
|
||||
def fget(self):
|
||||
return self.title_label.text()
|
||||
def fset(self, val):
|
||||
self.title_label.setText(unicode(val or ''))
|
||||
return property(fget=fget, fset=fset)
|
||||
|
||||
@dynamic_property
|
||||
def msg(self):
|
||||
def fget(self):
|
||||
return self.message.text()
|
||||
def fset(self, val):
|
||||
val = unicode(val or '')
|
||||
self.message.setText(elided_text(val, self.font(), self.message.minimumWidth()))
|
||||
self.message.setText(elided_text(val, self.font(), self.message.minimumWidth()-10))
|
||||
return property(fget=fget, fset=fset)
|
||||
|
||||
def _canceled(self, *args):
|
||||
self.canceled = True
|
||||
self.button_box.setDisabled(True)
|
||||
self.title.setText(_('Aborting...'))
|
||||
self.title = _('Aborting...')
|
||||
self.canceled_signal.emit()
|
||||
|
||||
def reject(self):
|
||||
@ -154,7 +162,9 @@ class BlockingBusy(QDialog):
|
||||
pass # Cannot cancel this dialog
|
||||
|
||||
if __name__ == '__main__':
|
||||
from PyQt5.Qt import QTimer
|
||||
app = QApplication([])
|
||||
d = ProgressDialog('A title', 'A message ' * 100, icon='lt.png')
|
||||
d = ProgressDialog('A title', 'A message', icon='lt.png')
|
||||
d.show(), d.canceled_signal.connect(app.quit)
|
||||
QTimer.singleShot(1000, lambda : (setattr(d, 'value', 10), setattr(d, 'msg', ('A message ' * 100))))
|
||||
app.exec_()
|
||||
|
Loading…
x
Reference in New Issue
Block a user