diff options
author | MrMelon <github@onpointcoding.net> | 2022-06-06 18:12:50 +0100 |
---|---|---|
committer | MrMelon <github@onpointcoding.net> | 2022-06-06 21:51:08 +0100 |
commit | 1c60e9b4fcaeae505232aa6287d76a2567d6ea1d (patch) | |
tree | 59ae39840410d3cd2fd1ed6891f62376d25f915b /launcher/icons/IconList.cpp | |
parent | db1c804812c449bac366baf34b6e1d60951bf759 (diff) | |
download | PrismLauncher-1c60e9b4fcaeae505232aa6287d76a2567d6ea1d.tar.gz PrismLauncher-1c60e9b4fcaeae505232aa6287d76a2567d6ea1d.tar.bz2 PrismLauncher-1c60e9b4fcaeae505232aa6287d76a2567d6ea1d.zip |
Add initial sorting function
Diffstat (limited to 'launcher/icons/IconList.cpp')
-rw-r--r-- | launcher/icons/IconList.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/launcher/icons/IconList.cpp b/launcher/icons/IconList.cpp index 0ddfae55..e0debcb0 100644 --- a/launcher/icons/IconList.cpp +++ b/launcher/icons/IconList.cpp @@ -56,6 +56,32 @@ IconList::IconList(const QStringList &builtinPaths, QString path, QObject *paren emit iconUpdated({}); } +void IconList::sortIconList() +{ + qDebug() << "Sorting icon list..."; + + QVector<MMCIcon> newIcons = QVector<MMCIcon>(); + QVectorIterator<MMCIcon> iconIter(icons); + +iconLoop: + while(iconIter.hasNext()) + { + MMCIcon a = iconIter.next(); + for(int i=0;i<newIcons.size();i++) + { + if(a.m_key.compare(newIcons[i].m_key) < 0) + { + newIcons.insert(i,a); + goto iconLoop; + } + } + newIcons.append(a); + } + + icons = newIcons; + reindex(); +} + void IconList::directoryChanged(const QString &path) { QDir new_dir (path); @@ -141,6 +167,8 @@ void IconList::directoryChanged(const QString &path) emit iconUpdated(key); } } + + sortIconList(); } void IconList::fileChanged(const QString &path) |