yacreader/YACReaderLibrary/recent_visibility_coordinator.cpp
2023-05-20 17:43:38 +02:00

36 lines
1.1 KiB
C++

#include "recent_visibility_coordinator.h"
#include "yacreader_global_gui.h"
RecentVisibilityCoordinator::RecentVisibilityCoordinator(QSettings *settings, FolderModel *folderModel, FolderContentView *folderContentView, ComicModel *comicModel)
: QObject(), settings(settings), folderModel(folderModel), folderContentView(folderContentView), comicModel(comicModel)
{
updateVisibility();
updateTimeRange();
}
void RecentVisibilityCoordinator::toggleVisibility(bool visibility)
{
settings->setValue(DISPLAY_RECENTLY_INDICATOR, visibility);
updateVisibility();
}
void RecentVisibilityCoordinator::updateTimeRange()
{
auto days = settings->value(NUM_DAYS_TO_CONSIDER_RECENT, 1).toInt();
folderModel->setRecentRange(days);
folderContentView->setRecentRange(days);
comicModel->setRecentRange(days);
}
void RecentVisibilityCoordinator::updateVisibility()
{
auto visibility = settings->value(DISPLAY_RECENTLY_INDICATOR, true).toBool();
folderModel->setShowRecent(visibility);
folderContentView->setShowRecent(visibility);
comicModel->setShowRecent(visibility);
}