X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Ftopicwidget.cpp;h=e18625cd0cc871dfe5c1672e5ed10f181428df4d;hp=95d6284bd4619690188ff3de275ea46cb1eab45a;hb=fcacaaf16551524c7ebb6114254d005274cc3d63;hpb=695758015a80eb8c158a9ac4c0f1c0b547e70df3 diff --git a/src/qtui/topicwidget.cpp b/src/qtui/topicwidget.cpp index 95d6284b..e18625cd 100644 --- a/src/qtui/topicwidget.cpp +++ b/src/qtui/topicwidget.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2015 by the Quassel Project * + * Copyright (C) 2005-2018 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -20,9 +20,8 @@ #include "topicwidget.h" -#include - #include "client.h" +#include "icon.h" #include "networkmodel.h" #include "uisettings.h" #include "graphicalui.h" @@ -32,12 +31,12 @@ TopicWidget::TopicWidget(QWidget *parent) : AbstractItemView(parent) { ui.setupUi(this); - ui.topicEditButton->setIcon(QIcon::fromTheme("edit-rename")); + ui.topicEditButton->setIcon(icon::get("edit-rename")); ui.topicLineEdit->setLineWrapEnabled(true); ui.topicLineEdit->installEventFilter(this); - connect(ui.topicLabel, SIGNAL(clickableActivated(Clickable)), SLOT(clickableActivated(Clickable))); - connect(ui.topicLineEdit, SIGNAL(noTextEntered()), SLOT(on_topicLineEdit_textEntered())); + connect(ui.topicLabel, &StyledLabel::clickableActivated, this, &TopicWidget::clickableActivated); + connect(ui.topicLineEdit, &MultiLineEdit::noTextEntered, this, &TopicWidget::on_topicLineEdit_textEntered); UiSettings s("TopicWidget"); s.notify("DynamicResize", this, SLOT(updateResizeMode())); @@ -68,7 +67,7 @@ void TopicWidget::dataChanged(const QModelIndex &topLeft, const QModelIndex &bot QModelIndex currentTopicIndex = selectionModel()->currentIndex().sibling(selectionModel()->currentIndex().row(), 1); if (changedArea.contains(currentTopicIndex)) setTopic(selectionModel()->currentIndex()); -}; +} void TopicWidget::setUseCustomFont(const QVariant &v) { @@ -115,19 +114,11 @@ void TopicWidget::setTopic(const QModelIndex &index) switch (Client::networkModel()->bufferType(id)) { case BufferInfo::StatusBuffer: if (network) { -#if QT_VERSION < 0x050000 - newtopic = QString("%1 (%2) | %3 | %4") - .arg(Qt::escape(network->networkName())) - .arg(Qt::escape(network->currentServer())) - .arg(tr("Users: %1").arg(network->ircUsers().count())) - .arg(tr("Lag: %1 msecs").arg(network->latency())); -#else newtopic = QString("%1 (%2) | %3 | %4") .arg(network->networkName().toHtmlEscaped()) .arg(network->currentServer().toHtmlEscaped()) .arg(tr("Users: %1").arg(network->ircUsers().count())) .arg(tr("Lag: %1 msecs").arg(network->latency())); -#endif } else { newtopic = index0.data(Qt::DisplayRole).toString(); @@ -202,7 +193,7 @@ void TopicWidget::updateResizeMode() void TopicWidget::clickableActivated(const Clickable &click) { NetworkId networkId = selectionModel()->currentIndex().data(NetworkModel::NetworkIdRole).value(); - UiStyle::StyledString sstr = GraphicalUi::uiStyle()->styleString(GraphicalUi::uiStyle()->mircToInternal(_topic), UiStyle::PlainMsg); + UiStyle::StyledString sstr = GraphicalUi::uiStyle()->styleString(GraphicalUi::uiStyle()->mircToInternal(_topic), UiStyle::FormatType::PlainMsg); click.activate(networkId, sstr.plainText); } @@ -264,7 +255,7 @@ bool TopicWidget::eventFilter(QObject *obj, QEvent *event) if (event->type() != QEvent::KeyRelease) return QObject::eventFilter(obj, event); - QKeyEvent *keyEvent = static_cast(event); + auto *keyEvent = static_cast(event); if (keyEvent->key() == Qt::Key_Escape) { switchPlain(); @@ -281,6 +272,7 @@ QString TopicWidget::sanitizeTopic(const QString& topic) // some unicode characters with a new line, which then triggers // a stack overflow later QString result(topic); + result.replace(QChar::CarriageReturn, " "); result.replace(QChar::ParagraphSeparator, " "); result.replace(QChar::LineSeparator, " ");