void QgsComposerPictureWidget::addStandardDirectoriesToPreview() { mPreviewListWidget->clear(); //list all directories in $prefix/share/qgis/svg QStringList svgPaths = QgsApplication::svgPaths(); for ( int i = 0; i < svgPaths.size(); i++ ) { QDir svgDirectory( svgPaths[i] ); if ( !svgDirectory.exists() || !svgDirectory.isReadable() ) { continue; } //add directory itself mSearchDirectoriesComboBox->addItem( svgDirectory.absolutePath() ); addDirectoryToPreview( svgDirectory.absolutePath() ); //and also subdirectories QFileInfoList directoryList = svgDirectory.entryInfoList( QDir::Dirs | QDir::NoDotAndDotDot ); QFileInfoList::const_iterator dirIt = directoryList.constBegin(); for ( ; dirIt != directoryList.constEnd(); ++dirIt ) { if ( addDirectoryToPreview( dirIt->absoluteFilePath() ) == 0 ) { mSearchDirectoriesComboBox->addItem( dirIt->absoluteFilePath() ); } } } //include additional user-defined directories for images QSettings s; QStringList userDirList = s.value( "/Composer/PictureWidgetDirectories" ).toStringList(); QStringList::const_iterator userDirIt = userDirList.constBegin(); for ( ; userDirIt != userDirList.constEnd(); ++userDirIt ) { addDirectoryToPreview( *userDirIt ); mSearchDirectoriesComboBox->addItem( *userDirIt ); } mPreviewsLoaded = true; }
void QgsSVGDiagramFactoryWidget::on_mAddDirectoryButton_clicked() { //let user select a directory QString directory = QFileDialog::getExistingDirectory( 0, tr( "Select new preview directory" ) ); if ( directory.isNull() ) { return; //dialog canceled by user } //add entry to mSearchDirectoriesComboBox mSearchDirectoriesComboBox->addItem( directory ); //and add icons to the preview addDirectoryToPreview( directory ); }
//list all directories in $prefix/share/qgis/svg foreach( QString path, QgsApplication::svgPaths() ) { QDir svgDirectory( path ); if ( !svgDirectory.exists() || !svgDirectory.isReadable() ) { continue; //error } QFileInfoList directoryList = svgDirectory.entryInfoList( QDir::Dirs | QDir::NoDotAndDotDot ); QFileInfoList::const_iterator dirIt = directoryList.constBegin(); for ( ; dirIt != directoryList.constEnd(); ++dirIt ) { if ( addDirectoryToPreview( dirIt->absoluteFilePath() ) == 0 ) { mSearchDirectoriesComboBox->addItem( dirIt->absoluteFilePath() ); } } }
void QgsComposerPictureWidget::on_mAddDirectoryButton_clicked() { //let user select a directory QString directory = QFileDialog::getExistingDirectory( this, tr( "Select new preview directory" ) ); if ( directory.isNull() ) { return; //dialog canceled by user } //add entry to mSearchDirectoriesComboBox mSearchDirectoriesComboBox->addItem( directory ); //and add icons to the preview addDirectoryToPreview( directory ); //update the image directory list in the settings QSettings s; QStringList userDirList = s.value( "/Composer/PictureWidgetDirectories" ).toStringList(); if ( !userDirList.contains( directory ) ) { userDirList.append( directory ); } s.setValue( "/Composer/PictureWidgetDirectories", userDirList ); }