diff options
author | saturneric <[email protected]> | 2025-01-26 18:52:33 +0000 |
---|---|---|
committer | saturneric <[email protected]> | 2025-01-26 18:52:33 +0000 |
commit | 3aa7e3221436599a6e1461bb71f2fce9cef7c2ac (patch) | |
tree | c07c3701a05bbee4f6975ca790dc5a5a84bac593 | |
parent | fix: improve code compatibility (diff) | |
download | GpgFrontend-3aa7e3221436599a6e1461bb71f2fce9cef7c2ac.tar.gz GpgFrontend-3aa7e3221436599a6e1461bb71f2fce9cef7c2ac.zip |
feat: add ui ability to switch batch mode
-rw-r--r-- | src/ui/widgets/FilePage.cpp | 7 | ||||
-rw-r--r-- | src/ui/widgets/FilePage.h | 6 | ||||
-rw-r--r-- | src/ui/widgets/FileTreeView.cpp | 8 | ||||
-rw-r--r-- | src/ui/widgets/FileTreeView.h | 6 | ||||
-rw-r--r-- | ui/FilePage.ui | 3 |
5 files changed, 20 insertions, 10 deletions
diff --git a/src/ui/widgets/FilePage.cpp b/src/ui/widgets/FilePage.cpp index 309bf376..fb27163f 100644 --- a/src/ui/widgets/FilePage.cpp +++ b/src/ui/widgets/FilePage.cpp @@ -42,6 +42,8 @@ FilePage::FilePage(QWidget* parent, const QString& target_path) ui_->setupUi(this); ui_->trewViewLayout->addWidget(file_tree_view_); + ui_->batchModeButton->setToolTip(tr("Switch Batch Mode")); + connect(ui_->upPathButton, &QPushButton::clicked, file_tree_view_, &FileTreeView::SlotUpLevel); connect(ui_->refreshButton, &QPushButton::clicked, this, @@ -73,9 +75,6 @@ FilePage::FilePage(QWidget* parent, const QString& target_path) option_popup_menu_->addAction(show_system_act); ui_->optionsButton->setMenu(option_popup_menu_); - connect(ui_->batchModeButton, &QToolButton::toggled, this, - [this](bool checked) { emit SignalSetBatchMode(checked); }); - connect(ui_->pathEdit, &QLineEdit::textChanged, [=]() { auto path = ui_->pathEdit->text(); auto dir = QDir(path); @@ -109,6 +108,8 @@ FilePage::FilePage(QWidget* parent, const QString& target_path) connect(this, &FilePage::SignalMainWindowUpdateBasicOperaMenu, UISignalStation::GetInstance(), &UISignalStation::SignalMainWindowUpdateBasicOperaMenu); + connect(ui_->batchModeButton, &QToolButton::toggled, file_tree_view_, + &FileTreeView::SlotSwitchBatchMode); } auto FilePage::GetSelected() const -> QStringList { diff --git a/src/ui/widgets/FilePage.h b/src/ui/widgets/FilePage.h index ae84e246..b302740b 100644 --- a/src/ui/widgets/FilePage.h +++ b/src/ui/widgets/FilePage.h @@ -102,12 +102,6 @@ class FilePage : public QWidget { */ void SignalMainWindowUpdateBasicOperaMenu(unsigned int); - /** - * @brief - * - */ - void SignalSetBatchMode(bool); - protected: /** * @brief diff --git a/src/ui/widgets/FileTreeView.cpp b/src/ui/widgets/FileTreeView.cpp index d50f8726..616cffb4 100644 --- a/src/ui/widgets/FileTreeView.cpp +++ b/src/ui/widgets/FileTreeView.cpp @@ -49,7 +49,7 @@ FileTreeView::FileTreeView(QWidget* parent, const QString& target_path) slot_create_popup_menu(); this->setContextMenuPolicy(Qt::CustomContextMenu); - this->setSelectionMode(QAbstractItemView::MultiSelection); + this->setSelectionMode(QAbstractItemView::SingleSelection); connect(this, &QWidget::customContextMenuRequested, this, &FileTreeView::slot_show_custom_context_menu); @@ -439,4 +439,10 @@ void FileTreeView::slot_adjust_column_widths() { } } +void FileTreeView::SlotSwitchBatchMode(bool batch) { + this->setSelectionMode(batch ? QAbstractItemView::MultiSelection + : QAbstractItemView::SingleSelection); + selectionModel()->clearSelection(); +} + } // namespace GpgFrontend::UI diff --git a/src/ui/widgets/FileTreeView.h b/src/ui/widgets/FileTreeView.h index 0c9c0749..333e06bc 100644 --- a/src/ui/widgets/FileTreeView.h +++ b/src/ui/widgets/FileTreeView.h @@ -193,6 +193,12 @@ class FileTreeView : public QTreeView { */ void SlotOpenSelectedItemBySystemApplication(); + /** + * @brief + * + */ + void SlotSwitchBatchMode(bool); + private slots: /** diff --git a/ui/FilePage.ui b/ui/FilePage.ui index 69143680..b9ae7043 100644 --- a/ui/FilePage.ui +++ b/ui/FilePage.ui @@ -143,6 +143,9 @@ </item> <item> <widget class="QToolButton" name="batchModeButton"> + <property name="toolTip"> + <string>Switch Batch Mode</string> + </property> <property name="text"> <string>...</string> </property> |