add new tab to preferences for charts window settings
This commit is contained in:
@ -67,6 +67,7 @@ Preferences::Preferences(LammpsWrapper *_lammps, QWidget *parent) :
|
||||
tabWidget->addTab(new AcceleratorTab(settings, lammps), "&Accelerators");
|
||||
tabWidget->addTab(new SnapshotTab(settings), "&Snapshot Image");
|
||||
tabWidget->addTab(new EditorTab(settings), "&Editor Settings");
|
||||
tabWidget->addTab(new ChartsTab(settings), "Cha&rts Settings");
|
||||
|
||||
connect(buttonBox, &QDialogButtonBox::accepted, this, &Preferences::accept);
|
||||
connect(buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject);
|
||||
@ -77,7 +78,7 @@ Preferences::Preferences(LammpsWrapper *_lammps, QWidget *parent) :
|
||||
setLayout(layout);
|
||||
setWindowIcon(QIcon(":/icons/lammps-icon-128x128.png"));
|
||||
setWindowTitle("LAMMPS-GUI - Preferences");
|
||||
resize(600, 450);
|
||||
resize(700, 500);
|
||||
}
|
||||
|
||||
Preferences::~Preferences()
|
||||
@ -207,6 +208,25 @@ void Preferences::accept()
|
||||
if (box) settings->setValue("autosave", box->isChecked());
|
||||
settings->endGroup();
|
||||
|
||||
// chart window settings
|
||||
|
||||
settings->beginGroup("charts");
|
||||
field = tabWidget->findChild<QLineEdit *>("title");
|
||||
if (field) settings->setValue("title", field->text());
|
||||
field = tabWidget->findChild<QLineEdit *>("xlabel");
|
||||
if (field) settings->setValue("xlabel", field->text());
|
||||
combo = tabWidget->findChild<QComboBox *>("smoothchoice");
|
||||
if (combo) settings->setValue("smoothchoice", combo->currentIndex());
|
||||
spin = tabWidget->findChild<QSpinBox *>("smoothwindow");
|
||||
if (spin) settings->setValue("smoothwindow", spin->value());
|
||||
spin = tabWidget->findChild<QSpinBox *>("smoothorder");
|
||||
if (spin) settings->setValue("smoothorder", spin->value());
|
||||
settings->endGroup();
|
||||
spin = tabWidget->findChild<QSpinBox *>("chartx");
|
||||
if (spin) settings->setValue("chartx", spin->value());
|
||||
spin = tabWidget->findChild<QSpinBox *>("charty");
|
||||
if (spin) settings->setValue("charty", spin->value());
|
||||
|
||||
QDialog::accept();
|
||||
}
|
||||
|
||||
@ -622,6 +642,7 @@ EditorTab::EditorTab(QSettings *_settings, QWidget *parent) : QWidget(parent), s
|
||||
grid->addWidget(retval, i++, 1, Qt::AlignVCenter);
|
||||
grid->addWidget(autolbl, i, 0, Qt::AlignTop);
|
||||
grid->addWidget(autoval, i++, 1, Qt::AlignVCenter);
|
||||
grid->addWidget(new QLabel(" "), i++, 0);
|
||||
grid->addWidget(savlbl, i, 0, Qt::AlignTop);
|
||||
grid->addWidget(savval, i++, 1, Qt::AlignVCenter);
|
||||
|
||||
@ -631,6 +652,75 @@ EditorTab::EditorTab(QSettings *_settings, QWidget *parent) : QWidget(parent), s
|
||||
setLayout(grid);
|
||||
}
|
||||
|
||||
ChartsTab::ChartsTab(QSettings *_settings, QWidget *parent) : QWidget(parent), settings(_settings)
|
||||
{
|
||||
auto *grid = new QGridLayout;
|
||||
auto *chartlbl = new QLabel("Charts default settings:");
|
||||
|
||||
settings->beginGroup("charts");
|
||||
auto *titlelbl = new QLabel("Default chart title:");
|
||||
auto *titletxt = new QLineEdit(settings->value("title", "Thermo: %f").toString());
|
||||
auto *titlehlp = new QLabel("(use %f for current input file)");
|
||||
|
||||
auto *xlabellbl = new QLabel("Default x-axis label:");
|
||||
auto *xlabeltxt = new QLineEdit(settings->value("xlabel", "Time step").toString());
|
||||
|
||||
// list of choices must be kepy in sync with list in chartviewer
|
||||
auto *smoothlbl = new QLabel("Default plot data choice:");
|
||||
auto *smoothval = new QComboBox;
|
||||
smoothval->addItem("Raw");
|
||||
smoothval->addItem("Smooth");
|
||||
smoothval->addItem("Both");
|
||||
smoothval->setObjectName("smoothchoice");
|
||||
smoothval->setCurrentIndex(settings->value("smoothchoice", 2).toInt());
|
||||
|
||||
auto *smwindlbl = new QLabel("Default smoothing window:");
|
||||
auto *smwindval = new QSpinBox;
|
||||
smwindval->setRange(5, 999);
|
||||
smwindval->setValue(settings->value("smoothwindow", 10).toInt());
|
||||
smwindval->setObjectName("smoothwindow");
|
||||
|
||||
auto *smordrlbl = new QLabel("Default smoothing order:");
|
||||
auto *smordrval = new QSpinBox;
|
||||
smordrval->setRange(1, 20);
|
||||
smordrval->setValue(settings->value("smoothorder", 4).toInt());
|
||||
smordrval->setObjectName("smoothorder");
|
||||
settings->endGroup();
|
||||
|
||||
auto *chartxlbl = new QLabel("Chart default width:");
|
||||
auto *chartxval = new QSpinBox;
|
||||
chartxval->setRange(400, 40000);
|
||||
chartxval->setValue(settings->value("chartx", 500).toInt());
|
||||
chartxval->setObjectName("chartx");
|
||||
auto *chartylbl = new QLabel("Chart default height:");
|
||||
auto *chartyval = new QSpinBox;
|
||||
chartyval->setRange(300, 30000);
|
||||
chartyval->setValue(settings->value("charty", 320).toInt());
|
||||
chartyval->setObjectName("charty");
|
||||
|
||||
int i = 0;
|
||||
grid->addWidget(chartlbl, i++, 0, 1, 2, Qt::AlignTop | Qt::AlignHCenter);
|
||||
grid->addWidget(titlelbl, i, 0, Qt::AlignTop);
|
||||
grid->addWidget(titletxt, i, 1, Qt::AlignTop);
|
||||
grid->addWidget(titlehlp, i++, 2, Qt::AlignTop);
|
||||
grid->addWidget(xlabellbl, i, 0, Qt::AlignTop);
|
||||
grid->addWidget(xlabeltxt, i++, 1, Qt::AlignTop);
|
||||
grid->addWidget(smoothlbl, i, 0, Qt::AlignTop);
|
||||
grid->addWidget(smoothval, i++, 1, Qt::AlignTop);
|
||||
grid->addWidget(smwindlbl, i, 0, Qt::AlignTop);
|
||||
grid->addWidget(smwindval, i++, 1, Qt::AlignTop);
|
||||
grid->addWidget(smordrlbl, i, 0, Qt::AlignTop);
|
||||
grid->addWidget(smordrval, i++, 1, Qt::AlignVCenter);
|
||||
grid->addWidget(chartxlbl, i, 0, Qt::AlignTop);
|
||||
grid->addWidget(chartxval, i++, 1, Qt::AlignVCenter);
|
||||
grid->addWidget(chartylbl, i, 0, Qt::AlignTop);
|
||||
grid->addWidget(chartyval, i++, 1, Qt::AlignVCenter);
|
||||
grid->addItem(new QSpacerItem(100, 100, QSizePolicy::Minimum, QSizePolicy::Expanding), i, 0);
|
||||
grid->addItem(new QSpacerItem(100, 100, QSizePolicy::Minimum, QSizePolicy::Expanding), i, 1);
|
||||
grid->addItem(new QSpacerItem(100, 100, QSizePolicy::Expanding, QSizePolicy::Expanding), i, 2);
|
||||
setLayout(grid);
|
||||
}
|
||||
|
||||
// Local Variables:
|
||||
// c-basic-offset: 4
|
||||
// End:
|
||||
|
||||
Reference in New Issue
Block a user