Warning, file /frameworks/kwidgetsaddons/tests/kmessagewidgettest.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 This file is part of the KDE libraries 0003 SPDX-FileCopyrightText: 2012 Aurélien Gâteau <agateau@kde.org> 0004 Based on test program by Dominik Haumann <dhaumann@kde.org> 0005 0006 SPDX-License-Identifier: LGPL-2.1-or-later 0007 */ 0008 0009 #include <QAction> 0010 #include <QApplication> 0011 #include <QCheckBox> 0012 #include <QFrame> 0013 #include <QVBoxLayout> 0014 #include <QWhatsThis> 0015 #include <QWidget> 0016 0017 #include <kmessagewidget.h> 0018 0019 class Receiver : public QObject 0020 { 0021 Q_OBJECT 0022 public: 0023 Receiver(QObject *parent) 0024 : QObject(parent) 0025 { 0026 } 0027 ~Receiver() override 0028 { 0029 } 0030 0031 public Q_SLOTS: 0032 void showWhatsThis(const QString &text) 0033 { 0034 QWhatsThis::showText(QCursor::pos(), text); 0035 } 0036 }; 0037 0038 int main(int argc, char *argv[]) 0039 { 0040 QApplication app(argc, argv); 0041 app.setAttribute(Qt::AA_UseHighDpiPixmaps, true); 0042 0043 QWidget *mainWindow = new QWidget(); 0044 0045 QVBoxLayout *l = new QVBoxLayout(mainWindow); 0046 0047 KMessageWidget *mw = new KMessageWidget(mainWindow); 0048 mw->setMessageType(KMessageWidget::Positive); 0049 mw->setWordWrap(true); 0050 mw->setText(QStringLiteral("Test KMessageWidget is properly sized when <a href=\"this is the contents\">word-wrap</a> is enabled by default.")); 0051 mw->setIcon(QIcon::fromTheme(QStringLiteral("kde"))); 0052 KMessageWidget *mw1 = new KMessageWidget(mainWindow); 0053 mw1->setMessageType(KMessageWidget::Positive); 0054 mw1->setWordWrap(true); 0055 mw1->setText(QStringLiteral("Test KMessageWidget icon alignemnt<br />with pre-wrapped<br />content<br />like<br />this.<br />Please test with word wrap enabled and disabled.")); 0056 mw1->setIcon(QIcon::fromTheme(QStringLiteral("kde"))); 0057 KMessageWidget *mw2 = new KMessageWidget(mainWindow); 0058 mw2->setWordWrap(true); 0059 mw2->setText(QStringLiteral("A KMessageWidget with an icon and two additional buttons")); 0060 mw2->setIcon(QIcon::fromTheme(QStringLiteral("kde"))); 0061 mw2->addAction(new QAction(QStringLiteral("Foo"), mw2)); 0062 mw2->addAction(new QAction(QStringLiteral("Bar"), mw2)); 0063 KMessageWidget *mw3 = new KMessageWidget(mainWindow); 0064 mw3->setMessageType(KMessageWidget::Warning); 0065 mw3->setWordWrap(true); 0066 mw3->setText(QStringLiteral("A KMessageWidget of Warning type.")); 0067 KMessageWidget *mw4 = new KMessageWidget(mainWindow); 0068 mw4->setMessageType(KMessageWidget::Error); 0069 mw4->setWordWrap(true); 0070 mw4->setText(QStringLiteral("A KMessageWidget of Error type.")); 0071 0072 // A frame to materialize the end of the KMessageWidget 0073 QFrame *frame = new QFrame(mainWindow); 0074 frame->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken); 0075 frame->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); 0076 0077 QCheckBox *wordWrapCb = new QCheckBox(QStringLiteral("wordWrap"), mainWindow); 0078 wordWrapCb->setChecked(true); 0079 QObject::connect(wordWrapCb, &QAbstractButton::toggled, mw, &KMessageWidget::setWordWrap); 0080 QObject::connect(wordWrapCb, &QAbstractButton::toggled, mw1, &KMessageWidget::setWordWrap); 0081 QObject::connect(wordWrapCb, &QAbstractButton::toggled, mw2, &KMessageWidget::setWordWrap); 0082 QObject::connect(wordWrapCb, &QAbstractButton::toggled, mw3, &KMessageWidget::setWordWrap); 0083 QObject::connect(wordWrapCb, &QAbstractButton::toggled, mw4, &KMessageWidget::setWordWrap); 0084 0085 QCheckBox *closeButtonCb = new QCheckBox(QStringLiteral("closeButton"), mainWindow); 0086 closeButtonCb->setChecked(true); 0087 QObject::connect(closeButtonCb, &QAbstractButton::toggled, mw, &KMessageWidget::setCloseButtonVisible); 0088 QObject::connect(closeButtonCb, &QAbstractButton::toggled, mw1, &KMessageWidget::setCloseButtonVisible); 0089 QObject::connect(closeButtonCb, &QAbstractButton::toggled, mw2, &KMessageWidget::setCloseButtonVisible); 0090 QObject::connect(closeButtonCb, &QAbstractButton::toggled, mw3, &KMessageWidget::setCloseButtonVisible); 0091 QObject::connect(closeButtonCb, &QAbstractButton::toggled, mw4, &KMessageWidget::setCloseButtonVisible); 0092 0093 l->addWidget(wordWrapCb); 0094 l->addWidget(closeButtonCb); 0095 l->addWidget(mw); 0096 l->addWidget(mw1); 0097 l->addWidget(mw2); 0098 l->addWidget(mw3); 0099 l->addWidget(mw4); 0100 l->addWidget(frame); 0101 0102 mainWindow->resize(400, 300); 0103 mainWindow->show(); 0104 0105 // demonstrate linkActivated 0106 Receiver *info = new Receiver(mw); 0107 QObject::connect(mw, &KMessageWidget::linkActivated, info, &Receiver::showWhatsThis); 0108 0109 return app.exec(); 0110 delete mainWindow; 0111 } 0112 0113 #include "kmessagewidgettest.moc" 0114 0115 // kate: replace-tabs on;