diff --git a/tools/lammps-gui/lammpsgui.cpp b/tools/lammps-gui/lammpsgui.cpp
index d3cfd82271..de5beca6f2 100644
--- a/tools/lammps-gui/lammpsgui.cpp
+++ b/tools/lammps-gui/lammpsgui.cpp
@@ -143,7 +143,9 @@ LammpsGui::LammpsGui(QWidget *parent, const char *filename) :
connect(ui->action_Help, &QAction::triggered, this, &LammpsGui::help);
connect(ui->actionLAMMPS_Manual, &QAction::triggered, this, &LammpsGui::manual);
connect(ui->actionPreferences, &QAction::triggered, this, &LammpsGui::preferences);
- connect(ui->actionDefaults, &QAction::triggered, this, &LammpsGui::defaults);
+ connect(ui->actionView_Log_Window, &QAction::triggered, this, &LammpsGui::view_log);
+ connect(ui->actionView_Graph_Window, &QAction::triggered, this, &LammpsGui::view_chart);
+
connect(ui->textEdit->document(), &QTextDocument::modificationChanged, this,
&LammpsGui::modified);
@@ -404,7 +406,7 @@ void LammpsGui::logupdate()
}
}
- // extract chache thermo data
+ // extract cached thermo data
if (chartwindow) {
void *ptr = lammps.last_thermo("step", 0);
if (ptr) {
@@ -567,7 +569,10 @@ void LammpsGui::run_buffer()
QObject::connect(shortcut, &QShortcut::activated, logwindow, &LogWindow::close);
shortcut = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_Slash), logwindow);
QObject::connect(shortcut, &QShortcut::activated, this, &LammpsGui::stop_run);
- logwindow->show();
+ if (settings.value("viewlog",true).toBool())
+ logwindow->show();
+ else
+ logwindow->hide();
// if configured, delete old log window before opening new one
if (settings.value("chartreplace", false).toBool()) delete chartwindow;
@@ -580,7 +585,10 @@ void LammpsGui::run_buffer()
QObject::connect(shortcut, &QShortcut::activated, chartwindow, &ChartWindow::close);
shortcut = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_Slash), chartwindow);
QObject::connect(shortcut, &QShortcut::activated, this, &LammpsGui::stop_run);
- chartwindow->show();
+ if (settings.value("viewchart",true).toBool())
+ chartwindow->show();
+ else
+ chartwindow->hide();
logupdater = new QTimer(this);
connect(logupdater, &QTimer::timeout, this, &LammpsGui::logupdate);
@@ -637,6 +645,34 @@ void LammpsGui::clear()
ui->textEdit->moveCursor(QTextCursor::Start, QTextCursor::MoveAnchor);
}
+void LammpsGui::view_chart()
+{
+ QSettings settings;
+ if (chartwindow) {
+ if (chartwindow->isVisible()) {
+ chartwindow->hide();
+ settings.setValue("viewchart", false);
+ } else {
+ chartwindow->show();
+ settings.setValue("viewchart", true);
+ }
+ }
+}
+
+void LammpsGui::view_log()
+{
+ QSettings settings;
+ if (logwindow) {
+ if (logwindow->isVisible()) {
+ logwindow->hide();
+ settings.setValue("viewlog", false);
+ } else {
+ logwindow->show();
+ settings.setValue("viewlog", true);
+ }
+ }
+}
+
void LammpsGui::about()
{
std::string version = "This is LAMMPS-GUI version " LAMMPS_GUI_VERSION;
diff --git a/tools/lammps-gui/lammpsgui.h b/tools/lammps-gui/lammpsgui.h
index a36dca2757..8a365adfcb 100644
--- a/tools/lammps-gui/lammpsgui.h
+++ b/tools/lammps-gui/lammpsgui.h
@@ -71,6 +71,8 @@ private slots:
void run_buffer();
void stop_run();
void view_image();
+ void view_chart();
+ void view_log();
void about();
void help();
void manual();
diff --git a/tools/lammps-gui/lammpsgui.ui b/tools/lammps-gui/lammpsgui.ui
index 14f354b3c0..cab83abcf6 100644
--- a/tools/lammps-gui/lammpsgui.ui
+++ b/tools/lammps-gui/lammpsgui.ui
@@ -27,7 +27,7 @@
0
0
600
- 24
+ 23
+
+
@@ -346,6 +354,22 @@
Reset to &Defaults
+
+
+
+
+
+ &Log Window
+
+
+
+
+
+
+
+ &Chart Window
+
+
diff --git a/tools/lammps-gui/preferences.cpp b/tools/lammps-gui/preferences.cpp
index ca476d1b10..eb7745dc45 100644
--- a/tools/lammps-gui/preferences.cpp
+++ b/tools/lammps-gui/preferences.cpp
@@ -117,6 +117,10 @@ void Preferences::accept()
if (box) settings->setValue("logreplace", box->isChecked());
box = tabWidget->findChild("chartreplace");
if (box) settings->setValue("chartreplace", box->isChecked());
+ box = tabWidget->findChild("viewlog");
+ if (box) settings->setValue("viewlog", box->isChecked());
+ box = tabWidget->findChild("viewchart");
+ if (box) settings->setValue("viewchart", box->isChecked());
QDialog::accept();
}
@@ -131,6 +135,12 @@ GeneralTab::GeneralTab(QSettings *_settings, LammpsWrapper *_lammps, QWidget *pa
auto *cite = new QCheckBox("Include citation details");
cite->setObjectName("cite");
cite->setCheckState(settings->value("cite", false).toBool() ? Qt::Checked : Qt::Unchecked);
+ auto *logv = new QCheckBox("Show log window by default");
+ logv->setObjectName("viewlog");
+ logv->setCheckState(settings->value("viewlog", true).toBool() ? Qt::Checked : Qt::Unchecked);
+ auto *pltv = new QCheckBox("Show chart window by default");
+ pltv->setObjectName("viewchart");
+ pltv->setCheckState(settings->value("viewchart", true).toBool() ? Qt::Checked : Qt::Unchecked);
auto *logr = new QCheckBox("Replace log window on new run");
logr->setObjectName("logreplace");
logr->setCheckState(settings->value("logreplace", false).toBool() ? Qt::Checked
@@ -164,6 +174,8 @@ GeneralTab::GeneralTab(QSettings *_settings, LammpsWrapper *_lammps, QWidget *pa
#endif
layout->addWidget(echo);
layout->addWidget(cite);
+ layout->addWidget(logv);
+ layout->addWidget(pltv);
layout->addWidget(logr);
layout->addWidget(pltr);
#if !defined(__APPLE__)