disable signals while updating bold/italic/underline buttons

This commit is contained in:
Damien Elmes 2010-01-12 01:54:19 +09:00
parent 24b9a9d1a8
commit d4d713a60a

View file

@ -598,17 +598,23 @@ class FactEditor(object):
def formatChanged(self, fmt): def formatChanged(self, fmt):
w = self.focusedEdit() w = self.focusedEdit()
if not w or w.textCursor().hasSelection(): if not w:
return return
else: else:
l = self.bold, self.italic, self.underline
for b in l:
b.blockSignals(True)
self.bold.setChecked(w.fontWeight() == QFont.Bold) self.bold.setChecked(w.fontWeight() == QFont.Bold)
self.italic.setChecked(w.fontItalic()) self.italic.setChecked(w.fontItalic())
self.underline.setChecked(w.fontUnderline()) self.underline.setChecked(w.fontUnderline())
for b in l:
b.blockSignals(False)
def resetFormatButtons(self): def resetFormatButtons(self):
self.bold.setChecked(False) for b in self.bold, self.italic, self.underline:
self.italic.setChecked(False) b.blockSignals(True)
self.underline.setChecked(False) b.setChecked(False)
b.blockSignals(False)
def enableButtons(self, val=True): def enableButtons(self, val=True):
self.bold.setEnabled(val) self.bold.setEnabled(val)