X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Finputwidget.cpp;h=7d3b3e0a1d68c712db489ff5bc903b372cd06863;hp=c246f2e7e18191569905ea4a9ccaba9b1c724a33;hb=921e54680da16fcf2adb7a90506875aceb6633a4;hpb=4a5065255e652dd0c301bac0db41b7afb777ef49 diff --git a/src/qtui/inputwidget.cpp b/src/qtui/inputwidget.cpp index c246f2e7..7d3b3e0a 100644 --- a/src/qtui/inputwidget.cpp +++ b/src/qtui/inputwidget.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2013 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -20,11 +20,12 @@ #include "inputwidget.h" +#include + #include "action.h" #include "actioncollection.h" #include "bufferview.h" #include "client.h" -#include "iconloader.h" #include "ircuser.h" #include "networkmodel.h" #include "qtui.h" @@ -60,11 +61,12 @@ InputWidget::InputWidget(QWidget *parent) ui.inputEdit->setMode(MultiLineEdit::MultiLine); ui.inputEdit->setPasteProtectionEnabled(true); - ui.boldButton->setIcon(SmallIcon("format-text-bold")); - ui.italicButton->setIcon(SmallIcon("format-text-italic")); - ui.underlineButton->setIcon(SmallIcon("format-text-underline")); - ui.textcolorButton->setIcon(SmallIcon("format-text-color")); - ui.highlightcolorButton->setIcon(SmallIcon("format-fill-color")); + ui.boldButton->setIcon(QIcon::fromTheme("format-text-bold")); + ui.italicButton->setIcon(QIcon::fromTheme("format-text-italic")); + ui.underlineButton->setIcon(QIcon::fromTheme("format-text-underline")); + ui.textcolorButton->setIcon(QIcon::fromTheme("format-text-color")); + ui.highlightcolorButton->setIcon(QIcon::fromTheme("format-fill-color")); + ui.encryptionIconLabel->hide(); _colorMenu = new QMenu(); _colorFillMenu = new QMenu(); @@ -122,6 +124,9 @@ InputWidget::InputWidget(QWidget *parent) s.notify("EnableScrollBars", this, SLOT(setScrollBarsEnabled(QVariant))); setScrollBarsEnabled(s.value("EnableScrollBars", true)); + s.notify("EnableLineWrap", this, SLOT(setLineWrapEnabled(QVariant))); + setLineWrapEnabled(s.value("EnableLineWrap", false)); + s.notify("EnableMultiLine", this, SLOT(setMultiLineEnabled(QVariant))); setMultiLineEnabled(s.value("EnableMultiLine", true)); @@ -209,6 +214,12 @@ void InputWidget::setScrollBarsEnabled(const QVariant &v) } +void InputWidget::setLineWrapEnabled(const QVariant &v) +{ + ui.inputEdit->setLineWrapEnabled(v.toBool()); +} + + void InputWidget::setMultiLineEnabled(const QVariant &v) { ui.inputEdit->setMode(v.toBool() ? MultiLineEdit::MultiLine : MultiLineEdit::SingleLine); @@ -289,8 +300,24 @@ void InputWidget::dataChanged(const QModelIndex &topLeft, const QModelIndex &bot QItemSelectionRange changedArea(topLeft, bottomRight); if (changedArea.contains(selectionModel()->currentIndex())) { updateEnabledState(); + + bool encrypted = false; + + IrcChannel *chan = qobject_cast(Client::bufferModel()->data(selectionModel()->currentIndex(), NetworkModel::IrcChannelRole).value()); + if (chan) + encrypted = chan->encrypted(); + + IrcUser *user = qobject_cast(Client::bufferModel()->data(selectionModel()->currentIndex(), NetworkModel::IrcUserRole).value()); + if (user) + encrypted = user->encrypted(); + + if (encrypted) + ui.encryptionIconLabel->show(); + else + ui.encryptionIconLabel->hide(); } -}; +} + void InputWidget::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end) { @@ -444,7 +471,7 @@ void InputWidget::updateNickSelector() const ui.ownNick->addItems(nicks); if (me && me->isAway()) - ui.ownNick->setItemData(nickIdx, SmallIcon("user-away"), Qt::DecorationRole); + ui.ownNick->setItemData(nickIdx, QIcon::fromTheme("user-away"), Qt::DecorationRole); ui.ownNick->setCurrentIndex(nickIdx); } @@ -551,19 +578,19 @@ void InputWidget::colorChosen(QAction *action) { QTextCharFormat fmt; QColor color; - if (qVariantValue(action->data()) == "") { + if (action->data().value() == "") { color = Qt::transparent; fmt = getFormatOfWordOrSelection(); fmt.clearForeground(); setFormatOnSelection(fmt); } else { - color = QColor(inputLine()->rgbColorFromMirc(qVariantValue(action->data()))); + color = QColor(inputLine()->rgbColorFromMirc(action->data().value())); fmt.setForeground(color); mergeFormatOnSelection(fmt); } ui.textcolorButton->setDefaultAction(action); - ui.textcolorButton->setIcon(createColorToolButtonIcon(SmallIcon("format-text-color"), color)); + ui.textcolorButton->setIcon(createColorToolButtonIcon(QIcon::fromTheme("format-text-color"), color)); } @@ -571,19 +598,19 @@ void InputWidget::colorHighlightChosen(QAction *action) { QTextCharFormat fmt; QColor color; - if (qVariantValue(action->data()) == "") { + if (action->data().value() == "") { color = Qt::transparent; fmt = getFormatOfWordOrSelection(); fmt.clearBackground(); setFormatOnSelection(fmt); } else { - color = QColor(inputLine()->rgbColorFromMirc(qVariantValue(action->data()))); + color = QColor(inputLine()->rgbColorFromMirc(action->data().value())); fmt.setBackground(color); mergeFormatOnSelection(fmt); } ui.highlightcolorButton->setDefaultAction(action); - ui.highlightcolorButton->setIcon(createColorToolButtonIcon(SmallIcon("format-fill-color"), color)); + ui.highlightcolorButton->setIcon(createColorToolButtonIcon(QIcon::fromTheme("format-fill-color"), color)); }