File indexing completed on 2024-04-28 03:59:17
0001 /* 0002 SPDX-FileCopyrightText: 2008 Pino Toscano <pino@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "kanimatedbuttontest.h" 0008 0009 #include "kanimatedbutton.h" 0010 0011 #include <QApplication> 0012 #include <QLineEdit> 0013 #include <QPushButton> 0014 #include <QSpinBox> 0015 #include <qlayout.h> 0016 0017 AnimationGroup::AnimationGroup(const QString &path, int size, QWidget *parent) 0018 : QGroupBox(parent) 0019 { 0020 QHBoxLayout *lay = new QHBoxLayout(this); 0021 m_animButton = new KAnimatedButton(this); 0022 lay->addWidget(m_animButton); 0023 QPushButton *start = new QPushButton(QStringLiteral("Start"), this); 0024 lay->addWidget(start); 0025 QPushButton *stop = new QPushButton(QStringLiteral("Stop"), this); 0026 lay->addWidget(stop); 0027 0028 setTitle(QStringLiteral("%1 (%2)").arg(path).arg(size)); 0029 m_animButton->setIconSize(QSize(size, size)); 0030 m_animButton->setAnimationPath(path); 0031 0032 connect(start, &QAbstractButton::clicked, m_animButton, &KAnimatedButton::start); 0033 connect(stop, &QAbstractButton::clicked, m_animButton, &KAnimatedButton::stop); 0034 } 0035 0036 MainWindow::MainWindow(QWidget *parent) 0037 : QWidget(parent) 0038 { 0039 QVBoxLayout *lay = new QVBoxLayout(this); 0040 0041 QWidget *top = new QWidget(this); 0042 lay->addWidget(top); 0043 QHBoxLayout *lay2 = new QHBoxLayout(top); 0044 m_path = new QLineEdit(top); 0045 lay2->addWidget(m_path); 0046 m_size = new QSpinBox(top); 0047 lay2->addWidget(m_size); 0048 0049 m_size->setValue(22); 0050 0051 connect(m_path, &QLineEdit::returnPressed, this, &MainWindow::slotAddNew); 0052 } 0053 0054 void MainWindow::slotAddNew() 0055 { 0056 AnimationGroup *group = new AnimationGroup(m_path->text(), m_size->value(), this); 0057 layout()->addWidget(group); 0058 } 0059 0060 int main(int argc, char **argv) 0061 { 0062 QApplication::setApplicationName(QStringLiteral("kanimatedbuttontest")); 0063 QApplication app(argc, argv); 0064 0065 MainWindow *window = new MainWindow(); 0066 window->show(); 0067 0068 return app.exec(); 0069 } 0070 0071 #include "moc_kanimatedbuttontest.cpp"