Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef SETTINGWIDGET_H
- #define SETTINGWIDGET_H
- #include <QWidget>
- #include <QLabel>
- #include <QCheckBox>
- #include <QSpinBox>
- #include <QScrollArea>
- #include <QStringList>
- #include <QLineEdit>
- #include <QPlainTextEdit>
- #include <QSettings>
- #include <QGridLayout>
- #include <qdebug.h>
- #include <QComboBox>
- #include <QPushButton>
- class ledSetting : public QWidget{
- Q_OBJECT
- public:
- int id;
- QCheckBox *dimable;
- QLineEdit *name;
- explicit ledSetting(int id,QWidget *parent=0):QWidget(parent){
- QSettings settings("energiewandler", "settingwidget");
- dimable = new QCheckBox("Dim");
- dimable->setChecked(settings.value("settingsLed"+QString::number(id)+"Dimmable",QVariant(true)).toBool());
- name=new QLineEdit();
- name->setText(settings.value("LED"+QString::number(id)+"Label",QVariant("LED"+QString::number(id))).toString());
- name->setPlaceholderText("Put a name for your led inside...");
- QGridLayout *innerLayout = new QGridLayout();
- innerLayout->addWidget(name,0,0);
- innerLayout->addWidget(dimable,0,1);
- this->setLayout(innerLayout);
- //appSettings.setValue("settingsLed2Dimmable",ui->settingsDimmableLED2->isChecked());
- //onSettingsLedDim(appSettings.value("dimmableLedCount",2).toInt());
- connect(dimable,SIGNAL(clicked(bool)),this,SLOT(onDim()));
- connect(name,SIGNAL(textChanged(QString)),this,SLOT(onName()));
- }
- public slots:
- void onDim(){
- QSettings settings("energiewandler", "settingwidget");
- settings.setValue("settingsLed"+QString::number(id)+"Dimmable",dimable->isChecked());
- }
- void onName(){
- QSettings settings("energiewandler", "settingwidget");
- settings.setValue("LED"+QString::number(id)+"Label",name->text());
- }
- };
- class settingWidget : public QWidget
- {
- Q_OBJECT
- private slots:
- void onTerminalCompleter();
- void onNrOfLeds22();
- public:
- explicit settingWidget(QWidget *parent = 0);
- QSpinBox *nrOfLeds;
- ledSetting *led1;
- ledSetting *led2;
- ledSetting *led3;
- QPlainTextEdit *terminalCompleter;
- QComboBox *interfaces,*devices;
- QPushButton *refresh,*connect;
- };
- #endif // SETTINGWIDGET_H
- /*
- ******************************************
- settingwidget.cpp
- ******************************************
- */
- #include "settingwidget.h"
- settingWidget::settingWidget(QWidget *parent) : QWidget(parent) {
- QSettings settings("energiewandler", "settingwidget");
- nrOfLeds = new QSpinBox();
- nrOfLeds->setValue(settings.value("dimmableLedCount", QVariant(2)).toInt());
- QGridLayout *innerLayout = new QGridLayout();
- innerLayout->addWidget(new QLabel("Nr of leds: "), 0, 0);
- innerLayout->addWidget(nrOfLeds, 0, 1);
- int nextNr = 1;
- if (nrOfLeds->value() > 0) {
- led1 = new ledSetting(1);
- innerLayout->addWidget(led1, 1, 0);
- nextNr++;
- }
- if (nrOfLeds->value() > 1) {
- led2 = new ledSetting(2);
- innerLayout->addWidget(led2, 2, 0);
- nextNr++;
- }
- if (nrOfLeds->value() > 2) {
- led3 = new ledSetting(3);
- innerLayout->addWidget(led3, 3, 0);
- nextNr++;
- }
- terminalCompleter = new QPlainTextEdit(parent);
- terminalCompleter->setPlaceholderText("Place your completments for the "
- "terminal in a list here. Every line "
- "is a completment.");
- QString line;
- QSettings tSettings("energiewandler", "terminalwidget");
- foreach (line, tSettings.value("terminalCompleter").toStringList()) {
- terminalCompleter->appendPlainText(line);
- }
- innerLayout->addWidget(new QLabel("Terminal-Completer"), nextNr, 0);
- innerLayout->addWidget(terminalCompleter, nextNr + 1, 0);
- // connect(terminalCompleter,SIGNAL(textChanged()),this,SLOT(onTerminalCompleter()));
- QScrollArea *scroll = new QScrollArea();
- scroll->setLayout(innerLayout);
- connect(terminalCompleter, SIGNAL(textChanged()), this, SLOT(onNrOfLeds22()));
- connect(this->nrOfLeds, SIGNAL(valueChanged(int)), this,
- SLOT(onNrOfLeds22()));
- QGridLayout *outerLayout = new QGridLayout();
- outerLayout->addWidget(scroll, 0, 0);
- this->setLayout(outerLayout);
- }
- void settingWidget::onNrOfLeds22() {
- QSettings settings("energiewandler", "settingwidget");
- settings.setValue("dimmableLedCount", nrOfLeds->value());
- }
- void settingWidget::onTerminalCompleter() {
- QSettings settings("energiewandler", "terminalwidget");
- settings.setValue("terminalCompleter",
- terminalCompleter->toPlainText().split("\n"));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement