[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [plasma-workspace] applets/systemtray: Restore system tray SNI manual test
From:       David Edmundson <kde () davidedmundson ! co ! uk>
Date:       2016-11-22 10:31:10
Message-ID: E1c98M2-0005Au-V7 () code ! kde ! org
[Download RAW message or body]

Git commit c3b013fec4d273fa4f9292a9139d2013fa03590a by David Edmundson.
Committed on 22/11/2016 at 10:30.
Pushed by davidedmundson into branch 'master'.

Restore system tray SNI manual test

Summary:
In the change to the new system tray one of the old manual tests to run
SNIs got lost. This restores the version that was in Plasma 5.5.

Test Plan: Ran test. SNI appeared

Reviewers: #plasma, mart

Reviewed By: mart

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D3421

M  +1    -0    applets/systemtray/CMakeLists.txt
A  +1    -0    applets/systemtray/tests/CMakeLists.txt
A  +22   -0    applets/systemtray/tests/statusnotifier/CMakeLists.txt
A  +46   -0    applets/systemtray/tests/statusnotifier/main.cpp     [License: GPL \
(v2+)] A  +138  -0    applets/systemtray/tests/statusnotifier/pumpjob.cpp     \
[License: LGPL (v2+)] A  +56   -0    \
applets/systemtray/tests/statusnotifier/pumpjob.h     [License: LGPL (v2+)] A  +266  \
-0    applets/systemtray/tests/statusnotifier/statusnotifiertest.cpp     [License: \
LGPL (v2+)] A  +63   -0    \
applets/systemtray/tests/statusnotifier/statusnotifiertest.h     [License: LGPL \
(v2+)] A  +223  -0    applets/systemtray/tests/statusnotifier/statusnotifiertest.ui

http://commits.kde.org/plasma-workspace/c3b013fec4d273fa4f9292a9139d2013fa03590a

diff --git a/applets/systemtray/CMakeLists.txt b/applets/systemtray/CMakeLists.txt
index f1a30f6..243d02f 100644
--- a/applets/systemtray/CMakeLists.txt
+++ b/applets/systemtray/CMakeLists.txt
@@ -27,3 +27,4 @@ target_link_libraries(org.kde.plasma.private.systemtray
 install(TARGETS org.kde.plasma.private.systemtray DESTINATION \
${KDE_INSTALL_PLUGINDIR}/plasma/applets)  
 add_subdirectory(container)
+add_subdirectory(tests)
diff --git a/applets/systemtray/tests/CMakeLists.txt \
b/applets/systemtray/tests/CMakeLists.txt new file mode 100644
index 0000000..e7e87bc
--- /dev/null
+++ b/applets/systemtray/tests/CMakeLists.txt
@@ -0,0 +1 @@
+add_subdirectory(statusnotifier)
diff --git a/applets/systemtray/tests/statusnotifier/CMakeLists.txt \
b/applets/systemtray/tests/statusnotifier/CMakeLists.txt new file mode 100644
index 0000000..add52d2
--- /dev/null
+++ b/applets/systemtray/tests/statusnotifier/CMakeLists.txt
@@ -0,0 +1,22 @@
+set(statusnotifiertest_SRCS
+    main.cpp
+    statusnotifiertest.cpp
+    pumpjob.cpp
+)
+
+ki18n_wrap_ui(statusnotifiertest_SRCS statusnotifiertest.ui)
+
+add_executable(statusnotifiertest ${statusnotifiertest_SRCS})
+
+target_link_libraries(statusnotifiertest
+    Qt5::Widgets
+    Qt5::Core
+    KF5::CoreAddons
+    KF5::KIOCore
+    KF5::Service
+    KF5::Notifications
+    KF5::I18n
+)
+
+include(ECMMarkAsTest)
+ecm_mark_as_test(statusnotifiertest)
diff --git a/applets/systemtray/tests/statusnotifier/main.cpp \
b/applets/systemtray/tests/statusnotifier/main.cpp new file mode 100644
index 0000000..dd045c3
--- /dev/null
+++ b/applets/systemtray/tests/statusnotifier/main.cpp
@@ -0,0 +1,46 @@
+/*
+ *   Copyright 2013 Sebastian Kügler <sebas@kde.org>
+ *
+ *   This program is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as
+ *   published by the Free Software Foundation; either version 2,
+ *   or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details
+ *
+ *   You should have received a copy of the GNU Library General Public
+ *   License along with this program; if not, write to the
+ *   Free Software Foundation, Inc.,
+ *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+#include <qcommandlineparser.h>
+#include <qcommandlineoption.h>
+
+#include <QApplication>
+#include <QDebug>
+
+#include "statusnotifiertest.h"
+
+int main(int argc, char **argv)
+{
+    QApplication app(argc, argv);
+    QCommandLineParser parser;
+
+    const QString description = QStringLiteral("Statusnotifier test app");
+    const char version[] = "1.0";
+
+    app.setApplicationVersion(version);
+    parser.addVersionOption();
+    parser.addHelpOption();
+    parser.setApplicationDescription(description);
+
+    StatusNotifierTest test;
+    int ex = test.runMain();
+    app.exec();
+    return ex;
+}
+
diff --git a/applets/systemtray/tests/statusnotifier/pumpjob.cpp \
b/applets/systemtray/tests/statusnotifier/pumpjob.cpp new file mode 100644
index 0000000..7587372
--- /dev/null
+++ b/applets/systemtray/tests/statusnotifier/pumpjob.cpp
@@ -0,0 +1,138 @@
+/******************************************************************************
+*   Copyright 2013 Sebastian Kügler <sebas@kde.org>                           *
+*                                                                             *
+*   This library is free software; you can redistribute it and/or             *
+*   modify it under the terms of the GNU Library General Public               *
+*   License as published by the Free Software Foundation; either              *
+*   version 2 of the License, or (at your option) any later version.          *
+*                                                                             *
+*   This library is distributed in the hope that it will be useful,           *
+*   but WITHOUT ANY WARRANTY; without even the implied warranty of            *
+*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU          *
+*   Library General Public License for more details.                          *
+*                                                                             *
+*   You should have received a copy of the GNU Library General Public License *
+*   along with this library; see the file COPYING.LIB.  If not, write to      *
+*   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,      *
+*   Boston, MA 02110-1301, USA.                                               *
+*******************************************************************************/
+
+#include "pumpjob.h"
+
+#include <QDebug>
+
+#include <KJobTrackerInterface>
+#include <KLocalizedString>
+#include <QStringList>
+#include <QTimer>
+
+static QTextStream cout(stdout);
+
+class PumpJobPrivate {
+public:
+    QString name;
+    QString error;
+
+    QTimer* timer;
+    int interval = 200;
+
+    int counter = 0;
+
+    bool suspended = false;
+};
+
+PumpJob::PumpJob(int interval) :
+    KIO::Job()
+{
+    d = new PumpJobPrivate;
+
+    if (interval) {
+        d->interval = d->interval * interval;
+    }
+    KIO::getJobTracker()->registerJob(this);
+
+    d->timer = new QTimer(this);
+    d->timer->setInterval(d->interval);
+    qDebug() << "Starting job with interval: " << d->interval;
+
+    connect(d->timer, &QTimer::timeout, this, &PumpJob::timeout);
+
+    init();
+}
+
+void PumpJob::init()
+{
+    emit description(this, i18n("Pump Job"),
+                     qMakePair(i18n("Source"), QStringLiteral("this is the \
source")), +                     qMakePair(i18n("Destination"), \
QStringLiteral("destination, baby"))); +    d->timer->start();
+
+}
+
+PumpJob::~PumpJob()
+{
+    KIO::getJobTracker()->unregisterJob(this);
+    qDebug() << "Bye bye";
+    delete d;
+}
+
+void PumpJob::start()
+{
+    qDebug() << "Starting job / timer";
+    d->timer->start();
+}
+
+bool PumpJob::doKill()
+{
+    qDebug() << "kill";
+    emitResult();
+    d->timer->stop();
+    setError(KIO::ERR_USER_CANCELED);
+    setErrorText(QStringLiteral("You killed the job."));
+    return KJob::doKill();
+}
+
+bool PumpJob::doResume()
+{
+    d->suspended = false;
+    qDebug() << "resume";
+    d->timer->start();
+    emit resumed(this);
+    return KJob::doResume();
+}
+
+bool PumpJob::isSuspended() const
+{
+    return d->suspended;
+}
+
+bool PumpJob::doSuspend()
+{
+    d->suspended = true;
+    qDebug() << "suspend";
+    d->timer->stop();
+    emit suspended(this);
+    return KJob::doSuspend();
+}
+
+void PumpJob::timeout()
+{
+    d->counter++;
+    setPercent(d->counter);
+    emitSpeed(1024 * 1024 * d->counter / 70); // just something randomly changing
+    int seconds = (int)((d->interval * 100) - (d->interval * percent())) / 1000;
+    emit infoMessage(this, i18n("Testing kuiserver (%1 seconds remaining)", \
seconds), i18n("Testing kuiserver (%1 seconds remaining)", seconds)); +
+    qDebug() << "percent: " << percent() << "  Seconds: " << seconds;
+    if (d->counter % 20 == 0) {
+        //qDebug() << "percent: " << percent() << "  Seconds: " << seconds;
+    }
+
+    if (d->counter >= 100) {
+        qDebug() << "Job done";
+        emitResult();
+    }
+}
+
+#include "moc_pumpjob.cpp"
+
diff --git a/applets/systemtray/tests/statusnotifier/pumpjob.h \
b/applets/systemtray/tests/statusnotifier/pumpjob.h new file mode 100644
index 0000000..cc98536
--- /dev/null
+++ b/applets/systemtray/tests/statusnotifier/pumpjob.h
@@ -0,0 +1,56 @@
+/******************************************************************************
+*   Copyright 2013 Sebastian Kügler <sebas@kde.org>                           *
+*                                                                             *
+*   This library is free software; you can redistribute it and/or             *
+*   modify it under the terms of the GNU Library General Public               *
+*   License as published by the Free Software Foundation; either              *
+*   version 2 of the License, or (at your option) any later version.          *
+*                                                                             *
+*   This library is distributed in the hope that it will be useful,           *
+*   but WITHOUT ANY WARRANTY; without even the implied warranty of            *
+*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU          *
+*   Library General Public License for more details.                          *
+*                                                                             *
+*   You should have received a copy of the GNU Library General Public License *
+*   along with this library; see the file COPYING.LIB.  If not, write to      *
+*   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,      *
+*   Boston, MA 02110-1301, USA.                                               *
+*******************************************************************************/
+
+#ifndef PUMPJOB_H
+#define PUMPJOB_H
+
+#include <KJob>
+
+#include <KIO/Job>
+
+class PumpJobPrivate;
+
+class PumpJob : public KIO::Job
+{
+    Q_OBJECT
+
+    public:
+        PumpJob(int interval = 0);
+        virtual ~PumpJob();
+
+        virtual void start();
+        virtual bool doKill();
+        virtual bool doSuspend();
+        virtual bool doResume();
+
+        virtual bool isSuspended() const;
+
+        void init();
+    Q_SIGNALS:
+        void suspended(KJob *job);
+        void resumed(KJob *job);
+
+public Q_SLOTS:
+        void timeout();
+
+    private:
+        PumpJobPrivate* d;
+};
+
+#endif
diff --git a/applets/systemtray/tests/statusnotifier/statusnotifiertest.cpp \
b/applets/systemtray/tests/statusnotifier/statusnotifiertest.cpp new file mode 100644
index 0000000..6fa7bab
--- /dev/null
+++ b/applets/systemtray/tests/statusnotifier/statusnotifiertest.cpp
@@ -0,0 +1,266 @@
+/******************************************************************************
+*   Copyright 2013 Sebastian Kügler <sebas@kde.org>                           *
+*                                                                             *
+*   This library is free software; you can redistribute it and/or             *
+*   modify it under the terms of the GNU Library General Public               *
+*   License as published by the Free Software Foundation; either              *
+*   version 2 of the License, or (at your option) any later version.          *
+*                                                                             *
+*   This library is distributed in the hope that it will be useful,           *
+*   but WITHOUT ANY WARRANTY; without even the implied warranty of            *
+*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU          *
+*   Library General Public License for more details.                          *
+*                                                                             *
+*   You should have received a copy of the GNU Library General Public License *
+*   along with this library; see the file COPYING.LIB.  If not, write to      *
+*   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,      *
+*   Boston, MA 02110-1301, USA.                                               *
+*******************************************************************************/
+
+#include "statusnotifiertest.h"
+#include "pumpjob.h"
+
+#include <QDebug>
+#include <kservice.h>
+#include <kplugininfo.h>
+#include <kplugintrader.h>
+
+#include <qcommandlineparser.h>
+
+#include <KLocalizedString>
+#include <KStatusNotifierItem>
+
+#include <QStringList>
+#include <QTimer>
+
+#include <QPushButton>
+#include <QMenu>
+
+
+static QTextStream cout(stdout);
+
+class StatusNotifierTestPrivate {
+public:
+    QString pluginName;
+    QTimer* timer;
+    int interval = 1500;
+    QStringList loglines;
+
+    KStatusNotifierItem* systemNotifier;
+    PumpJob *job;
+
+};
+
+StatusNotifierTest::StatusNotifierTest(QWidget* parent) :
+    QDialog(parent)
+{
+    d = new StatusNotifierTestPrivate;
+    d->job = 0;
+
+    init();
+
+    setupUi(this);
+    connect(updateButton, &QPushButton::clicked, this, \
&StatusNotifierTest::updateNotifier); +    connect(jobEnabledCheck, \
&QCheckBox::toggled, this, &StatusNotifierTest::enableJob); +    updateUi();
+    show();
+    raise();
+    log(QStringLiteral("started"));
+}
+
+void StatusNotifierTest::init()
+{
+    d->systemNotifier = new KStatusNotifierItem(this);
+    //d->systemNotifier->setCategory(KStatusNotifierItem::SystemServices);
+    //d->systemNotifier->setCategory(KStatusNotifierItem::Hardware);
+    d->systemNotifier->setCategory(KStatusNotifierItem::Communications);
+    d->systemNotifier->setIconByName(QStringLiteral("plasma"));
+    d->systemNotifier->setStatus(KStatusNotifierItem::Active);
+    d->systemNotifier->setToolTipTitle(i18nc("tooltip title", "System Service \
Item")); +    d->systemNotifier->setTitle(i18nc("title", "StatusNotifierTest"));
+    d->systemNotifier->setToolTipSubTitle(i18nc("tooltip subtitle", "Some \
explanation from the beach.")); +
+    connect(d->systemNotifier, &KStatusNotifierItem::activateRequested,
+            this, &StatusNotifierTest::activateRequested);
+    connect(d->systemNotifier, &KStatusNotifierItem::secondaryActivateRequested,
+            this, &StatusNotifierTest::secondaryActivateRequested);
+    connect(d->systemNotifier, &KStatusNotifierItem::scrollRequested,
+            this, &StatusNotifierTest::scrollRequested);
+
+    auto menu = new QMenu(this);
+    menu->addAction(QIcon::fromTheme(QStringLiteral("document-edit")), \
QStringLiteral("action 1")); +    \
menu->addAction(QIcon::fromTheme(QStringLiteral("mail-send")), QStringLiteral("action \
2")); +    auto subMenu = new QMenu(this);
+    subMenu->setTitle(QStringLiteral("Sub Menu"));
+    subMenu->addAction(QStringLiteral("subaction1"));
+    subMenu->addAction(QStringLiteral("subaction2"));
+    menu->addMenu(subMenu);
+
+    d->systemNotifier->setContextMenu(menu);
+}
+
+StatusNotifierTest::~StatusNotifierTest()
+{
+    delete d;
+}
+
+void StatusNotifierTest::log(const QString& msg)
+{
+    qDebug() << "msg: " << msg;
+    d->loglines.prepend(msg);
+
+
+    logEdit->setText(d->loglines.join('\n'));
+}
+
+void StatusNotifierTest::updateUi()
+{
+    if (!d->systemNotifier) {
+        return;
+    }
+    statusActive->setChecked(d->systemNotifier->status() == \
KStatusNotifierItem::Active); +    \
statusPassive->setChecked(d->systemNotifier->status() == \
KStatusNotifierItem::Passive); +    \
statusNeedsAttention->setChecked(d->systemNotifier->status() == \
KStatusNotifierItem::NeedsAttention); +
+    statusActive->setEnabled(!statusAuto->isChecked());
+    statusPassive->setEnabled(!statusAuto->isChecked());
+    statusNeedsAttention->setEnabled(!statusAuto->isChecked());
+
+    iconName->setText(d->systemNotifier->iconName());
+    tooltipText->setText(d->systemNotifier->toolTipTitle());
+    tooltipSubtext->setText(d->systemNotifier->toolTipSubTitle());
+
+}
+
+void StatusNotifierTest::updateNotifier()
+{
+    //log("update");
+    if (!enabledCheck->isChecked()) {
+        delete d->systemNotifier;
+        d->systemNotifier = 0;
+        return;
+    } else {
+        if (!d->systemNotifier) {
+            init();
+        }
+    }
+
+
+    if (!d->systemNotifier) {
+        return;
+    }
+    if (statusAuto->isChecked()) {
+        d->timer->start();
+    } else {
+        d->timer->stop();
+    }
+
+    KStatusNotifierItem::ItemStatus s = KStatusNotifierItem::Passive;
+    if (statusActive->isChecked()) {
+        s = KStatusNotifierItem::Active;
+    } else if (statusNeedsAttention->isChecked()) {
+        s = KStatusNotifierItem::NeedsAttention;
+    }
+    d->systemNotifier->setStatus(s);
+
+    d->systemNotifier->setIconByName(iconName->text());
+
+    d->systemNotifier->setToolTip(iconName->text(), tooltipText->text(), \
tooltipSubtext->text()); +
+    updateUi();
+}
+
+
+
+int StatusNotifierTest::runMain()
+{
+    d->timer = new QTimer(this);
+    connect(d->timer, &QTimer::timeout, this, &StatusNotifierTest::timeout);
+    d->timer->setInterval(d->interval);
+    //d->timer->start();
+    return 0;
+}
+
+void StatusNotifierTest::timeout()
+{
+    if (!d->systemNotifier) {
+        return;
+    }
+
+    if (d->systemNotifier->status() == KStatusNotifierItem::Passive) {
+        d->systemNotifier->setStatus(KStatusNotifierItem::Active);
+        qDebug() << " Now Active";
+    } else if (d->systemNotifier->status() == KStatusNotifierItem::Active) {
+        d->systemNotifier->setStatus(KStatusNotifierItem::NeedsAttention);
+        qDebug() << " Now NeedsAttention";
+    } else if (d->systemNotifier->status() == KStatusNotifierItem::NeedsAttention) {
+        d->systemNotifier->setStatus(KStatusNotifierItem::Passive);
+        qDebug() << " Now passive";
+    }
+    updateUi();
+}
+
+void StatusNotifierTest::activateRequested(bool active, const QPoint& pos)
+{
+    Q_UNUSED(active);
+    Q_UNUSED(pos);
+    log(QStringLiteral("Activated"));
+}
+
+void StatusNotifierTest::secondaryActivateRequested(const QPoint& pos)
+{
+    Q_UNUSED(pos);
+    log(QStringLiteral("secondaryActivateRequested"));
+}
+
+
+void StatusNotifierTest::scrollRequested(int delta, Qt::Orientation orientation)
+{
+    ///QString msg  = QString("Scrolled " << " by: ");
+    //+     //QString msg  = QString("Scrolled " + ((orientation == Qt::Horizontal) \
? "Horizontally" : "Vertically") + " by: " //+ QString::number(delta)); +    QString \
msg(QStringLiteral("Scrolled by ")); +    msg.append(QString::number(delta));
+    msg.append((orientation == Qt::Horizontal) ? " Horizontally" : " Vertically");
+    log(msg);
+}
+
+
+// Jobs
+
+void StatusNotifierTest::enableJob(bool enable)
+{
+    qDebug() << "Job enabled." << enable;
+    if (enable) {
+        d->job = new PumpJob(speedSlider->value());
+        //QObject::connect(d->job, &KJob::percent, this, \
&StatusNotifierTest::setJobProgress); +        QObject::connect(d->job, \
SIGNAL(percent(KJob*, unsigned long)), this, SLOT(setJobProgress(KJob*, unsigned \
long))); +        QObject::connect(d->job, &KJob::result, this, \
&StatusNotifierTest::result); +        //d->job->start(); // KIO autostarts jobs
+    } else {
+        if (d->job) {
+            d->timer->stop();
+            jobEnabledCheck->setChecked(Qt::Unchecked);
+            d->job->kill();
+        }
+    }
+}
+
+void StatusNotifierTest::setJobProgress(KJob *j, unsigned long v)
+{
+    Q_UNUSED(j)
+    jobProgressBar->setValue(v);
+}
+
+void StatusNotifierTest::result(KJob* job)
+{
+    if (job->error()) {
+        qDebug() << "Job Error:" << job->errorText() << job->errorString();
+    } else {
+        qDebug() << "Job finished successfully.";
+    }
+    jobEnabledCheck->setCheckState(Qt::Unchecked);
+}
+
+
+#include "moc_statusnotifiertest.cpp"
+
diff --git a/applets/systemtray/tests/statusnotifier/statusnotifiertest.h \
b/applets/systemtray/tests/statusnotifier/statusnotifiertest.h new file mode 100644
index 0000000..1f2ce01
--- /dev/null
+++ b/applets/systemtray/tests/statusnotifier/statusnotifiertest.h
@@ -0,0 +1,63 @@
+/******************************************************************************
+*   Copyright 2013 Sebastian Kügler <sebas@kde.org>                           *
+*                                                                             *
+*   This library is free software; you can redistribute it and/or             *
+*   modify it under the terms of the GNU Library General Public               *
+*   License as published by the Free Software Foundation; either              *
+*   version 2 of the License, or (at your option) any later version.          *
+*                                                                             *
+*   This library is distributed in the hope that it will be useful,           *
+*   but WITHOUT ANY WARRANTY; without even the implied warranty of            *
+*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU          *
+*   Library General Public License for more details.                          *
+*                                                                             *
+*   You should have received a copy of the GNU Library General Public License *
+*   along with this library; see the file COPYING.LIB.  If not, write to      *
+*   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,      *
+*   Boston, MA 02110-1301, USA.                                               *
+*******************************************************************************/
+
+#ifndef STATUSNOTIFIERTEST_H
+#define STATUSNOTIFIERTEST_H
+
+#include <QDialog>
+#include <QObject>
+#include <QWidget>
+
+#include <KJob>
+
+#include "ui_statusnotifiertest.h"
+
+class StatusNotifierTestPrivate;
+
+class StatusNotifierTest : public QDialog, public Ui_StatusNotifierTest
+{
+    Q_OBJECT
+
+    public:
+        StatusNotifierTest(QWidget* parent = 0);
+        virtual ~StatusNotifierTest();
+
+        void init();
+        void log(const QString &msg);
+
+    public Q_SLOTS:
+        int runMain();
+        void timeout();
+        void updateUi();
+        void updateNotifier();
+
+        void activateRequested (bool active, const QPoint &pos);
+        void scrollRequested (int delta, Qt::Orientation orientation);
+        void secondaryActivateRequested (const QPoint &pos);
+
+        void enableJob(bool enable = true);
+        void setJobProgress(KJob *j, unsigned long v);
+        void result(KJob *job);
+
+
+    private:
+        StatusNotifierTestPrivate* d;
+};
+
+#endif
diff --git a/applets/systemtray/tests/statusnotifier/statusnotifiertest.ui \
b/applets/systemtray/tests/statusnotifier/statusnotifiertest.ui new file mode 100644
index 0000000..758cf25
--- /dev/null
+++ b/applets/systemtray/tests/statusnotifier/statusnotifiertest.ui
@@ -0,0 +1,223 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>StatusNotifierTest</class>
+ <widget class="QDialog" name="StatusNotifierTest">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>434</width>
+    <height>572</height>
+   </rect>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>100</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Stat&amp;usNotifier Testap</string>
+  </property>
+  <property name="windowIcon">
+   <iconset theme="plasma">
+    <normaloff/>
+   </iconset>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout_2">
+   <item>
+    <widget class="QTabWidget" name="JobTab">
+     <property name="currentIndex">
+      <number>1</number>
+     </property>
+     <widget class="QWidget" name="tab">
+      <attribute name="title">
+       <string>Stat&amp;us Notifier</string>
+      </attribute>
+      <layout class="QFormLayout" name="formLayout">
+       <property name="verticalSpacing">
+        <number>0</number>
+       </property>
+       <item row="0" column="0">
+        <widget class="QLabel" name="label_4">
+         <property name="text">
+          <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span \
style=&quot; font-weight:600;&quot;&gt;Log&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
 +         </property>
+        </widget>
+       </item>
+       <item row="1" column="1">
+        <widget class="QTextEdit" name="logEdit">
+         <property name="minimumSize">
+          <size>
+           <width>0</width>
+           <height>120</height>
+          </size>
+         </property>
+         <property name="readOnly">
+          <bool>true</bool>
+         </property>
+        </widget>
+       </item>
+       <item row="2" column="0">
+        <widget class="QLabel" name="label">
+         <property name="text">
+          <string>&lt;b&gt;Status&lt;/b&gt;</string>
+         </property>
+        </widget>
+       </item>
+       <item row="3" column="1">
+        <widget class="QCheckBox" name="enabledCheck">
+         <property name="text">
+          <string>Enabled</string>
+         </property>
+         <property name="checked">
+          <bool>true</bool>
+         </property>
+        </widget>
+       </item>
+       <item row="4" column="1">
+        <widget class="QCheckBox" name="statusAuto">
+         <property name="text">
+          <string>Automatic</string>
+         </property>
+        </widget>
+       </item>
+       <item row="5" column="1">
+        <widget class="QRadioButton" name="statusPassive">
+         <property name="text">
+          <string>Passive</string>
+         </property>
+        </widget>
+       </item>
+       <item row="6" column="1">
+        <widget class="QRadioButton" name="statusActive">
+         <property name="text">
+          <string>Ac&amp;tive</string>
+         </property>
+        </widget>
+       </item>
+       <item row="7" column="1">
+        <widget class="QRadioButton" name="statusNeedsAttention">
+         <property name="text">
+          <string>&amp;NeedsAttention</string>
+         </property>
+        </widget>
+       </item>
+       <item row="8" column="0">
+        <widget class="QLabel" name="label_3">
+         <property name="text">
+          <string>&lt;b&gt;Icon&lt;/b&gt;</string>
+         </property>
+        </widget>
+       </item>
+       <item row="9" column="1">
+        <widget class="QLineEdit" name="iconName"/>
+       </item>
+       <item row="10" column="0">
+        <widget class="QLabel" name="label_2">
+         <property name="text">
+          <string>&lt;b&gt;ToolTip&lt;/b&gt;</string>
+         </property>
+        </widget>
+       </item>
+       <item row="11" column="1">
+        <widget class="QLineEdit" name="tooltipText"/>
+       </item>
+       <item row="12" column="1">
+        <widget class="QLineEdit" name="tooltipSubtext"/>
+       </item>
+       <item row="14" column="1">
+        <layout class="QHBoxLayout" name="horizontalLayout"/>
+       </item>
+       <item row="13" column="1">
+        <widget class="QPushButton" name="updateButton">
+         <property name="text">
+          <string>Update</string>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </widget>
+     <widget class="QWidget" name="tab_2">
+      <attribute name="title">
+       <string>&amp;Jobs</string>
+      </attribute>
+      <layout class="QFormLayout" name="formLayout_2">
+       <property name="verticalSpacing">
+        <number>0</number>
+       </property>
+       <item row="0" column="0">
+        <widget class="QLabel" name="label_5">
+         <property name="text">
+          <string>&lt;b&gt;Job Control&lt;/b&gt;</string>
+         </property>
+        </widget>
+       </item>
+       <item row="4" column="0">
+        <widget class="QLabel" name="label_6">
+         <property name="text">
+          <string>&lt;b&gt;Progress&lt;/b&gt;</string>
+         </property>
+        </widget>
+       </item>
+       <item row="6" column="1">
+        <widget class="QProgressBar" name="jobProgressBar">
+         <property name="value">
+          <number>0</number>
+         </property>
+        </widget>
+       </item>
+       <item row="7" column="0">
+        <widget class="QLabel" name="label_7">
+         <property name="text">
+          <string>&lt;b&gt;Naming&lt;/b&gt;</string>
+         </property>
+        </widget>
+       </item>
+       <item row="8" column="1">
+        <widget class="QLineEdit" name="nameText"/>
+       </item>
+       <item row="10" column="1">
+        <widget class="QLineEdit" name="subText"/>
+       </item>
+       <item row="2" column="1">
+        <widget class="QSlider" name="speedSlider">
+         <property name="minimum">
+          <number>1</number>
+         </property>
+         <property name="maximum">
+          <number>10</number>
+         </property>
+         <property name="pageStep">
+          <number>10</number>
+         </property>
+         <property name="value">
+          <number>5</number>
+         </property>
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="tickPosition">
+          <enum>QSlider::TicksBelow</enum>
+         </property>
+         <property name="tickInterval">
+          <number>1</number>
+         </property>
+        </widget>
+       </item>
+       <item row="1" column="1">
+        <widget class="QCheckBox" name="jobEnabledCheck">
+         <property name="text">
+          <string>Job Started</string>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic