19#include "moc_qgsfavoritesitem.cpp" 
   31  : 
QgsDataCollectionItem( parent, name, QStringLiteral( 
"favorites:" ), QStringLiteral( 
"special:Favorites" ) )
 
   36  mIconName = QStringLiteral( 
"/mIconFavorites.svg" );
 
 
   46  const QStringList favDirs = settings.
value( QStringLiteral( 
"browser/favourites" ), QVariant() ).toStringList();
 
   49  for ( 
const QString &favDir : favDirs )
 
   51    const QStringList parts = favDir.split( QStringLiteral( 
"|||" ) );
 
   55    const QString dir = parts.at( 0 );
 
   57    if ( parts.count() > 1 )
 
 
   68  const QString 
name = n.isEmpty() ? favDir : n;
 
   71  QStringList favDirs = settings.
value( QStringLiteral( 
"browser/favourites" ) ).toStringList();
 
   72  favDirs.append( QStringLiteral( 
"%1|||%2" ).arg( favDir, 
name ) );
 
   73  settings.
setValue( QStringLiteral( 
"browser/favourites" ), favDirs );
 
 
   91  QStringList favDirs = settings.
value( QStringLiteral( 
"browser/favourites" ) ).toStringList();
 
   92  for ( 
int i = favDirs.count() - 1; i >= 0; --i )
 
   94    const QStringList parts = favDirs.at( i ).split( QStringLiteral( 
"|||" ) );
 
   98    const QString dir = parts.at( 0 );
 
  100      favDirs.removeAt( i );
 
  102  settings.
setValue( QStringLiteral( 
"browser/favourites" ), favDirs );
 
  107    QgsDebugError( QStringLiteral( 
"favorites item %1 not found" ).arg( item->
path() ) );
 
 
  119  QStringList favDirs = settings.
value( QStringLiteral( 
"browser/favourites" ) ).toStringList();
 
  120  for ( 
int i = 0; i < favDirs.count(); ++i )
 
  122    const QStringList parts = favDirs.at( i ).split( QStringLiteral( 
"|||" ) );
 
  126    const QString dir = parts.at( 0 );
 
  129      const QStringList newParts { 
path, 
name };
 
  130      favDirs[i] = newParts.join( QLatin1String( 
"|||" ) );
 
  134  settings.
setValue( QStringLiteral( 
"browser/favourites" ), favDirs );
 
  137  const QVector<QgsDataItem *> ch = 
children();
 
  140    if ( 
QgsFavoriteItem *favorite = qobject_cast< QgsFavoriteItem * >( child ) )
 
  142      if ( favorite->dirPath() == 
path )
 
  144        favorite->setName( 
name );
 
 
  158  return QStringLiteral( 
" 0" );
 
 
  167  children.reserve( providers.size() );
 
  172      if ( 
QgsDataItem *item = provider->createDataItem( directory, 
this ) )
 
  174        item->setName( 
name );
 
  191  : 
QgsDirectoryItem( parent, name, dirPath, path, QStringLiteral( 
"special:Favorites" ) )
 
  192  , mFavorites( parent )
 
 
@ Directories
Can provides items which corresponds to directories.
 
@ Populated
Children created.
 
@ Rename
Item can be renamed.
 
@ Fast
CreateChildren() is fast enough to be run in main thread when refreshing items, most root items (wms,...
 
@ Favorites
Represents a favorite item.
 
static QgsDataItemProviderRegistry * dataItemProviderRegistry()
Returns the application's data item provider registry, which keeps a list of data item providers that...
 
static QIcon getThemeIcon(const QString &name, const QColor &fillColor=QColor(), const QColor &strokeColor=QColor())
Helper to get a theme icon.
 
A browser item for collections of data.
 
QList< QgsDataItemProvider * > providers() const
Returns the list of available providers.
 
Interface for providers that add custom data items to the browser tree.
 
Base class for all items in the model.
 
static int findItem(QVector< QgsDataItem * > items, QgsDataItem *item)
 
Qgis::BrowserItemType mType
 
virtual void deleteChildItem(QgsDataItem *child)
Removes and deletes a child item, emitting relevant signals to the model.
 
QVector< QgsDataItem * > mChildren
 
QVector< QgsDataItem * > children() const
 
Qgis::BrowserItemCapabilities mCapabilities
 
Qgis::BrowserItemState state() const
 
static QString pathComponent(const QString &component)
Create path component replacing path separators.
 
QString name() const
Returns the name of the item (the displayed text for the item).
 
virtual void addChildItem(QgsDataItem *child, bool refresh=false)
Inserts a new child item.
 
virtual void populate(const QVector< QgsDataItem * > &children)
 
A browser item for directories: contains subdirectories and layers.
 
QString dirPath() const
Returns the full path to the directory the item represents.
 
A directory item showing a single favorite directory.
 
QgsFavoriteItem(QgsFavoritesItem *parent, const QString &name, const QString &dirPath, const QString &path)
Constructor for QgsFavoriteItem.
 
bool rename(const QString &name) override
Sets a new name for the favorite.
 
A browser item which contains various Favorites directories.
 
void addDirectory(const QString &directory, const QString &name=QString())
Adds a new directory to the favorites group.
 
QVariant sortKey() const override
Returns the sorting key for the item.
 
void removeDirectory(QgsDirectoryItem *item)
Removes an existing directory from the favorites group.
 
static QIcon iconFavorites()
Icon for favorites group.
 
QVector< QgsDataItem * > createChildren() override
Create children.
 
QgsFavoritesItem(QgsDataItem *parent, const QString &name, const QString &path=QString())
Constructor for QgsFavoritesItem.
 
void renameFavorite(const QString &path, const QString &name)
Renames the stored favorite with corresponding path a new name.
 
Stores settings for use within QGIS.
 
QVariant value(const QString &key, const QVariant &defaultValue=QVariant(), Section section=NoSection) const
Returns the value for setting key.
 
void setValue(const QString &key, const QVariant &value, QgsSettings::Section section=QgsSettings::NoSection)
Sets the value of setting key to value.
 
#define QgsDebugError(str)