From 1b9302299a409b858aa3ef365d5c3e3e105be8d6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 16 Jul 2024 22:54:38 -0400 Subject: [PATCH] implement delete-all-images function with pushbutton in slideshow viewer --- tools/lammps-gui/TODO.md | 1 - tools/lammps-gui/icons/trash.png | Bin 0 -> 3648 bytes tools/lammps-gui/lammpsgui.qrc | 1 + tools/lammps-gui/slideshow.cpp | 16 +++++++++++++++- tools/lammps-gui/slideshow.h | 1 + 5 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 tools/lammps-gui/icons/trash.png diff --git a/tools/lammps-gui/TODO.md b/tools/lammps-gui/TODO.md index a8ce0285b5..7af2a4a4c6 100644 --- a/tools/lammps-gui/TODO.md +++ b/tools/lammps-gui/TODO.md @@ -2,7 +2,6 @@ LAMMPS-GUI TODO list: # Short term goals (v1.x) -- add "delete image files" option to Slide Show, plus pushbutton - add "export YAML data" to Output viewer, if YAML thermo data is detected. - add "export to YAML" to chart viewer. diff --git a/tools/lammps-gui/icons/trash.png b/tools/lammps-gui/icons/trash.png new file mode 100644 index 0000000000000000000000000000000000000000..723fc1435ae07bf1dfb622081fdb8de3eec00ec2 GIT binary patch literal 3648 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/system-box.png icons/system-help.png icons/system-run.png + icons/trash.png icons/utilities-terminal.png icons/vdw-style.png icons/vmd.png diff --git a/tools/lammps-gui/slideshow.cpp b/tools/lammps-gui/slideshow.cpp index 9275842b78..dcc85fc34a 100644 --- a/tools/lammps-gui/slideshow.cpp +++ b/tools/lammps-gui/slideshow.cpp @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -75,6 +76,9 @@ SlideShow::SlideShow(const QString &fileName, QWidget *parent) : tomovie->setToolTip("Export to movie file"); tomovie->setEnabled(has_exe("ffmpeg")); + auto *totrash = new QPushButton(QIcon(":/icons/trash.png"), ""); + totrash->setToolTip("Delete all image files"); + auto *gofirst = new QPushButton(QIcon(":/icons/go-first.png"), ""); gofirst->setToolTip("Go to first Image"); auto *goprev = new QPushButton(QIcon(":/icons/go-previous-2.png"), ""); @@ -101,6 +105,7 @@ SlideShow::SlideShow(const QString &fileName, QWidget *parent) : normal->setToolTip("Reset zoom to normal"); connect(tomovie, &QPushButton::released, this, &SlideShow::movie); + connect(totrash, &QPushButton::released, this, &SlideShow::delete_images); connect(gofirst, &QPushButton::released, this, &SlideShow::first); connect(goprev, &QPushButton::released, this, &SlideShow::prev); connect(goplay, &QPushButton::released, this, &SlideShow::play); @@ -115,6 +120,7 @@ SlideShow::SlideShow(const QString &fileName, QWidget *parent) : navLayout->addSpacerItem(new QSpacerItem(10, 10, QSizePolicy::Expanding, QSizePolicy::Minimum)); navLayout->addWidget(dummy); navLayout->addWidget(tomovie); + navLayout->addWidget(totrash); navLayout->addWidget(gofirst); navLayout->addWidget(goprev); navLayout->addWidget(goplay); @@ -157,6 +163,14 @@ void SlideShow::add_image(const QString &filename) } } +void SlideShow::delete_images() +{ + for (const auto &file : imagefiles) { + QFile::remove(file); + } + clear(); +} + void SlideShow::clear() { imagefiles.clear(); @@ -316,7 +330,7 @@ void SlideShow::prev() void SlideShow::loop() { auto *button = qobject_cast(sender()); - do_loop = !do_loop; + do_loop = !do_loop; button->setChecked(do_loop); } diff --git a/tools/lammps-gui/slideshow.h b/tools/lammps-gui/slideshow.h index 1b5e977643..4b13ff2e29 100644 --- a/tools/lammps-gui/slideshow.h +++ b/tools/lammps-gui/slideshow.h @@ -33,6 +33,7 @@ public: private slots: void quit(); + void delete_images(); void stop_run(); void movie(); void first();