Skip to content

Commit

Permalink
address review + fix file filter for any image
Browse files Browse the repository at this point in the history
  • Loading branch information
3nids committed May 11, 2021
1 parent 3a451fc commit f29fbd9
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 10 deletions.
8 changes: 4 additions & 4 deletions src/gui/layout/qgslayoutpicturewidget.cpp
Expand Up @@ -72,7 +72,7 @@ QgsLayoutPictureWidget::QgsLayoutPictureWidget( QgsLayoutItemPicture *picture )
connect( mPictureRotationOffsetSpinBox, static_cast < void ( QDoubleSpinBox::* )( double ) > ( &QDoubleSpinBox::valueChanged ), this, &QgsLayoutPictureWidget::mPictureRotationOffsetSpinBox_valueChanged );
connect( mNorthTypeComboBox, static_cast<void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this, &QgsLayoutPictureWidget::mNorthTypeComboBox_currentIndexChanged );
connect( mSvgSelectorWidget->sourceLineEdit(), &QgsSvgSourceLineEdit::sourceChanged, this, &QgsLayoutPictureWidget::sourceChanged );
connect( mSvgSelectorWidget, &QgsSvgSelectorWidget::svgParametersChanged, this, &QgsLayoutPictureWidget::setSvgParameters );
connect( mSvgSelectorWidget, &QgsSvgSelectorWidget::svgParametersChanged, this, &QgsLayoutPictureWidget::setSvgDynamicParameters );
connect( mRadioSVG, &QRadioButton::toggled, this, &QgsLayoutPictureWidget::modeChanged );
connect( mRadioRaster, &QRadioButton::toggled, this, &QgsLayoutPictureWidget::modeChanged );

Expand Down Expand Up @@ -358,7 +358,7 @@ void QgsLayoutPictureWidget::updateSvgParamGui( bool resetValues )

QString picturePath = mPicture->picturePath();

//activate gui for svg parameters only if supported by the svg file/ do nothing
//activate gui for svg parameters only if supported by the svg file
bool hasFillParam, hasFillOpacityParam, hasStrokeParam, hasStrokeWidthParam, hasStrokeOpacityParam;
QColor defaultFill, defaultStroke;
double defaultStrokeWidth, defaultFillOpacity, defaultStrokeOpacity;
Expand Down Expand Up @@ -450,7 +450,7 @@ void QgsLayoutPictureWidget::modeChanged( bool checked )
bool svg = mRadioSVG->isChecked();
const QgsLayoutItemPicture::Format newFormat = svg ? QgsLayoutItemPicture::FormatSVG : QgsLayoutItemPicture::FormatRaster;

mSvgSelectorWidget->setAllowAnyImage( svg );
mSvgSelectorWidget->setAllowAnyImage( !svg );
mSvgSelectorWidget->setBrowserVisible( svg );
mSvgSelectorWidget->setAllowParameters( svg );
mSVGParamsGroupBox->setVisible( svg );
Expand All @@ -475,7 +475,7 @@ void QgsLayoutPictureWidget::sourceChanged( const QString &source )
}
}

void QgsLayoutPictureWidget::setSvgParameters( const QMap<QString, QgsProperty> &parameters )
void QgsLayoutPictureWidget::setSvgDynamicParameters( const QMap<QString, QgsProperty> &parameters )
{
mPicture->beginCommand( tr( "Set SVG parameters" ) );
mPicture->setSvgDynamicParameters( parameters );
Expand Down
2 changes: 1 addition & 1 deletion src/gui/layout/qgslayoutpicturewidget.h
Expand Up @@ -72,7 +72,7 @@ class GUI_EXPORT QgsLayoutPictureWidget: public QgsLayoutItemBaseWidget, private
void mNorthTypeComboBox_currentIndexChanged( int index );

void sourceChanged( const QString &source );
void setSvgParameters( const QMap<QString, QgsProperty> &parameters );
void setSvgDynamicParameters( const QMap<QString, QgsProperty> &parameters );
void modeChanged( bool checked );
private:
QPointer< QgsLayoutItemPicture > mPicture;
Expand Down
18 changes: 13 additions & 5 deletions src/gui/qgsfilecontentsourcelineedit.cpp
Expand Up @@ -18,12 +18,14 @@
#include "qgsmessagebar.h"
#include "qgsfilterlineedit.h"
#include "qgspropertyoverridebutton.h"
#include <QMenu>
#include <QLineEdit>
#include <QToolButton>
#include <QHBoxLayout>

#include <QFileDialog>
#include <QHBoxLayout>
#include <QImageReader>
#include <QInputDialog>
#include <QLineEdit>
#include <QMenu>
#include <QToolButton>
#include <QUrl>

//
Expand Down Expand Up @@ -294,7 +296,13 @@ QString QgsPictureSourceLineEditBase::fileFilter() const
case Svg:
return tr( "SVG files" ) + " (*.svg)";
case Image:
return tr( "All files" ) + " (*.*)";
QStringList formatsFilter;
const QByteArrayList supportedFormats = QImageReader::supportedImageFormats();
for ( const auto &format : supportedFormats )
{
formatsFilter.append( QString( QStringLiteral( "*.%1" ) ).arg( QString( format ) ) );
}
return QString( "%1 (%2);;%3 (*.*)" ).arg( tr( "Images" ), formatsFilter.join( QStringLiteral( " " ) ), tr( "All files" ) );
}
}

Expand Down

0 comments on commit f29fbd9

Please sign in to comment.