Advance Wayland and KDE package bring-up
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -0,0 +1,149 @@
|
||||
|
||||
#include "kledtest.h"
|
||||
|
||||
#include "kled.h"
|
||||
#include <qapplication.h>
|
||||
|
||||
KLedTest::KLedTest(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
, LedWidth(16)
|
||||
, LedHeight(10)
|
||||
, Grid(3)
|
||||
, ledcolor(0)
|
||||
, ledlook(KLed::Flat)
|
||||
, kled_round(true) // Switch HERE between rectangle and circular leds
|
||||
{
|
||||
if (kled_round) {
|
||||
// KLed l(KLed::red, &qw); // create lamp
|
||||
// KLed l(KLed::blue, &qw); // create lamp
|
||||
l = new KLed(Qt::green, this); // create lamp
|
||||
// KLed l(KLed::yellow, &qw); // create lamp
|
||||
// KLed l(KLed::orange, &qw); // create lamp
|
||||
|
||||
l->resize(16, 30);
|
||||
// l.setLook(KLed::flat);
|
||||
l->setShape(KLed::Circular);
|
||||
// l->setShape(KLed::Rectangular);
|
||||
|
||||
// l->setLook(KLed::Flat);
|
||||
// l->setLook(KLed::Flat);
|
||||
// l->setLook(KLed::Flat);
|
||||
|
||||
l->move(5, 5);
|
||||
// ktmp tmpobj(l);
|
||||
|
||||
t_toggle.setSingleShot(false);
|
||||
t_toggle.start(1000);
|
||||
t_color.setSingleShot(false);
|
||||
t_color.start(3500);
|
||||
t_look.setSingleShot(false);
|
||||
t_look.start(3500);
|
||||
QObject::connect(&t_toggle, &QTimer::timeout, l, &KLed::toggle);
|
||||
QObject::connect(&t_color, &QTimer::timeout, this, &KLedTest::nextColor);
|
||||
QObject::connect(&t_look, &QTimer::timeout, this, &KLedTest::nextLook);
|
||||
l->show();
|
||||
resize(240, 140);
|
||||
} else {
|
||||
y = Grid;
|
||||
index = 0;
|
||||
for (int shape = 0; (int)shape < 2; shape = (KLed::Shape)(shape + 1)) {
|
||||
x = Grid;
|
||||
for (int look = 0; (int)look < 3; look = (KLed::Look)(look + 1)) {
|
||||
for (state = KLed::Off; (int)state < 2; state = (KLed::State)(state + 1)) {
|
||||
leds[index] = new KLed(Qt::yellow, state, (KLed::Look)(look + 1), (KLed::Shape)(shape + 1), this);
|
||||
leds[index]->setGeometry(x, y, LedWidth, LedHeight);
|
||||
++index;
|
||||
x += Grid + LedWidth;
|
||||
}
|
||||
}
|
||||
y += Grid + LedHeight;
|
||||
}
|
||||
setFixedSize(x + Grid, y + Grid);
|
||||
connect(&timer, &QTimer::timeout, this, &KLedTest::timeout);
|
||||
timer.start(500);
|
||||
}
|
||||
}
|
||||
|
||||
KLedTest::~KLedTest()
|
||||
{
|
||||
if (kled_round) {
|
||||
delete l;
|
||||
}
|
||||
}
|
||||
|
||||
void KLedTest::nextColor()
|
||||
{
|
||||
ledcolor++;
|
||||
ledcolor %= 4;
|
||||
|
||||
switch (ledcolor) {
|
||||
default:
|
||||
case 0:
|
||||
l->setColor(Qt::green);
|
||||
break;
|
||||
case 1:
|
||||
l->setColor(Qt::blue);
|
||||
break;
|
||||
case 2:
|
||||
l->setColor(Qt::red);
|
||||
break;
|
||||
case 3:
|
||||
l->setColor(Qt::yellow);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void KLedTest::nextLook()
|
||||
{
|
||||
int tmp;
|
||||
if (kled_round) {
|
||||
tmp = (static_cast<int>(ledlook) + 1) % 3;
|
||||
} else {
|
||||
tmp = (static_cast<int>(ledlook) + 1) % 3;
|
||||
}
|
||||
ledlook = static_cast<KLed::Look>(tmp);
|
||||
l->setLook(ledlook);
|
||||
// qDebug("painting look %i", ledlook);
|
||||
// l->repaint();
|
||||
}
|
||||
|
||||
void KLedTest::timeout()
|
||||
{
|
||||
const int NoOfLeds = sizeof(leds) / sizeof(leds[0]);
|
||||
int count;
|
||||
// -----
|
||||
for (count = 0; count < NoOfLeds; ++count) {
|
||||
if (leds[count]->state() == KLed::Off) {
|
||||
leds[count]->setState(KLed::On);
|
||||
} else {
|
||||
leds[count]->setState(KLed::Off);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*#include <stdio.h>*/
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
QApplication a(argc, argv);
|
||||
KLedTest widget;
|
||||
// -----
|
||||
/*
|
||||
if (argc>1) { // look out for round or circular led command
|
||||
if (strncmp(argv[1],"-c",2)) {
|
||||
// paint circular
|
||||
printf("painting circular led\n");
|
||||
widget.kled_round = true;
|
||||
}
|
||||
else if (strncmp(argv[1],"-r",2)) {
|
||||
// paint rectangle
|
||||
printf("painting rectangular led\n");
|
||||
widget.kled_round = false;
|
||||
}
|
||||
}
|
||||
*/
|
||||
widget.show();
|
||||
return a.exec(); // go
|
||||
}
|
||||
|
||||
#include "moc_kledtest.cpp"
|
||||
Reference in New Issue
Block a user