X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Ftopicwidget.cpp;h=e18625cd0cc871dfe5c1672e5ed10f181428df4d;hp=2df4fac1eee6cd95387179b308bd3e91cedf1009;hb=fcacaaf16551524c7ebb6114254d005274cc3d63;hpb=9d54503555534a2c554f09a33df6afa33d6308ec diff --git a/src/qtui/topicwidget.cpp b/src/qtui/topicwidget.cpp index 2df4fac1..e18625cd 100644 --- a/src/qtui/topicwidget.cpp +++ b/src/qtui/topicwidget.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 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 * @@ -21,7 +21,7 @@ #include "topicwidget.h" #include "client.h" -#include "iconloader.h" +#include "icon.h" #include "networkmodel.h" #include "uisettings.h" #include "graphicalui.h" @@ -31,12 +31,12 @@ TopicWidget::TopicWidget(QWidget *parent) : AbstractItemView(parent) { ui.setupUi(this); - ui.topicEditButton->setIcon(SmallIcon("edit-rename")); - ui.topicLineEdit->setWordWrapEnabled(true); + 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())); @@ -67,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,8 +115,8 @@ void TopicWidget::setTopic(const QModelIndex &index) case BufferInfo::StatusBuffer: if (network) { newtopic = QString("%1 (%2) | %3 | %4") - .arg(Qt::escape(network->networkName())) - .arg(Qt::escape(network->currentServer())) + .arg(network->networkName().toHtmlEscaped()) + .arg(network->currentServer().toHtmlEscaped()) .arg(tr("Users: %1").arg(network->ircUsers().count())) .arg(tr("Lag: %1 msecs").arg(network->latency())); } @@ -193,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); } @@ -255,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(); @@ -272,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, " ");