[QGIS Commit] r14321 - trunk/qgis/src/app/composer
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Fri Oct 1 11:20:29 EDT 2010
Author: mhugent
Date: 2010-10-01 15:20:29 +0000 (Fri, 01 Oct 2010)
New Revision: 14321
Modified:
trunk/qgis/src/app/composer/qgscomposerpicturewidget.cpp
Log:
Remember user specified image directories in composerimage widget. Fixes bug #3072
Modified: trunk/qgis/src/app/composer/qgscomposerpicturewidget.cpp
===================================================================
--- trunk/qgis/src/app/composer/qgscomposerpicturewidget.cpp 2010-09-30 23:16:46 UTC (rev 14320)
+++ trunk/qgis/src/app/composer/qgscomposerpicturewidget.cpp 2010-10-01 15:20:29 UTC (rev 14321)
@@ -27,6 +27,7 @@
#include <QMessageBox>
#include <QPainter>
#include <QProgressDialog>
+#include <QSettings>
#include <QSvgRenderer>
QgsComposerPictureWidget::QgsComposerPictureWidget( QgsComposerPicture* picture ): QWidget(), mPicture( picture )
@@ -180,11 +181,24 @@
//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 );
}
void QgsComposerPictureWidget::on_mRemoveDirectoryButton_clicked()
{
QString directoryToRemove = mSearchDirectoriesComboBox->currentText();
+ if ( directoryToRemove.isEmpty() )
+ {
+ return;
+ }
mSearchDirectoriesComboBox->removeItem( mSearchDirectoriesComboBox->currentIndex() );
//remove entries from back to front (to have the indices of existing items constant)
@@ -196,6 +210,12 @@
delete( mPreviewListWidget->takeItem( i ) );
}
}
+
+ //update the image directory list in the settings
+ QSettings s;
+ QStringList userDirList = s.value( "/Composer/PictureWidgetDirectories" ).toStringList();
+ userDirList.removeOne( directoryToRemove );
+ s.setValue( "/Composer/PictureWidgetDirectories", userDirList );
}
void QgsComposerPictureWidget::on_mRotationFromComposerMapCheckBox_stateChanged( int state )
@@ -463,6 +483,16 @@
}
}
}
+
+ //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 );
+ }
}
bool QgsComposerPictureWidget::testSvgFile( const QString& filename ) const
More information about the QGIS-commit
mailing list