X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Finputwidget.cpp;h=98ef2ba59ea38aedce0333890076e125a774c236;hb=6718d7a1ccd42d7aae75e57d6974e0b1e0384044;hp=756d06415bf48a149244545fbb3e3491471dc1a7;hpb=fe5ceb9ecfd9bbb83b96ba4f462b3f41688377bd;p=quassel.git diff --git a/src/qtui/inputwidget.cpp b/src/qtui/inputwidget.cpp index 756d0641..98ef2ba5 100644 --- a/src/qtui/inputwidget.cpp +++ b/src/qtui/inputwidget.cpp @@ -21,17 +21,20 @@ #include "inputwidget.h" #include +#include +#include +#include #include "action.h" #include "actioncollection.h" #include "bufferview.h" #include "client.h" +#include "icon.h" #include "ircuser.h" #include "networkmodel.h" #include "qtui.h" #include "qtuisettings.h" #include "tabcompleter.h" -#include const int leftMargin = 3; @@ -61,10 +64,10 @@ InputWidget::InputWidget(QWidget *parent) ui.inputEdit->setMode(MultiLineEdit::MultiLine); ui.inputEdit->setPasteProtectionEnabled(true); - 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.clearButton->setIcon(QIcon::fromTheme("edit-clear")); + ui.boldButton->setIcon(icon::get("format-text-bold")); + ui.italicButton->setIcon(icon::get("format-text-italic")); + ui.underlineButton->setIcon(icon::get("format-text-underline")); + ui.clearButton->setIcon(icon::get("edit-clear")); ui.encryptionIconLabel->hide(); _colorMenu = new QMenu(); @@ -96,8 +99,8 @@ InputWidget::InputWidget(QWidget *parent) connect(_colorFillMenu, SIGNAL(triggered(QAction *)), this, SLOT(colorHighlightChosen(QAction *))); // Needs to be done after adding the menu, otherwise the icon mysteriously vanishes until clicked - ui.textcolorButton->setIcon(QIcon::fromTheme("format-text-color")); - ui.highlightcolorButton->setIcon(QIcon::fromTheme("format-fill-color")); + ui.textcolorButton->setIcon(icon::get("format-text-color")); + ui.highlightcolorButton->setIcon(icon::get("format-fill-color")); // Show/hide style button connect(ui.showStyleButton, SIGNAL(toggled(bool)), this, SLOT(setStyleOptionsExpanded(bool))); @@ -115,11 +118,6 @@ InputWidget::InputWidget(QWidget *parent) UiSettings s("InputWidget"); -#ifdef HAVE_KDE4 - s.notify("EnableSpellCheck", this, SLOT(setEnableSpellCheck(QVariant))); - setEnableSpellCheck(s.value("EnableSpellCheck", false)); -#endif - s.notify("EnableEmacsMode", this, SLOT(setEnableEmacsMode(QVariant))); setEnableEmacsMode(s.value("EnableEmacsMode", false)); @@ -186,12 +184,6 @@ void InputWidget::setCustomFont(const QVariant &v) } -void InputWidget::setEnableSpellCheck(const QVariant &v) -{ - ui.inputEdit->setSpellCheckEnabled(v.toBool()); -} - - void InputWidget::setEnableEmacsMode(const QVariant &v) { ui.inputEdit->setEmacsMode(v.toBool()); @@ -529,7 +521,7 @@ void InputWidget::updateNickSelector() const ui.ownNick->addItems(nicks); if (me && me->isAway()) - ui.ownNick->setItemData(nickIdx, QIcon::fromTheme("user-away"), Qt::DecorationRole); + ui.ownNick->setItemData(nickIdx, icon::get({"im-user-away", "user-away"}), Qt::DecorationRole); ui.ownNick->setCurrentIndex(nickIdx); } @@ -551,16 +543,16 @@ void InputWidget::changeNick(const QString &newNick) const void InputWidget::onTextEntered(const QString &text) { Client::userInput(currentBufferInfo(), text); - ui.boldButton->setChecked(false); - ui.underlineButton->setChecked(false); - ui.italicButton->setChecked(false); + // Remove formatting from entered text + // TODO: Offer a way to convert pasted text to mIRC formatting codes setFormatClear(true); } void InputWidget::setFormatClear(const bool global) { + // Apply formatting QTextCharFormat fmt; fmt.setFontWeight(QFont::Normal); fmt.setFontUnderline(false); @@ -572,30 +564,44 @@ void InputWidget::setFormatClear(const bool global) } else { setFormatOnSelection(fmt); } + + // Make sure UI state follows + ui.boldButton->setChecked(false); + ui.italicButton->setChecked(false); + ui.underlineButton->setChecked(false); } void InputWidget::setFormatBold(const bool bold) { + // Apply formatting QTextCharFormat fmt; fmt.setFontWeight(bold ? QFont::Bold : QFont::Normal); mergeFormatOnSelection(fmt); + // Make sure UI state follows + ui.boldButton->setChecked(bold); } void InputWidget::setFormatItalic(const bool italic) { + // Apply formatting QTextCharFormat fmt; fmt.setFontItalic(italic); mergeFormatOnSelection(fmt); + // Make sure UI state follows + ui.italicButton->setChecked(italic); } void InputWidget::setFormatUnderline(const bool underline) { + // Apply formatting QTextCharFormat fmt; fmt.setFontUnderline(underline); mergeFormatOnSelection(fmt); + // Make sure UI state follows + ui.underlineButton->setChecked(underline); } @@ -683,7 +689,7 @@ void InputWidget::colorChosen(QAction *action) mergeFormatOnSelection(fmt); } ui.textcolorButton->setDefaultAction(action); - ui.textcolorButton->setIcon(createColorToolButtonIcon(QIcon::fromTheme("format-text-color"), color)); + ui.textcolorButton->setIcon(createColorToolButtonIcon(icon::get("format-text-color"), color)); } @@ -703,7 +709,7 @@ void InputWidget::colorHighlightChosen(QAction *action) mergeFormatOnSelection(fmt); } ui.highlightcolorButton->setDefaultAction(action); - ui.highlightcolorButton->setIcon(createColorToolButtonIcon(QIcon::fromTheme("format-fill-color"), color)); + ui.highlightcolorButton->setIcon(createColorToolButtonIcon(icon::get("format-fill-color"), color)); }