From 55631b7eff356481f5c57554a7469e04445ba351 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Thu, 27 Apr 2023 15:13:23 +0200 Subject: [PATCH] richtext icons --- resources/icons.qrc | 42 +++++++++ .../gui/richtexteditor/mrichtextedit.cpp | 27 ++++++ .../gui/richtexteditor/mrichtextedit.h | 4 + .../gui/richtexteditor/mrichtextedit.ui | 85 +++++-------------- 4 files changed, 96 insertions(+), 62 deletions(-) diff --git a/resources/icons.qrc b/resources/icons.qrc index db31a46ea..94acc3416 100644 --- a/resources/icons.qrc +++ b/resources/icons.qrc @@ -26,15 +26,26 @@ ./graphics/Breeze/actions/22/download.svg ./graphics/Breeze/actions/22/edit-clear.svg ./graphics/Breeze/actions/22/edit-copy.svg + ./graphics/Breeze/actions/22/edit-cut.svg + ./graphics/Breeze/actions/22/edit-paste.svg + ./graphics/Breeze/actions/32/edit-redo.svg ./graphics/Breeze/actions/32/edit-reset.svg ./graphics/Breeze/actions/22/edit-select-all.svg ./graphics/Breeze/actions/22/edit-select-none.svg + ./graphics/Breeze/actions/32/edit-undo.svg ./graphics/Breeze/emblems/22/emblem-favorite.svg ./graphics/Breeze/emblems/22/emblem-shared.svg ./graphics/Breeze/places/96/folder.svg + ./graphics/Breeze/actions/22/format-indent-less.svg ./graphics/Breeze/actions/22/format-indent-more.svg ./graphics/Breeze/actions/22/format-justify-fill.svg + ./graphics/Breeze/actions/22/format-list-ordered.svg + ./graphics/Breeze/actions/22/format-list-unordered.svg ./graphics/Breeze/actions/22/format-text-bold.svg + ./graphics/Breeze/actions/22/format-text-color.svg + ./graphics/Breeze/actions/22/format-text-italic.svg + ./graphics/Breeze/actions/22/format-text-strikethrough.svg + ./graphics/Breeze/actions/22/format-text-underline.svg ./graphics/Breeze/actions/32/go-down.svg ./graphics/Breeze/actions/64/go-home.svg ./graphics/Breeze/actions/32/go-jump.svg @@ -46,6 +57,7 @@ ./graphics/Breeze/actions/32/help-about.svg ./graphics/Breeze/actions/22/help-contents.svg ./graphics/Breeze/mimetypes/64/image-x-generic.svg + ./graphics/Breeze/actions/22/insert-link.svg ./graphics/Breeze/actions/22/insert-page-break.svg ./graphics/Breeze/actions/22/list-add.svg ./graphics/Breeze/actions/22/list-remove.svg @@ -103,15 +115,26 @@ ./graphics/Breeze Dark/actions/22/download.svg ./graphics/Breeze Dark/actions/22/edit-clear.svg ./graphics/Breeze Dark/actions/22/edit-copy.svg + ./graphics/Breeze Dark/actions/22/edit-cut.svg + ./graphics/Breeze Dark/actions/22/edit-paste.svg + ./graphics/Breeze Dark/actions/32/edit-redo.svg ./graphics/Breeze Dark/actions/32/edit-reset.svg ./graphics/Breeze Dark/actions/22/edit-select-all.svg ./graphics/Breeze Dark/actions/22/edit-select-none.svg + ./graphics/Breeze Dark/actions/32/edit-undo.svg ./graphics/Breeze Dark/emblems/22/emblem-favorite.svg ./graphics/Breeze Dark/emblems/22/emblem-shared.svg ./graphics/Breeze Dark/places/96/folder.svg + ./graphics/Breeze Dark/actions/22/format-indent-less.svg ./graphics/Breeze Dark/actions/22/format-indent-more.svg ./graphics/Breeze Dark/actions/22/format-justify-fill.svg + ./graphics/Breeze Dark/actions/22/format-list-ordered.svg + ./graphics/Breeze Dark/actions/22/format-list-unordered.svg ./graphics/Breeze Dark/actions/22/format-text-bold.svg + ./graphics/Breeze Dark/actions/22/format-text-color.svg + ./graphics/Breeze Dark/actions/22/format-text-italic.svg + ./graphics/Breeze Dark/actions/22/format-text-strikethrough.svg + ./graphics/Breeze Dark/actions/22/format-text-underline.svg ./graphics/Breeze Dark/actions/32/go-down.svg ./graphics/Breeze Dark/actions/64/go-home.svg ./graphics/Breeze Dark/actions/32/go-jump.svg @@ -123,6 +146,7 @@ ./graphics/Breeze Dark/actions/32/help-about.svg ./graphics/Breeze Dark/actions/22/help-contents.svg ./graphics/Breeze Dark/mimetypes/64/image-x-generic.svg + ./graphics/Breeze Dark/actions/22/insert-link.svg ./graphics/Breeze Dark/actions/22/insert-page-break.svg ./graphics/Breeze Dark/actions/22/list-add.svg ./graphics/Breeze Dark/actions/22/list-remove.svg @@ -178,15 +202,23 @@ ./graphics/Faenza/actions/64/down.png ./graphics/Faenza/actions/64/edit-clear.png ./graphics/Faenza/actions/64/edit-copy.png + ./graphics/Faenza/actions/64/edit-cut.png + ./graphics/Faenza/actions/64/edit-paste.png + ./graphics/Faenza/actions/64/edit-redo.png ./graphics/Faenza/actions/64/edit-select-all.png + ./graphics/Faenza/actions/64/edit-undo.png ./graphics/Faenza/emblems/64/emblem-downloads.png ./graphics/Faenza/emblems/64/emblem-favorite.png ./graphics/Faenza/emblems/64/emblem-shared.png ./graphics/Faenza/emblems/64/emblem-system.png ./graphics/Faenza/places/64/folder.png + ./graphics/Faenza/actions/64/format-indent-less.png ./graphics/Faenza/actions/64/format-indent-more.png ./graphics/Faenza/actions/64/format-justify-fill.png ./graphics/Faenza/actions/64/format-text-bold.png + ./graphics/Faenza/actions/64/format-text-italic.png + ./graphics/Faenza/actions/64/format-text-strikethrough.png + ./graphics/Faenza/actions/64/format-text-underline.png ./graphics/Faenza/actions/64/go-down.png ./graphics/Faenza/actions/64/go-home.png ./graphics/Faenza/actions/64/go-jump.png @@ -198,6 +230,7 @@ ./graphics/Faenza/actions/64/help-about.png ./graphics/Faenza/actions/64/help-contents.png ./graphics/Faenza/mimetypes/64/image-x-generic.png + ./graphics/Faenza/actions/64/insert-link.png ./graphics/Faenza/actions/64/insert-object.png ./graphics/Faenza/actions/64/list-add.png ./graphics/Faenza/actions/64/list-remove.png @@ -258,15 +291,23 @@ ./graphics/Numix/22/actions/download.svg ./graphics/Numix/22/actions/edit-clear.svg ./graphics/Numix/22/actions/edit-copy.svg + ./graphics/Numix/22/actions/edit-cut.svg + ./graphics/Numix/22/actions/edit-paste.svg + ./graphics/Numix/22/actions/edit-redo.svg ./graphics/Numix/22/actions/edit-select-all.svg + ./graphics/Numix/22/actions/edit-undo.svg ./graphics/Numix/22/emblems/emblem-downloads.svg ./graphics/Numix/22/emblems/emblem-favorite.svg ./graphics/Numix/22/emblems/emblem-shared.svg ./graphics/Numix/22/emblems/emblem-system.svg ./graphics/Numix/22/places/folder.svg + ./graphics/Numix/22/actions/format-indent-less.svg ./graphics/Numix/22/actions/format-indent-more.svg ./graphics/Numix/22/actions/format-justify-fill.svg ./graphics/Numix/22/actions/format-text-bold.svg + ./graphics/Numix/22/actions/format-text-italic.svg + ./graphics/Numix/22/actions/format-text-strikethrough.svg + ./graphics/Numix/22/actions/format-text-underline.svg ./graphics/Numix/22/actions/go-down.svg ./graphics/Numix/22/actions/go-home.svg ./graphics/Numix/22/actions/go-jump.svg @@ -278,6 +319,7 @@ ./graphics/Numix/22/categories/help-about.svg ./graphics/Numix/22/actions/help-contents.svg ./graphics/Numix/22/mimetypes/image-x-generic.svg + ./graphics/Numix/22/actions/insert-link.svg ./graphics/Numix/22/actions/insert-object.svg ./graphics/Numix/22/actions/list-add.svg ./graphics/Numix/22/actions/list-remove.svg diff --git a/src/librssguard/gui/richtexteditor/mrichtextedit.cpp b/src/librssguard/gui/richtexteditor/mrichtextedit.cpp index 663734533..ce9650dc5 100755 --- a/src/librssguard/gui/richtexteditor/mrichtextedit.cpp +++ b/src/librssguard/gui/richtexteditor/mrichtextedit.cpp @@ -28,6 +28,8 @@ #include "gui/richtexteditor/mrichtextedit.h" #include "definitions/definitions.h" +#include "miscellaneous/application.h" +#include "miscellaneous/iconfactory.h" #include #include @@ -50,6 +52,8 @@ MRichTextEdit::MRichTextEdit(QWidget* parent) : QWidget(parent) { m_ui.setupUi(this); m_lastBlockList = nullptr; + setupIcons(); + connect(m_ui.f_textedit, &QTextEdit::currentCharFormatChanged, this, &MRichTextEdit::slotCurrentCharFormatChanged); connect(m_ui.f_textedit, &QTextEdit::cursorPositionChanged, this, &MRichTextEdit::slotCursorPositionChanged); @@ -268,6 +272,29 @@ void MRichTextEdit::focusInEvent(QFocusEvent*) { m_ui.f_textedit->setFocus(Qt::TabFocusReason); } +void MRichTextEdit::setupIcons() { + auto* ic = qApp->icons(); + + m_ui.f_bgcolor->setIcon(ic->fromTheme(QSL("format-text-color"))); + m_ui.f_bold->setIcon(ic->fromTheme(QSL("format-text-bold"))); + m_ui.f_copy->setIcon(ic->fromTheme(QSL("edit-copy"))); + m_ui.f_cut->setIcon(ic->fromTheme(QSL("edit-cut"))); + m_ui.f_fgcolor->setIcon(ic->fromTheme(QSL("format-text-color"))); + m_ui.f_image->setIcon(ic->fromTheme(QSL("image-x-generic"))); + m_ui.f_indent_dec->setIcon(ic->fromTheme(QSL("format-indent-less"))); + m_ui.f_indent_inc->setIcon(ic->fromTheme(QSL("format-indent-more"))); + m_ui.f_italic->setIcon(ic->fromTheme(QSL("format-text-italic"))); + m_ui.f_link->setIcon(ic->fromTheme(QSL("insert-link"))); + m_ui.f_list_bullet->setIcon(ic->fromTheme(QSL("format-list-unordered"))); + m_ui.f_list_ordered->setIcon(ic->fromTheme(QSL("format-list-ordered"))); + m_ui.f_menu->setIcon(ic->fromTheme(QSL("go-home"))); + m_ui.f_paste->setIcon(ic->fromTheme(QSL("edit-paste"))); + m_ui.f_redo->setIcon(ic->fromTheme(QSL("edit-redo"))); + m_ui.f_strikeout->setIcon(ic->fromTheme(QSL("format-text-strikethrough"))); + m_ui.f_underline->setIcon(ic->fromTheme(QSL("format-text-underline"))); + m_ui.f_undo->setIcon(ic->fromTheme(QSL("edit-undo"))); +} + void MRichTextEdit::textUnderline() { QTextCharFormat fmt; fmt.setFontUnderline(m_ui.f_underline->isChecked()); diff --git a/src/librssguard/gui/richtexteditor/mrichtextedit.h b/src/librssguard/gui/richtexteditor/mrichtextedit.h index c4ab1bfc6..0e253eb54 100755 --- a/src/librssguard/gui/richtexteditor/mrichtextedit.h +++ b/src/librssguard/gui/richtexteditor/mrichtextedit.h @@ -82,6 +82,10 @@ class MRichTextEdit : public QWidget { void indent(int delta); void focusInEvent(QFocusEvent* event); + private: + void setupIcons(); + + private: QStringList m_paragraphItems; int m_fontsize_h1; int m_fontsize_h2; diff --git a/src/librssguard/gui/richtexteditor/mrichtextedit.ui b/src/librssguard/gui/richtexteditor/mrichtextedit.ui index da5d3ecaf..f45ed5f27 100755 --- a/src/librssguard/gui/richtexteditor/mrichtextedit.ui +++ b/src/librssguard/gui/richtexteditor/mrichtextedit.ui @@ -68,7 +68,7 @@ - + false @@ -81,10 +81,6 @@ Undo - - - .. - 16 @@ -94,7 +90,7 @@ - + false @@ -107,10 +103,6 @@ Redo - - - .. - 16 @@ -120,7 +112,7 @@ - + Qt::ClickFocus @@ -130,10 +122,6 @@ Cut - - - .. - 16 @@ -143,7 +131,7 @@ - + Qt::ClickFocus @@ -153,10 +141,6 @@ Copy - - - .. - 16 @@ -166,7 +150,7 @@ - + Qt::ClickFocus @@ -176,10 +160,6 @@ Paste - - - .. - 16 @@ -196,7 +176,7 @@ - + Qt::ClickFocus @@ -206,10 +186,6 @@ Link - - - .. - 16 @@ -229,7 +205,7 @@ - + Qt::ClickFocus @@ -239,10 +215,6 @@ Bold - - - .. - 16 @@ -255,7 +227,7 @@ - + Qt::ClickFocus @@ -265,10 +237,6 @@ Italic - - - .. - 16 @@ -281,7 +249,7 @@ - + Qt::ClickFocus @@ -291,10 +259,6 @@ Underline - - - .. - 16 @@ -307,7 +271,7 @@ - + Strike Out @@ -324,7 +288,7 @@ - + Qt::ClickFocus @@ -346,7 +310,7 @@ - + Qt::ClickFocus @@ -368,7 +332,7 @@ - + Qt::ClickFocus @@ -378,10 +342,6 @@ Decrease indentation - - - .. - 16 @@ -391,7 +351,7 @@ - + Qt::ClickFocus @@ -401,10 +361,6 @@ Increase indentation - - - .. - 16 @@ -421,7 +377,7 @@ - + 16 @@ -452,7 +408,7 @@ - + 16 @@ -503,7 +459,7 @@ - + ... @@ -523,7 +479,7 @@ - + ... @@ -571,6 +527,11 @@ + + PlainToolButton + QToolButton +
plaintoolbutton.h
+
MTextEdit QTextEdit