diff options
author | Javier <dev.git@javispedro.com> | 2020-09-12 02:21:04 +0200 |
---|---|---|
committer | Javier <dev.git@javispedro.com> | 2020-09-12 02:21:04 +0200 |
commit | c2eca928c5a7be0444fcb5c41ffe77b557714575 (patch) | |
tree | af7d2ed9e2b018a4ea95329bb944853f41cf088f /notebookmodel.cc | |
parent | 20de09ffbaa00ab3adf91e49b847eb0061315b1e (diff) | |
download | scribiu-c2eca928c5a7be0444fcb5c41ffe77b557714575.tar.gz scribiu-c2eca928c5a7be0444fcb5c41ffe77b557714575.zip |
when zooming out, place pages on a grid layout
Diffstat (limited to 'notebookmodel.cc')
-rw-r--r-- | notebookmodel.cc | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/notebookmodel.cc b/notebookmodel.cc index 8a58ebf..bfe183b 100644 --- a/notebookmodel.cc +++ b/notebookmodel.cc @@ -291,6 +291,7 @@ void NotebookModel::refreshPen(const QString &name) return; } + _iconCache.clear(); _watcher.addPath(penDir.canonicalPath()); QStringList &curNotebooks = _notebooks[name]; @@ -359,22 +360,21 @@ QDir NotebookModel::notebookDir(const QString &pen, const QString ¬ebook) con QIcon NotebookModel::getNotebookIcon(const QString &pen, const QString ¬ebook) const { - static QStringList candidates; - if (candidates.isEmpty()) { - candidates << "userdata/icon/Notebook.png" - << "userdata/icon/active_64x64.png" - << "userdata/icon/active_32x32.png" - << "userdata/icon/active_16x16.png"; - } - QIcon icon; - QDir dir = notebookDir(pen, notebook); - if (dir.exists()) { + + QIcon icon = _iconCache.value(dir.path()); + if (icon.isNull() && dir.exists()) { + static const QStringList candidates{"userdata/icon/Notebook.png", + "userdata/icon/active_64x64.png", + "userdata/icon/active_32x32.png", + "userdata/icon/active_16x16.png"}; foreach (const QString &candidate, candidates) { if (dir.exists(candidate)) { icon.addFile(dir.filePath(candidate)); } } + + _iconCache.insert(dir.path(), icon); } return icon; |