void Properties::setupOptions() { QFrame *frame = new QFrame(this); QHBoxLayout *hlayout = new QHBoxLayout(); QFormLayout *edlayout = new QFormLayout(this); QGroupBox *editor = new QGroupBox(tr("Editor Settings")); editor->setLayout(edlayout); QFormLayout *otlayout = new QFormLayout(this); QGroupBox *other = new QGroupBox(tr("Other Settings")); other->setLayout(otlayout); hlayout->addWidget(editor); hlayout->addWidget(other); frame->setLayout(hlayout); tabWidget.addTab(frame,"General"); QSettings settings(publisherKey, PropellerIdeGuiKey,this); QVariant enac = settings.value(enableAutoComplete,true); QVariant enss = settings.value(enableSpinSuggest,true); autoCompleteEnable.setChecked(enac.toBool()); edlayout->addRow(new QLabel(tr("Enable AutoComplete")), &autoCompleteEnable); spinSuggestEnable.setChecked(enss.toBool()); edlayout->addRow(new QLabel(tr("Enable Code Suggestion")), &spinSuggestEnable); #if ENABLE_PORT_BOARD_NAMES portBoardNameEnable.setChecked(false); portBoardNameEnable.setDisabled(true); otlayout->addRow(new QLabel(tr("Enable Port Board Names")), &portBoardNameEnable); #endif QVariant tabsv = settings.value(tabSpacesKey,"4"); if(tabsv.canConvert(QVariant::String)) { tabspaceLedit.setText(tabsv.toString()); } else { tabspaceLedit.setText("4"); } edlayout->addRow(new QLabel(tr("Editor Tab Space Count")), &tabspaceLedit); clearSettingsButton.setText("Clear Settings"); clearSettingsButton.setToolTip(tr("Clear Settings on Exit")); connect(&clearSettingsButton,SIGNAL(clicked()), this, SLOT(cleanSettings())); otlayout->addRow(new QLabel(tr("Clear Settings on Exit")), &clearSettingsButton); fontButton.setText(tr("Set Editor Font")); connect(&fontButton,SIGNAL(clicked()),this,SLOT(showFontDialog())); edlayout->addRow(new QLabel(tr("Set Editor Font")), &fontButton); }
void Properties::configSettings() { bool ok; QSettings settings(publisherKey, PropellerIdeGuiKey); QString app = QApplication::applicationFilePath(); QVariant keyv = settings.value(useKeys); int keyday = keyv.toInt(&ok); QDateTime appinfo = QFileInfo(app).lastModified(); int appday = appinfo.date().toJulianDay(); if(appday > keyday) { cleanSettings(); settings.setValue(useKeys,appday); } return; }
void Properties::setupGeneral() { int row = 0; QFrame *tbox = new QFrame(); tabWidget.addTab(tbox," General "); QVBoxLayout *glayout = new QVBoxLayout(); tbox->setLayout(glayout); QSettings settings(publisherKey, ASideGuiKey,this); QVariant var; QGroupBox *gbGeneral = new QGroupBox(tr("General Settings"),tbox); QGridLayout *tlayout = new QGridLayout(); QLabel *ltabs = new QLabel(tr("Editor Tab Space Count"),tbox); tlayout->addWidget(ltabs,row,0); tabSpaces.setMaximumWidth(40); tabSpaces.setText("4"); tabSpaces.setAlignment(Qt::AlignHCenter); tlayout->addWidget(&tabSpaces,row++,1); var = settings.value(tabSpacesKey); if(var.canConvert(QVariant::Int)) { QString s = var.toString(); tabSpaces.setText(s); } QLabel *lLoadDelay = new QLabel(tr("Loader Delay"),tbox); tlayout->addWidget(lLoadDelay,row,0); loadDelay.setMaximumWidth(40); loadDelay.setText("0"); loadDelay.setAlignment(Qt::AlignHCenter); tlayout->addWidget(&loadDelay,row++,1); var = settings.value(loadDelayKey); if(var.canConvert(QVariant::Int)) { QString s = var.toString(); loadDelay.setText(s); } QLabel *lreset = new QLabel(tr("Reset Signal"),tbox); tlayout->addWidget(lreset,row,0); resetType.addItem("DTR"); resetType.addItem("RTS"); resetType.addItem("CFG"); resetType.setCurrentIndex((int)CFG); tlayout->addWidget(&resetType,row++,1); var = settings.value(resetTypeKey,(int)CFG); if(var.canConvert(QVariant::Int)) { QString s = var.toString(); resetType.setCurrentIndex(var.toInt()); } QLabel *lclear = new QLabel(tr("Clear options for next startup."),tbox); tlayout->addWidget(lclear,row,0); QPushButton *clearSettings = new QPushButton(tr("Clear and Exit"),this); clearSettings->setToolTip(tr("Exit Program")); connect(clearSettings,SIGNAL(clicked()),this,SLOT(cleanSettings())); tlayout->addWidget(clearSettings,row,1); gbGeneral->setLayout(tlayout); glayout->addWidget(gbGeneral); }