Messagelib
12 #include "htmlstatusbar.h"
13 #include "settings/messageviewersettings.h"
15 #include "MessageCore/MessageCoreSettings"
17 #include <KConfigGroup>
18 #include <KLocalizedString>
20 #include <KSharedConfig>
21 #include <QMouseEvent>
23 using namespace MessageViewer;
26 static const char myHtmlStatusBarConfigGroupName[] =
"Reader";
28 HtmlStatusBar::HtmlStatusBar(
QWidget *parent)
30 , mMode(MimeTreeParser::Util::Normal)
33 setAutoFillBackground(
true);
38 HtmlStatusBar::~HtmlStatusBar() =
default;
45 bool HtmlStatusBar::isHtml()
const
50 bool HtmlStatusBar::isNormal()
const
55 void HtmlStatusBar::update()
70 void HtmlStatusBar::setHtmlMode()
77 mAvailableModes = availableModes;
82 return mAvailableModes;
95 void HtmlStatusBar::mousePressEvent(
QMouseEvent *event)
102 QString HtmlStatusBar::message()
const
107 return i18nc(
"'HTML Message' with html linebreaks between each letter and in bold text.",
108 "<qt><b><br />H<br />T<br />M<br />L<br /> "
109 "<br />M<br />e<br />s<br />s<br />a<br />g<br />e</b></qt>");
111 return i18nc(
"'No HTML Message' with html linebreaks between each letter.",
112 "<qt><br />N<br />o<br /> "
113 "<br />H<br />T<br />M<br />L<br /> "
114 "<br />M<br />e<br />s<br />s<br />a<br />g<br />e</qt>");
116 return i18nc(
"'Plain Message' with html linebreaks between each letter.",
117 "<qt><br />P<br />l<br />a<br />i<br />n<br /> "
118 "<br />M<br />e<br />s<br />s<br />a<br />g<br />e<br /></qt>");
120 return i18nc(
"'Calendar Message' with html linebreaks between each letter.",
121 "<qt><br />C<br />a<br />l<br />e<br />n<br />d<br />a<br />r<br /> "
122 "<br />M<br />e<br />s<br />s<br />a<br />g<br />e<br /></qt>");
128 QString HtmlStatusBar::toolTip()
const
135 return i18n(
"Click to toggle between HTML, plain text and calendar.");
144 QColor HtmlStatusBar::fgColor()
const
153 color = defaultColor;
154 if (!MessageCore::MessageCoreSettings::self()->useDefaultColors()) {
155 color = conf.readEntry(
"ColorbarForegroundHTML", defaultColor);
162 color = defaultColor;
163 if (!MessageCore::MessageCoreSettings::self()->useDefaultColors()) {
164 color = conf.readEntry(
"ColorbarForegroundPlain", defaultColor);
171 QColor HtmlStatusBar::bgColor()
const
181 color = defaultColor;
182 if (!MessageCore::MessageCoreSettings::self()->useDefaultColors()) {
183 color = conf.readEntry(
"ColorbarBackgroundHTML", defaultColor);
190 color = defaultColor;
191 if (!MessageCore::MessageCoreSettings::self()->useDefaultColors()) {
192 color = conf.readEntry(
"ColorbarBackgroundPlain", defaultColor);
void setMode(MimeTreeParser::Util::HtmlMode m, MessageViewer::HtmlStatusBar::UpdateMode mode=Update)
Switch to mode m.
void setText(const QString &)
@ Html
A HTML message, non-multipart.
@ MultipartHtml
A multipart/alternative message, the HTML part is currently displayed.
void clicked()
The user has clicked the status bar.
static KSharedConfig::Ptr openConfig(const QString &fileName=QString(), OpenFlags mode=FullConfig, QStandardPaths::StandardLocation type=QStandardPaths::GenericConfigLocation)
QString i18n(const char *text, const TYPE &arg...)
void setColor(QPalette::ColorGroup group, QPalette::ColorRole role, const QColor &color)
HtmlMode
Describes the type of the displayed message.
@ MultipartIcal
A multipart/alternative message, the ICal part is currently displayed.
void update(Part *part, const QByteArray &data, qint64 dataSize)
QString i18nc(const char *context, const char *text, const TYPE &arg...)
MimeTreeParser::Util::HtmlMode mode() const
@ Normal
A normal plaintext message, non-multipart.
virtual bool event(QEvent *e) override
void setNormalMode()
Switch to "normal mode".
@ MultipartPlain
A multipart/alternative message, the plain text part is currently displayed.
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Fri Mar 24 2023 04:08:31 by
doxygen 1.8.17 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.