diff --git a/cockatrice/cockatrice.qrc b/cockatrice/cockatrice.qrc index 05846bbb7..7b42f69ca 100644 --- a/cockatrice/cockatrice.qrc +++ b/cockatrice/cockatrice.qrc @@ -25,6 +25,7 @@ resources/icons/pencil.svg resources/icons/player.svg resources/icons/ready_start.svg + resources/icons/reload.svg resources/icons/remove_row.svg resources/icons/scales.svg resources/icons/search.svg diff --git a/cockatrice/resources/icons/reload.svg b/cockatrice/resources/icons/reload.svg new file mode 100644 index 000000000..102995876 --- /dev/null +++ b/cockatrice/resources/icons/reload.svg @@ -0,0 +1,7 @@ + + + + Svg Vector Icons : http://www.onlinewebfonts.com/icon + + \ No newline at end of file diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.cpp b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.cpp index 1a86113ed..f0dd2eb9e 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.cpp +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.cpp @@ -36,6 +36,11 @@ VisualDeckStorageWidget::VisualDeckStorageWidget(QWidget *parent) : QWidget(pare sortWidget = new VisualDeckStorageSortWidget(this); searchWidget = new VisualDeckStorageSearchWidget(this); + refreshButton = new QToolButton(this); + refreshButton->setIcon(QPixmap("theme:icons/reload")); + refreshButton->setFixedSize(32, 32); + connect(refreshButton, &QPushButton::clicked, this, &VisualDeckStorageWidget::refreshIfPossible); + showFoldersCheckBox = new QCheckBox(this); showFoldersCheckBox->setChecked(SettingsCache::instance().getVisualDeckStorageShowFolders()); connect(showFoldersCheckBox, &QCheckBox::QT_STATE_CHANGED, this, &VisualDeckStorageWidget::updateShowFolders); @@ -73,6 +78,7 @@ VisualDeckStorageWidget::VisualDeckStorageWidget(QWidget *parent) : QWidget(pare searchAndSortLayout->addWidget(deckPreviewColorIdentityFilterWidget); searchAndSortLayout->addWidget(sortWidget); searchAndSortLayout->addWidget(searchWidget); + searchAndSortLayout->addWidget(refreshButton); searchAndSortLayout->addWidget(quickSettingsWidget); // tag filter box @@ -109,17 +115,15 @@ VisualDeckStorageWidget::VisualDeckStorageWidget(QWidget *parent) : QWidget(pare addRecursiveWatch(watcher, SettingsCache::instance().getDeckPath()); // Signals for changes - connect(&watcher, &QFileSystemWatcher::fileChanged, [this] { - if (scrollArea->widget() != databaseLoadIndicator) { - createRootFolderWidget(); - } - }); + connect(&watcher, &QFileSystemWatcher::fileChanged, this, &VisualDeckStorageWidget::refreshIfPossible); + connect(&watcher, &QFileSystemWatcher::directoryChanged, this, &VisualDeckStorageWidget::refreshIfPossible); +} - connect(&watcher, &QFileSystemWatcher::directoryChanged, [this] { - if (scrollArea->widget() != databaseLoadIndicator) { - createRootFolderWidget(); - } - }); +void VisualDeckStorageWidget::refreshIfPossible() +{ + if (scrollArea->widget() != databaseLoadIndicator) { + createRootFolderWidget(); + } } void VisualDeckStorageWidget::addRecursiveWatch(QFileSystemWatcher &watcher, const QString &dirPath) diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.h b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.h index 62822d5f6..554b1c36c 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.h +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.h @@ -26,6 +26,7 @@ class VisualDeckStorageWidget final : public QWidget Q_OBJECT public: explicit VisualDeckStorageWidget(QWidget *parent); + void refreshIfPossible(); void addRecursiveWatch(QFileSystemWatcher &watcher, const QString &dirPath); void retranslateUi(); @@ -63,6 +64,7 @@ private: VisualDeckStorageSortWidget *sortWidget; VisualDeckStorageSearchWidget *searchWidget; DeckPreviewColorIdentityFilterWidget *deckPreviewColorIdentityFilterWidget; + QToolButton *refreshButton; SettingsButtonWidget *quickSettingsWidget; QCheckBox *showFoldersCheckBox; QCheckBox *drawUnusedColorIdentitiesCheckBox;