Don't allow top-level folder widget to be hidden anymore.

This commit is contained in:
Lukas Brübach 2025-02-02 08:44:41 +01:00
parent 36dcdc966e
commit bbfdbe78d5
5 changed files with 16 additions and 6 deletions

View file

@ -27,7 +27,9 @@ BannerWidget::BannerWidget(QWidget *parent, const QString &text, Qt::Orientation
void BannerWidget::mousePressEvent(QMouseEvent *event)
{
QWidget::mousePressEvent(event);
emit buddyVisibilityChanged();
if (clickable) {
emit buddyVisibilityChanged();
}
}
void BannerWidget::setText(const QString &text) const

View file

@ -23,6 +23,10 @@ public:
{
return bannerLabel->text();
}
void setClickable(bool _clickable)
{
clickable = _clickable;
}
protected:
void paintEvent(QPaintEvent *event) override;
@ -32,6 +36,7 @@ private:
Qt::Orientation gradientOrientation;
int transparency; // Transparency percentage for the gradient
QWidget *buddy;
bool clickable = true;
signals:
void buddyVisibilityChanged();
private slots:

View file

@ -9,13 +9,15 @@
VisualDeckStorageFolderDisplayWidget::VisualDeckStorageFolderDisplayWidget(
QWidget *parent,
VisualDeckStorageWidget *_visualDeckStorageWidget,
QString _filePath)
QString _filePath,
bool canBeHidden)
: QWidget(parent), visualDeckStorageWidget(_visualDeckStorageWidget), filePath(_filePath)
{
layout = new QVBoxLayout(this);
setLayout(layout);
header = new BannerWidget(this, "");
header->setClickable(canBeHidden);
layout->addWidget(header);
container = new QWidget(this);
@ -123,7 +125,7 @@ bool VisualDeckStorageFolderDisplayWidget::checkVisibility()
void VisualDeckStorageFolderDisplayWidget::createWidgetsForFolders()
{
for (const QString &dir : getAllSubFolders()) {
auto *display = new VisualDeckStorageFolderDisplayWidget(this, visualDeckStorageWidget, dir);
auto *display = new VisualDeckStorageFolderDisplayWidget(this, visualDeckStorageWidget, dir, true);
containerLayout->addWidget(display);
}
}

View file

@ -14,7 +14,8 @@ class VisualDeckStorageFolderDisplayWidget : public QWidget
public:
VisualDeckStorageFolderDisplayWidget(QWidget *parent,
VisualDeckStorageWidget *_visualDeckStorageWidget,
QString _filePath);
QString _filePath,
bool canBeHidden);
void refreshUi();
void createWidgetsForFiles();
void createWidgetsForFolders();

View file

@ -43,7 +43,7 @@ VisualDeckStorageWidget::VisualDeckStorageWidget(QWidget *parent) : QWidget(pare
scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
folderWidget = new VisualDeckStorageFolderDisplayWidget(this, this, SettingsCache::instance().getDeckPath());
folderWidget = new VisualDeckStorageFolderDisplayWidget(this, this, SettingsCache::instance().getDeckPath(), false);
scrollArea->setWidget(folderWidget);
scrollArea->setWidgetResizable(true);
@ -92,7 +92,7 @@ void VisualDeckStorageWidget::deckPreviewDoubleClickedEvent(QMouseEvent *event,
void VisualDeckStorageWidget::refreshBannerCards()
{
folderWidget = new VisualDeckStorageFolderDisplayWidget(this, this, SettingsCache::instance().getDeckPath());
folderWidget = new VisualDeckStorageFolderDisplayWidget(this, this, SettingsCache::instance().getDeckPath(), false);
scrollArea->setWidget(folderWidget);
}