X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Ftopicbutton.cpp;h=a31c69de3e8139a5ef9db953959ae5b04d989136;hp=a83779eac1f25dbbed957c3e14d39a0e266b69e5;hb=1b2d3ea62867220d7bffc3b23dda1dc14d429007;hpb=08cf52eafbd690bbaa3c86e57cb02e7e82dc3159 diff --git a/src/qtui/topicbutton.cpp b/src/qtui/topicbutton.cpp index a83779ea..a31c69de 100644 --- a/src/qtui/topicbutton.cpp +++ b/src/qtui/topicbutton.cpp @@ -35,6 +35,7 @@ TopicButton::TopicButton(QWidget *parent) : QAbstractButton(parent) { + setFixedHeight(QFontMetrics(qApp->font()).height()); } void TopicButton::paintEvent(QPaintEvent *event) { @@ -59,6 +60,7 @@ void TopicButton::paintEvent(QPaintEvent *event) { void TopicButton::setAndStyleText(const QString &text) { if(QAbstractButton::text() == text) return; + setText(text); // this triggers a repaint event styledText = QtUi::style()->styleString(Message::mircToInternal(text)); @@ -66,5 +68,10 @@ void TopicButton::setAndStyleText(const QString &text) { foreach(QTextLayout::FormatRange fr, styledText.formats) { height = qMax(height, QFontMetrics(fr.format.font()).height()); } + + // ensure the button is editable (height != 1) if there is no text to show + if(text.isEmpty()) + height = QFontMetrics(qApp->font()).height(); + setFixedHeight(height); }