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