#include #include #include "SleepLib/profiles.h" #include "preferencesdialog.h" #include "ui_preferencesdialog.h" #include "SleepLib/machine_common.h" PreferencesDialog::PreferencesDialog(QWidget *parent) : QDialog(parent), ui(new Ui::PreferencesDialog) { ui->setupUi(this); if (pref.Exists("DaySplitTime")) { QTime t=pref["DaySplitTime"].toTime(); ui->timeEdit->setTime(t); } int val; if (pref.Exists("CombineCloserSessions")) { val=pref["CombineCloserSessions"].toInt(); ui->combineSlider->setValue(val); } else { ui->combineSlider->setValue(val=0); pref["CombineCloserSessions"]=val; } if (val>0) { ui->combineLCD->display(val); } else ui->combineLCD->display(tr("OFF")); if (pref.Exists("IgnoreShorterSessions")) { val=pref["IgnoreShorterSessions"].toInt(); ui->IgnoreSlider->setValue(val); } else { ui->IgnoreSlider->setValue(val=0); pref["IgnoreShorterSessions"]=val; } if (val>0) { ui->IgnoreLCD->display(val); } else ui->IgnoreLCD->display(tr("OFF")); bool b; if (pref.Exists("MemoryHog")) { b=pref["MemoryHog"].toBool(); } else { pref["MemoryHog"]=b=false; } ui->memoryHogCheckbox->setChecked(b); ui->eventTable->setColumnWidth(0,40); ui->eventTable->setColumnWidth(1,55); int row=0; QTableWidgetItem *item; QHash::iterator ci; for (ci=channel.begin();ci!=channel.end();ci++) { if ((ci.value().channeltype()==CT_Event) || (ci.value().channeltype()==CT_Graph)) { ui->eventTable->insertRow(row); item=new QTableWidgetItem(ci.value().details()); ui->eventTable->setItem(row,2,item); QCheckBox *c=new QCheckBox(ui->eventTable); c->setChecked(true); QLabel *pb=new QLabel(ui->eventTable); pb->setText("foo"); ui->eventTable->setCellWidget(row,0,c); ui->eventTable->setCellWidget(row,1,pb); QColor a(rand() % 255, rand() % 255, rand() % 255, 255); QPalette p(a,a,a,a,a,a,a); pb->setPalette(p); pb->setAutoFillBackground(true); pb->setBackgroundRole(QPalette::Background); row++; } } } PreferencesDialog::~PreferencesDialog() { delete ui; } void PreferencesDialog::on_eventTable_doubleClicked(const QModelIndex &index) { int row=index.row(); int col=index.column(); if (col==1) { QWidget *w=ui->eventTable->cellWidget(row,col); QColorDialog a; QColor color=w->palette().background().color(); a.setCurrentColor(color); if (a.exec()==QColorDialog::Accepted) { QColor c=a.currentColor(); QPalette p(c,c,c,c,c,c,c); w->setPalette(p); qDebug() << "Color accepted" << col; } } } void PreferencesDialog::on_timeEdit_editingFinished() { pref["DaySplitTime"]=ui->timeEdit->time(); } void PreferencesDialog::on_memoryHogCheckbox_toggled(bool checked) { pref["MemoryHog"]=checked; } void PreferencesDialog::on_combineSlider_valueChanged(int position) { if (position>0) { ui->combineLCD->display(position); } else ui->combineLCD->display(tr("OFF")); pref["CombineCloserSessions"]=position; } void PreferencesDialog::on_IgnoreSlider_valueChanged(int position) { if (position>0) { ui->IgnoreLCD->display(position); } else ui->IgnoreLCD->display(tr("OFF")); pref["IgnoreShorterSessions"]=position; }