From 93023f7d24a5a1d85ab38b6aeb43dcb7d503cb15 Mon Sep 17 00:00:00 2001 From: Spiros Date: Thu, 29 May 2025 22:10:10 +0300 Subject: [PATCH] Add option to save image --- include/mainwindow.h | 2 ++ src/mainwindow.cpp | 11 +++++++++-- src/mainwindow.ui | 17 ++++++++++++++++- 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/include/mainwindow.h b/include/mainwindow.h index ebc7e82..e79c5ff 100644 --- a/include/mainwindow.h +++ b/include/mainwindow.h @@ -49,6 +49,8 @@ private slots: void on_actionGrid_View_triggered(); + void on_actionSave_Image_triggered(); + private: Ui::MainWindow *ui; QSettings settings; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index ec3a182..f23a581 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -69,7 +69,7 @@ MainWindow::MainWindow(QWidget *parent) nextButton->setFocusPolicy(Qt::NoFocus); prevButton->setFocusPolicy(Qt::NoFocus); - ui->actionSave_JSON->setShortcut(QKeySequence::Save); + ui->actionSave_Image->setShortcut(QKeySequence::Save); ui->actionQuit->setShortcut(QKeySequence::Quit); ui->actionRescan_Refresh->setShortcut(QKeySequence::Refresh); @@ -1295,7 +1295,7 @@ void MainWindow::on_actionSave_JSON_triggered() } QString fileName = QFileDialog::getSaveFileName(this, - tr("Save JSON"), deviceNodeLineEdit->text().section('/', -1) + ".json", + tr("Save JSON"), "QDiskInfo_" + deviceNodeLineEdit->text().section('/', -1) + ".json", tr("JSON (*.json);;All Files (*)")); if (fileName.isEmpty()) return; @@ -1476,3 +1476,10 @@ void MainWindow::on_actionGrid_View_triggered() gridView->show(); } + +void MainWindow::on_actionSave_Image_triggered() +{ + QPixmap screenshot = this->grab(); + screenshot.save(QFileDialog::getSaveFileName(this, tr("Save Image"), "QDiskInfo_" + deviceNodeLineEdit->text().section('/', -1) + ".png", tr("PNG Files (*.png)"))); +} + diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 2b7d47b..34f8e30 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -498,6 +498,7 @@ File + @@ -548,7 +549,10 @@ - &Save JSON + &Save (JSON) + + + Ctrl+T @@ -661,6 +665,17 @@ Grid View + + + + + + Save (Image) + + + + +