QGIS API Documentation 4.1.0-Master (5bf3c20f3c9)
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
30 = new QgsSettingsEntryStringList( u"favorite-algorithms"_s, QgsSettingsTree::sTreeProcessing, QStringList(), QObject::tr( "Favorite Processing algorithms" ) );
31
32QgsProcessingFavoriteAlgorithmManager::QgsProcessingFavoriteAlgorithmManager( QObject *parent )
33 : QObject( parent )
34{
35 mFavoriteAlgorithmIds = QgsProcessingFavoriteAlgorithmManager::settingsFavoriteAlgorithms->value();
36}
37
38QStringList QgsProcessingFavoriteAlgorithmManager::favoriteAlgorithmIds() const
39{
40 return mFavoriteAlgorithmIds;
41}
42
43void QgsProcessingFavoriteAlgorithmManager::add( const QString &id )
44{
45 if ( mFavoriteAlgorithmIds.contains( id ) )
46 {
47 return;
48 }
49
50 mFavoriteAlgorithmIds << id;
51 QgsProcessingFavoriteAlgorithmManager::settingsFavoriteAlgorithms->setValue( mFavoriteAlgorithmIds );
52 emit changed();
53}
54
55void QgsProcessingFavoriteAlgorithmManager::remove( const QString &id )
56{
57 if ( !mFavoriteAlgorithmIds.contains( id ) )
58 {
59 return;
60 }
61
62 mFavoriteAlgorithmIds.removeAll( id );
63 QgsProcessingFavoriteAlgorithmManager::settingsFavoriteAlgorithms->setValue( mFavoriteAlgorithmIds );
64 emit changed();
65}
66
67void QgsProcessingFavoriteAlgorithmManager::clear()
68{
69 mFavoriteAlgorithmIds.clear();
70 QgsProcessingFavoriteAlgorithmManager::settingsFavoriteAlgorithms->setValue( mFavoriteAlgorithmIds );
71 emit changed();
72}
73
74bool QgsProcessingFavoriteAlgorithmManager::isFavorite( const QString &id ) const
75{
76 return mFavoriteAlgorithmIds.contains( id );
77}
78
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