File indexing completed on 2024-05-19 05:35:23
0001 ////////////////////////////////////////////////////////////////////////////// 0002 // oxygenframedemowidget.cpp 0003 // oxygen frames demo widget 0004 // ------------------- 0005 // 0006 // SPDX-FileCopyrightText: 2010 Hugo Pereira Da Costa <hugo.pereira@free.fr> 0007 // 0008 // SPDX-License-Identifier: MIT 0009 ////////////////////////////////////////////////////////////////////////////// 0010 0011 #include "oxygenframedemowidget.h" 0012 #include "config-liboxygen.h" 0013 0014 #include <QButtonGroup> 0015 0016 #include <KComboBox> 0017 #include <KMessageWidget> 0018 #include <kwidgetsaddons_version.h> 0019 0020 namespace Oxygen 0021 { 0022 //_____________________________________________________________ 0023 FrameDemoWidget::FrameDemoWidget(QWidget *parent) 0024 : DemoWidget(parent) 0025 , posMsg(nullptr) 0026 , infoMsg(nullptr) 0027 , warnMsg(nullptr) 0028 , errMsg(nullptr) 0029 { 0030 ui.setupUi(this); 0031 QButtonGroup *group = new QButtonGroup(this); 0032 group->addButton(ui.raisedFrameRadioButton); 0033 group->addButton(ui.plainFrameRadioButton); 0034 group->addButton(ui.sunkenFrameRadioButton); 0035 0036 connect(ui.raisedFrameRadioButton, SIGNAL(toggled(bool)), SLOT(toggleRaisedFrame(bool))); 0037 connect(ui.plainFrameRadioButton, SIGNAL(toggled(bool)), SLOT(togglePlainFrame(bool))); 0038 connect(ui.sunkenFrameRadioButton, SIGNAL(toggled(bool)), SLOT(toggleSunkenFrame(bool))); 0039 0040 connect(ui.directionComboBox, SIGNAL(currentIndexChanged(int)), SLOT(updateLayoutDirection(int))); 0041 connect(ui.flatGroupBoxCheckBox, SIGNAL(toggled(bool)), SLOT(toggleFlatGroupBox(bool))); 0042 0043 addMessages(); 0044 } 0045 0046 void FrameDemoWidget::addMessages() 0047 { 0048 delete posMsg; 0049 delete infoMsg; 0050 delete warnMsg; 0051 delete errMsg; 0052 0053 posMsg = new KMessageWidget(QStringLiteral("A positive message"), ui.msgFrame); 0054 posMsg->setMessageType(KMessageWidget::Positive); 0055 posMsg->setWordWrap(true); 0056 posMsg->setIcon(QIcon::fromTheme(QStringLiteral("dialog-positive"))); 0057 ui.verticalLayout_5->addWidget(posMsg); 0058 0059 infoMsg = new KMessageWidget(QStringLiteral("An information message"), ui.msgFrame); 0060 infoMsg->setMessageType(KMessageWidget::Information); 0061 infoMsg->setWordWrap(true); 0062 infoMsg->setIcon(QIcon::fromTheme(QStringLiteral("dialog-information"))); 0063 ui.verticalLayout_5->addWidget(infoMsg); 0064 0065 warnMsg = new KMessageWidget(QStringLiteral("A warning message"), ui.msgFrame); 0066 warnMsg->setMessageType(KMessageWidget::Warning); 0067 warnMsg->setWordWrap(true); 0068 warnMsg->setIcon(QIcon::fromTheme(QStringLiteral("dialog-warning"))); 0069 ui.verticalLayout_5->addWidget(warnMsg); 0070 0071 errMsg = new KMessageWidget(QStringLiteral("An error message"), ui.msgFrame); 0072 errMsg->setMessageType(KMessageWidget::Error); 0073 errMsg->setWordWrap(true); 0074 errMsg->setIcon(QIcon::fromTheme(QStringLiteral("dialog-error"))); 0075 ui.verticalLayout_5->addWidget(errMsg); 0076 0077 ui.verticalLayout_5->addStretch(); 0078 } 0079 0080 bool FrameDemoWidget::eventFilter(QObject *obj, QEvent *event) 0081 { 0082 Q_UNUSED(obj); 0083 Q_UNUSED(event); 0084 return false; 0085 } 0086 0087 //_____________________________________________________________ 0088 void FrameDemoWidget::updateLayoutDirection(int value) 0089 { 0090 QBoxLayout::Direction direction; 0091 switch (value) { 0092 default: 0093 case 0: 0094 direction = QBoxLayout::LeftToRight; 0095 break; 0096 case 1: 0097 direction = QBoxLayout::RightToLeft; 0098 break; 0099 case 2: 0100 direction = QBoxLayout::TopToBottom; 0101 break; 0102 case 3: 0103 direction = QBoxLayout::BottomToTop; 0104 break; 0105 } 0106 0107 if (direction != ui.frameLayout->direction()) { 0108 ui.frameLayout->setDirection(direction); 0109 ui.frameLayout->update(); 0110 } 0111 } 0112 0113 //_____________________________________________________________ 0114 void FrameDemoWidget::benchmark(void) 0115 { 0116 if (!isVisible()) 0117 return; 0118 0119 if (true) { 0120 simulator().selectComboBoxItem(ui.directionComboBox, 1); 0121 simulator().selectComboBoxItem(ui.directionComboBox, 2); 0122 simulator().selectComboBoxItem(ui.directionComboBox, 3); 0123 simulator().selectComboBoxItem(ui.directionComboBox, 0); 0124 } 0125 0126 if (true) { 0127 simulator().click(ui.flatGroupBoxCheckBox); 0128 simulator().click(ui.flatGroupBoxCheckBox); 0129 } 0130 0131 if (true) { 0132 simulator().click(ui.plainFrameRadioButton); 0133 simulator().click(ui.sunkenFrameRadioButton); 0134 simulator().click(ui.raisedFrameRadioButton); 0135 } 0136 0137 simulator().run(); 0138 } 0139 }