richtext icons

This commit is contained in:
Martin Rotter 2023-04-27 15:13:23 +02:00
parent 053c37c71f
commit 55631b7eff
4 changed files with 96 additions and 62 deletions

View File

@ -26,15 +26,26 @@
<file>./graphics/Breeze/actions/22/download.svg</file>
<file>./graphics/Breeze/actions/22/edit-clear.svg</file>
<file>./graphics/Breeze/actions/22/edit-copy.svg</file>
<file>./graphics/Breeze/actions/22/edit-cut.svg</file>
<file>./graphics/Breeze/actions/22/edit-paste.svg</file>
<file>./graphics/Breeze/actions/32/edit-redo.svg</file>
<file>./graphics/Breeze/actions/32/edit-reset.svg</file>
<file>./graphics/Breeze/actions/22/edit-select-all.svg</file>
<file>./graphics/Breeze/actions/22/edit-select-none.svg</file>
<file>./graphics/Breeze/actions/32/edit-undo.svg</file>
<file>./graphics/Breeze/emblems/22/emblem-favorite.svg</file>
<file>./graphics/Breeze/emblems/22/emblem-shared.svg</file>
<file>./graphics/Breeze/places/96/folder.svg</file>
<file>./graphics/Breeze/actions/22/format-indent-less.svg</file>
<file>./graphics/Breeze/actions/22/format-indent-more.svg</file>
<file>./graphics/Breeze/actions/22/format-justify-fill.svg</file>
<file>./graphics/Breeze/actions/22/format-list-ordered.svg</file>
<file>./graphics/Breeze/actions/22/format-list-unordered.svg</file>
<file>./graphics/Breeze/actions/22/format-text-bold.svg</file>
<file>./graphics/Breeze/actions/22/format-text-color.svg</file>
<file>./graphics/Breeze/actions/22/format-text-italic.svg</file>
<file>./graphics/Breeze/actions/22/format-text-strikethrough.svg</file>
<file>./graphics/Breeze/actions/22/format-text-underline.svg</file>
<file>./graphics/Breeze/actions/32/go-down.svg</file>
<file>./graphics/Breeze/actions/64/go-home.svg</file>
<file>./graphics/Breeze/actions/32/go-jump.svg</file>
@ -46,6 +57,7 @@
<file>./graphics/Breeze/actions/32/help-about.svg</file>
<file>./graphics/Breeze/actions/22/help-contents.svg</file>
<file>./graphics/Breeze/mimetypes/64/image-x-generic.svg</file>
<file>./graphics/Breeze/actions/22/insert-link.svg</file>
<file>./graphics/Breeze/actions/22/insert-page-break.svg</file>
<file>./graphics/Breeze/actions/22/list-add.svg</file>
<file>./graphics/Breeze/actions/22/list-remove.svg</file>
@ -103,15 +115,26 @@
<file>./graphics/Breeze Dark/actions/22/download.svg</file>
<file>./graphics/Breeze Dark/actions/22/edit-clear.svg</file>
<file>./graphics/Breeze Dark/actions/22/edit-copy.svg</file>
<file>./graphics/Breeze Dark/actions/22/edit-cut.svg</file>
<file>./graphics/Breeze Dark/actions/22/edit-paste.svg</file>
<file>./graphics/Breeze Dark/actions/32/edit-redo.svg</file>
<file>./graphics/Breeze Dark/actions/32/edit-reset.svg</file>
<file>./graphics/Breeze Dark/actions/22/edit-select-all.svg</file>
<file>./graphics/Breeze Dark/actions/22/edit-select-none.svg</file>
<file>./graphics/Breeze Dark/actions/32/edit-undo.svg</file>
<file>./graphics/Breeze Dark/emblems/22/emblem-favorite.svg</file>
<file>./graphics/Breeze Dark/emblems/22/emblem-shared.svg</file>
<file>./graphics/Breeze Dark/places/96/folder.svg</file>
<file>./graphics/Breeze Dark/actions/22/format-indent-less.svg</file>
<file>./graphics/Breeze Dark/actions/22/format-indent-more.svg</file>
<file>./graphics/Breeze Dark/actions/22/format-justify-fill.svg</file>
<file>./graphics/Breeze Dark/actions/22/format-list-ordered.svg</file>
<file>./graphics/Breeze Dark/actions/22/format-list-unordered.svg</file>
<file>./graphics/Breeze Dark/actions/22/format-text-bold.svg</file>
<file>./graphics/Breeze Dark/actions/22/format-text-color.svg</file>
<file>./graphics/Breeze Dark/actions/22/format-text-italic.svg</file>
<file>./graphics/Breeze Dark/actions/22/format-text-strikethrough.svg</file>
<file>./graphics/Breeze Dark/actions/22/format-text-underline.svg</file>
<file>./graphics/Breeze Dark/actions/32/go-down.svg</file>
<file>./graphics/Breeze Dark/actions/64/go-home.svg</file>
<file>./graphics/Breeze Dark/actions/32/go-jump.svg</file>
@ -123,6 +146,7 @@
<file>./graphics/Breeze Dark/actions/32/help-about.svg</file>
<file>./graphics/Breeze Dark/actions/22/help-contents.svg</file>
<file>./graphics/Breeze Dark/mimetypes/64/image-x-generic.svg</file>
<file>./graphics/Breeze Dark/actions/22/insert-link.svg</file>
<file>./graphics/Breeze Dark/actions/22/insert-page-break.svg</file>
<file>./graphics/Breeze Dark/actions/22/list-add.svg</file>
<file>./graphics/Breeze Dark/actions/22/list-remove.svg</file>
@ -178,15 +202,23 @@
<file>./graphics/Faenza/actions/64/down.png</file>
<file>./graphics/Faenza/actions/64/edit-clear.png</file>
<file>./graphics/Faenza/actions/64/edit-copy.png</file>
<file>./graphics/Faenza/actions/64/edit-cut.png</file>
<file>./graphics/Faenza/actions/64/edit-paste.png</file>
<file>./graphics/Faenza/actions/64/edit-redo.png</file>
<file>./graphics/Faenza/actions/64/edit-select-all.png</file>
<file>./graphics/Faenza/actions/64/edit-undo.png</file>
<file>./graphics/Faenza/emblems/64/emblem-downloads.png</file>
<file>./graphics/Faenza/emblems/64/emblem-favorite.png</file>
<file>./graphics/Faenza/emblems/64/emblem-shared.png</file>
<file>./graphics/Faenza/emblems/64/emblem-system.png</file>
<file>./graphics/Faenza/places/64/folder.png</file>
<file>./graphics/Faenza/actions/64/format-indent-less.png</file>
<file>./graphics/Faenza/actions/64/format-indent-more.png</file>
<file>./graphics/Faenza/actions/64/format-justify-fill.png</file>
<file>./graphics/Faenza/actions/64/format-text-bold.png</file>
<file>./graphics/Faenza/actions/64/format-text-italic.png</file>
<file>./graphics/Faenza/actions/64/format-text-strikethrough.png</file>
<file>./graphics/Faenza/actions/64/format-text-underline.png</file>
<file>./graphics/Faenza/actions/64/go-down.png</file>
<file>./graphics/Faenza/actions/64/go-home.png</file>
<file>./graphics/Faenza/actions/64/go-jump.png</file>
@ -198,6 +230,7 @@
<file>./graphics/Faenza/actions/64/help-about.png</file>
<file>./graphics/Faenza/actions/64/help-contents.png</file>
<file>./graphics/Faenza/mimetypes/64/image-x-generic.png</file>
<file>./graphics/Faenza/actions/64/insert-link.png</file>
<file>./graphics/Faenza/actions/64/insert-object.png</file>
<file>./graphics/Faenza/actions/64/list-add.png</file>
<file>./graphics/Faenza/actions/64/list-remove.png</file>
@ -258,15 +291,23 @@
<file>./graphics/Numix/22/actions/download.svg</file>
<file>./graphics/Numix/22/actions/edit-clear.svg</file>
<file>./graphics/Numix/22/actions/edit-copy.svg</file>
<file>./graphics/Numix/22/actions/edit-cut.svg</file>
<file>./graphics/Numix/22/actions/edit-paste.svg</file>
<file>./graphics/Numix/22/actions/edit-redo.svg</file>
<file>./graphics/Numix/22/actions/edit-select-all.svg</file>
<file>./graphics/Numix/22/actions/edit-undo.svg</file>
<file>./graphics/Numix/22/emblems/emblem-downloads.svg</file>
<file>./graphics/Numix/22/emblems/emblem-favorite.svg</file>
<file>./graphics/Numix/22/emblems/emblem-shared.svg</file>
<file>./graphics/Numix/22/emblems/emblem-system.svg</file>
<file>./graphics/Numix/22/places/folder.svg</file>
<file>./graphics/Numix/22/actions/format-indent-less.svg</file>
<file>./graphics/Numix/22/actions/format-indent-more.svg</file>
<file>./graphics/Numix/22/actions/format-justify-fill.svg</file>
<file>./graphics/Numix/22/actions/format-text-bold.svg</file>
<file>./graphics/Numix/22/actions/format-text-italic.svg</file>
<file>./graphics/Numix/22/actions/format-text-strikethrough.svg</file>
<file>./graphics/Numix/22/actions/format-text-underline.svg</file>
<file>./graphics/Numix/22/actions/go-down.svg</file>
<file>./graphics/Numix/22/actions/go-home.svg</file>
<file>./graphics/Numix/22/actions/go-jump.svg</file>
@ -278,6 +319,7 @@
<file>./graphics/Numix/22/categories/help-about.svg</file>
<file>./graphics/Numix/22/actions/help-contents.svg</file>
<file>./graphics/Numix/22/mimetypes/image-x-generic.svg</file>
<file>./graphics/Numix/22/actions/insert-link.svg</file>
<file>./graphics/Numix/22/actions/insert-object.svg</file>
<file>./graphics/Numix/22/actions/list-add.svg</file>
<file>./graphics/Numix/22/actions/list-remove.svg</file>

View File

@ -28,6 +28,8 @@
#include "gui/richtexteditor/mrichtextedit.h"
#include "definitions/definitions.h"
#include "miscellaneous/application.h"
#include "miscellaneous/iconfactory.h"
#include <QApplication>
#include <QBuffer>
@ -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());

View File

@ -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;

View File

@ -68,7 +68,7 @@
</widget>
</item>
<item>
<widget class="QToolButton" name="f_undo">
<widget class="PlainToolButton" name="f_undo">
<property name="enabled">
<bool>false</bool>
</property>
@ -81,10 +81,6 @@
<property name="text">
<string>Undo</string>
</property>
<property name="icon">
<iconset theme="edit-undo">
<normaloff>.</normaloff>.</iconset>
</property>
<property name="iconSize">
<size>
<width>16</width>
@ -94,7 +90,7 @@
</widget>
</item>
<item>
<widget class="QToolButton" name="f_redo">
<widget class="PlainToolButton" name="f_redo">
<property name="enabled">
<bool>false</bool>
</property>
@ -107,10 +103,6 @@
<property name="text">
<string>Redo</string>
</property>
<property name="icon">
<iconset theme="edit-redo">
<normaloff>.</normaloff>.</iconset>
</property>
<property name="iconSize">
<size>
<width>16</width>
@ -120,7 +112,7 @@
</widget>
</item>
<item>
<widget class="QToolButton" name="f_cut">
<widget class="PlainToolButton" name="f_cut">
<property name="focusPolicy">
<enum>Qt::ClickFocus</enum>
</property>
@ -130,10 +122,6 @@
<property name="text">
<string>Cut</string>
</property>
<property name="icon">
<iconset theme="edit-cut">
<normaloff>.</normaloff>.</iconset>
</property>
<property name="iconSize">
<size>
<width>16</width>
@ -143,7 +131,7 @@
</widget>
</item>
<item>
<widget class="QToolButton" name="f_copy">
<widget class="PlainToolButton" name="f_copy">
<property name="focusPolicy">
<enum>Qt::ClickFocus</enum>
</property>
@ -153,10 +141,6 @@
<property name="text">
<string>Copy</string>
</property>
<property name="icon">
<iconset theme="edit-copy">
<normaloff>.</normaloff>.</iconset>
</property>
<property name="iconSize">
<size>
<width>16</width>
@ -166,7 +150,7 @@
</widget>
</item>
<item>
<widget class="QToolButton" name="f_paste">
<widget class="PlainToolButton" name="f_paste">
<property name="focusPolicy">
<enum>Qt::ClickFocus</enum>
</property>
@ -176,10 +160,6 @@
<property name="text">
<string>Paste</string>
</property>
<property name="icon">
<iconset theme="edit-paste">
<normaloff>.</normaloff>.</iconset>
</property>
<property name="iconSize">
<size>
<width>16</width>
@ -196,7 +176,7 @@
</widget>
</item>
<item>
<widget class="QToolButton" name="f_link">
<widget class="PlainToolButton" name="f_link">
<property name="focusPolicy">
<enum>Qt::ClickFocus</enum>
</property>
@ -206,10 +186,6 @@
<property name="text">
<string>Link</string>
</property>
<property name="icon">
<iconset theme="applications-internet">
<normaloff>.</normaloff>.</iconset>
</property>
<property name="iconSize">
<size>
<width>16</width>
@ -229,7 +205,7 @@
</widget>
</item>
<item>
<widget class="QToolButton" name="f_bold">
<widget class="PlainToolButton" name="f_bold">
<property name="focusPolicy">
<enum>Qt::ClickFocus</enum>
</property>
@ -239,10 +215,6 @@
<property name="text">
<string>Bold</string>
</property>
<property name="icon">
<iconset theme="format-text-bold">
<normaloff>.</normaloff>.</iconset>
</property>
<property name="iconSize">
<size>
<width>16</width>
@ -255,7 +227,7 @@
</widget>
</item>
<item>
<widget class="QToolButton" name="f_italic">
<widget class="PlainToolButton" name="f_italic">
<property name="focusPolicy">
<enum>Qt::ClickFocus</enum>
</property>
@ -265,10 +237,6 @@
<property name="text">
<string>Italic</string>
</property>
<property name="icon">
<iconset theme="format-text-italic">
<normaloff>.</normaloff>.</iconset>
</property>
<property name="iconSize">
<size>
<width>16</width>
@ -281,7 +249,7 @@
</widget>
</item>
<item>
<widget class="QToolButton" name="f_underline">
<widget class="PlainToolButton" name="f_underline">
<property name="focusPolicy">
<enum>Qt::ClickFocus</enum>
</property>
@ -291,10 +259,6 @@
<property name="text">
<string>Underline</string>
</property>
<property name="icon">
<iconset theme="format-text-underline">
<normaloff>.</normaloff>.</iconset>
</property>
<property name="iconSize">
<size>
<width>16</width>
@ -307,7 +271,7 @@
</widget>
</item>
<item>
<widget class="QToolButton" name="f_strikeout">
<widget class="PlainToolButton" name="f_strikeout">
<property name="text">
<string>Strike Out</string>
</property>
@ -324,7 +288,7 @@
</widget>
</item>
<item>
<widget class="QToolButton" name="f_list_bullet">
<widget class="PlainToolButton" name="f_list_bullet">
<property name="focusPolicy">
<enum>Qt::ClickFocus</enum>
</property>
@ -346,7 +310,7 @@
</widget>
</item>
<item>
<widget class="QToolButton" name="f_list_ordered">
<widget class="PlainToolButton" name="f_list_ordered">
<property name="focusPolicy">
<enum>Qt::ClickFocus</enum>
</property>
@ -368,7 +332,7 @@
</widget>
</item>
<item>
<widget class="QToolButton" name="f_indent_dec">
<widget class="PlainToolButton" name="f_indent_dec">
<property name="focusPolicy">
<enum>Qt::ClickFocus</enum>
</property>
@ -378,10 +342,6 @@
<property name="text">
<string>Decrease indentation</string>
</property>
<property name="icon">
<iconset theme="format-indent-less">
<normaloff>.</normaloff>.</iconset>
</property>
<property name="iconSize">
<size>
<width>16</width>
@ -391,7 +351,7 @@
</widget>
</item>
<item>
<widget class="QToolButton" name="f_indent_inc">
<widget class="PlainToolButton" name="f_indent_inc">
<property name="focusPolicy">
<enum>Qt::ClickFocus</enum>
</property>
@ -401,10 +361,6 @@
<property name="text">
<string>Increase indentation</string>
</property>
<property name="icon">
<iconset theme="format-indent-more">
<normaloff>.</normaloff>.</iconset>
</property>
<property name="iconSize">
<size>
<width>16</width>
@ -421,7 +377,7 @@
</widget>
</item>
<item>
<widget class="QToolButton" name="f_fgcolor">
<widget class="PlainToolButton" name="f_fgcolor">
<property name="minimumSize">
<size>
<width>16</width>
@ -452,7 +408,7 @@
</widget>
</item>
<item>
<widget class="QToolButton" name="f_bgcolor">
<widget class="PlainToolButton" name="f_bgcolor">
<property name="minimumSize">
<size>
<width>16</width>
@ -503,7 +459,7 @@
</widget>
</item>
<item>
<widget class="QToolButton" name="f_image">
<widget class="PlainToolButton" name="f_image">
<property name="text">
<string notr="true">...</string>
</property>
@ -523,7 +479,7 @@
</spacer>
</item>
<item>
<widget class="QToolButton" name="f_menu">
<widget class="PlainToolButton" name="f_menu">
<property name="text">
<string>...</string>
</property>
@ -571,6 +527,11 @@
</layout>
</widget>
<customwidgets>
<customwidget>
<class>PlainToolButton</class>
<extends>QToolButton</extends>
<header>plaintoolbutton.h</header>
</customwidget>
<customwidget>
<class>MTextEdit</class>
<extends>QTextEdit</extends>