EntryConfig: Introduce (dirty) way to distinguish between user/system entries
This commit is contained in:
parent
b72931cc9e
commit
27ac3155d3
@ -214,7 +214,7 @@ QString EntryProvider::resolveEntryPath(QString path)
|
||||
return {};
|
||||
}
|
||||
|
||||
QVector<EntryConfig> EntryProvider::readConfig(QStringList paths)
|
||||
QVector<EntryConfig> EntryProvider::readConfig(QStringList paths, bool userentrymode)
|
||||
{
|
||||
QVector<EntryConfig> result;
|
||||
for(QString &configPath : paths)
|
||||
@ -228,6 +228,11 @@ QVector<EntryConfig> EntryProvider::readConfig(QStringList paths)
|
||||
{
|
||||
if(!entry->hidden)
|
||||
{
|
||||
if(userentrymode)
|
||||
{
|
||||
entry->userEntry = true;
|
||||
entry->entryPath = path;
|
||||
}
|
||||
result.append(*entry);
|
||||
}
|
||||
}
|
||||
@ -238,7 +243,7 @@ QVector<EntryConfig> EntryProvider::readConfig(QStringList paths)
|
||||
|
||||
QVector<EntryConfig> EntryProvider::getUserEntries()
|
||||
{
|
||||
return readConfig(this->userEntriesDirsPaths);
|
||||
return readConfig(this->userEntriesDirsPaths, true);
|
||||
}
|
||||
|
||||
QVector<EntryConfig> EntryProvider::getSystemEntries()
|
||||
|
@ -18,7 +18,9 @@ class ConfigFormatException : public std::runtime_error
|
||||
class EntryConfig
|
||||
{
|
||||
public:
|
||||
bool userEntry = false;
|
||||
bool hidden = false;
|
||||
QString entryPath;
|
||||
QString key;
|
||||
QString name;
|
||||
QString command;
|
||||
@ -39,13 +41,14 @@ class EntryProvider
|
||||
EntryConfig readqsrunFile(const QString &path);
|
||||
EntryConfig readFromDesktopFile(const QString &path);
|
||||
std::optional<EntryConfig> readEntryFromPath(const QString &path);
|
||||
QVector<EntryConfig> readConfig(QStringList paths);
|
||||
QVector<EntryConfig> readConfig(QStringList paths, bool userentrymode=false);
|
||||
QString resolveEntryPath(QString path);
|
||||
|
||||
public:
|
||||
EntryProvider(QStringList userEntriesDirsPaths, QStringList systemEntriesDirsPaths);
|
||||
QVector<EntryConfig> getUserEntries();
|
||||
QVector<EntryConfig> getSystemEntries();
|
||||
void saveUserEntry(const EntryConfig &config);
|
||||
};
|
||||
|
||||
#endif // ENTRYPROVIDER_H
|
||||
|
Caricamento…
Fai riferimento in un nuovo problema
Block a user