QGIS API Documentation 3.99.0-Master (357b655ed83)
Loading...
Searching...
No Matches
qgsprocessingfavoritealgorithmmanager.cpp
Go to the documentation of this file.
1/***************************************************************************
2 qgsprocessingfavoritealgorithmmanager.cpp
3 ------------------------------------
4 Date : February 2024
5 Copyright : (C) 2024 Alexander Bruy
6 Email : alexander dot bruy at gmail dot com
7 ***************************************************************************
8 * *
9 * This program is free software; you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation; either version 2 of the License, or *
12 * (at your option) any later version. *
13 * *
14 ***************************************************************************/
15
17
19#include "qgssettingstree.h"
20
21#include <QString>
22
23#include "moc_qgsprocessingfavoritealgorithmmanager.cpp"
24
25using namespace Qt::StringLiterals;
26
28
29const QgsSettingsEntryStringList *QgsProcessingFavoriteAlgorithmManager::settingsFavoriteAlgorithms = new QgsSettingsEntryStringList( u"favorite-algorithms"_s, QgsSettingsTree::sTreeProcessing, QStringList(), QObject::tr( "Favorite Processing algorithms" ) );
30
31QgsProcessingFavoriteAlgorithmManager::QgsProcessingFavoriteAlgorithmManager( QObject *parent )
32 : QObject( parent )
33{
34 mFavoriteAlgorithmIds = QgsProcessingFavoriteAlgorithmManager::settingsFavoriteAlgorithms->value();
35}
36
37QStringList QgsProcessingFavoriteAlgorithmManager::favoriteAlgorithmIds() const
38{
39 return mFavoriteAlgorithmIds;
40}
41
42void QgsProcessingFavoriteAlgorithmManager::add( const QString &id )
43{
44 if ( mFavoriteAlgorithmIds.contains( id ) )
45 {
46 return;
47 }
48
49 mFavoriteAlgorithmIds << id;
50 QgsProcessingFavoriteAlgorithmManager::settingsFavoriteAlgorithms->setValue( mFavoriteAlgorithmIds );
51 emit changed();
52}
53
54void QgsProcessingFavoriteAlgorithmManager::remove( const QString &id )
55{
56 if ( !mFavoriteAlgorithmIds.contains( id ) )
57 {
58 return;
59 }
60
61 mFavoriteAlgorithmIds.removeAll( id );
62 QgsProcessingFavoriteAlgorithmManager::settingsFavoriteAlgorithms->setValue( mFavoriteAlgorithmIds );
63 emit changed();
64}
65
66void QgsProcessingFavoriteAlgorithmManager::clear()
67{
68 mFavoriteAlgorithmIds.clear();
69 QgsProcessingFavoriteAlgorithmManager::settingsFavoriteAlgorithms->setValue( mFavoriteAlgorithmIds );
70 emit changed();
71}
72
73bool QgsProcessingFavoriteAlgorithmManager::isFavorite( const QString &id ) const
74{
75 return mFavoriteAlgorithmIds.contains( id );
76}
77
T value(const QString &dynamicKeyPart=QString()) const
Returns settings value.
bool setValue(const T &value, const QString &dynamicKeyPart=QString()) const
Set settings value.
A string list settings entry.
static QgsSettingsTreeNode * sTreeProcessing