diff options
Diffstat (limited to 'src')
-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 |
4 files changed, 17 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: /** |