16#include <kconfiggroup.h>
17#include <ksharedconfig.h>
41 , m_saveOnIdleTimer(q)
46 m_q->
saveEntries(KSharedConfig::openConfig()->group(
"RecentFiles"));
52 return indexOfUrl(url) >= 0;
57 auto found = std::find_if(m_entries.constBegin(), m_entries.constEnd(),
59 if (found == m_entries.constEnd()) {
62 return found - m_entries.constBegin();
70 m_saveOnIdleTimer.start();
77 loadEntries(KSharedConfig::openConfig()->group(
"RecentFiles"));
87 if (QThread::currentThread() != qApp->thread()) {
88 qWarning() <<
"KisRecentFilesManager::instance() called from non-GUI thread!";
105 if (removeIndex >= 0) {
121 for (
int i =
m_d->
m_entries.length() - 1; i >= 0; i--) {
Private(KisRecentFilesManager *q)
int indexOfUrl(const QUrl &url) const
QVector< KisRecentFilesEntry > m_entries
KisRecentFilesManager * m_q
bool containsUrl(const QUrl &url) const
void requestSaveOnNextTick()
void remove(const QUrl &url)
void loadEntries(const KConfigGroup &config)
QVector< KisRecentFilesEntry > recentFiles() const
void fileRemoved(const QUrl &url)
QList< QUrl > recentUrlsLatestFirst() const
static KisRecentFilesManager * instance()
void saveEntries(const KConfigGroup &config)
auto mem_equal_to(MemTypeNoRef Class::*ptr, MemType &&value)
mem_equal_to is an unary functor that compares a member of the object to a given value