add qgsrasterformatsaveoptionswidget to sip and cleanup names ; better hack for mOptionsLabel click

This commit is contained in:
Etienne Tourigny 2012-07-24 01:02:41 -03:00
parent ee3bf0e29f
commit c998ee4ac5
9 changed files with 215 additions and 146 deletions

View File

@ -37,5 +37,7 @@
%Include qgsattributeeditor.sip %Include qgsattributeeditor.sip
%Include qgsfieldvalidator.sip %Include qgsfieldvalidator.sip
%Include qgsquerybuilder.sip %Include qgsquerybuilder.sip
%Include qgsrasterformatsaveoptionswidget.sip
%Include symbology-ng-gui.sip %Include symbology-ng-gui.sip

View File

@ -0,0 +1,49 @@
class QgsRasterFormatSaveOptionsWidget : QWidget
{
%TypeHeaderCode
#include <qgsrasterformatsaveoptionswidget.h>
%End
public:
QgsRasterFormatSaveOptionsWidget( QWidget* parent = 0, QString format = "GTiff", QString provider = "gdal" );
~QgsRasterFormatSaveOptionsWidget();
void setFormat( QString format );
void setProvider( QString provider );
QStringList options() const;
void showProfileButtons( bool show = true );
public slots:
void apply();
void helpOptions();
bool validateOptions( bool gui = true );
private slots:
void on_mProfileNewButton_clicked();
void on_mProfileDeleteButton_clicked();
void on_mProfileResetButton_clicked();
void on_mOptionsAddButton_clicked();
void on_mOptionsDeleteButton_clicked();
void on_mOptionsLabel_clicked();
void on_mOptionsLineEdit_editingFinished();
void optionsTableChanged();
void optionsTableEnableDeleteButton();
void updateOptions();
private:
QString settingsKey( QString profile ) const;
QString currentProfileKey() const;
QString createOptions( QString profile ) const;
void deleteCreateOptions( QString profile );
void setCreateOptions( );
void setCreateOptions( QString profile, QString options );
void setCreateOptions( QString profile, QStringList list );
QStringList profiles() const;
void updateProfiles();
bool eventFilter(QObject *obj, QEvent *event);
};

View File

@ -26,7 +26,7 @@
#include "qgsnetworkaccessmanager.h" #include "qgsnetworkaccessmanager.h"
#include "qgsproject.h" #include "qgsproject.h"
#include "qgsrasterformatoptionswidget.h" #include "qgsrasterformatsaveoptionswidget.h"
#include "qgsdialog.h" #include "qgsdialog.h"
#include <QInputDialog> #include <QInputDialog>
@ -1103,7 +1103,8 @@ void QgsOptions::editGdalDriver( const QString& driverName )
QLabel *label = new QLabel( title, &dlg ); QLabel *label = new QLabel( title, &dlg );
label->setAlignment( Qt::AlignHCenter ); label->setAlignment( Qt::AlignHCenter );
layout->addWidget( label ); layout->addWidget( label );
QgsRasterFormatOptionsWidget* optionsWidget = new QgsRasterFormatOptionsWidget( &dlg, driverName, "gdal" ); QgsRasterFormatSaveOptionsWidget* optionsWidget =
new QgsRasterFormatSaveOptionsWidget( &dlg, driverName, "gdal" );
layout->addWidget( optionsWidget ); layout->addWidget( optionsWidget );
optionsWidget->showProfileButtons( true ); optionsWidget->showProfileButtons( true );

View File

@ -7,7 +7,6 @@ raster/qgspalettedrendererwidget.cpp
raster/qgssinglebandgrayrendererwidget.cpp raster/qgssinglebandgrayrendererwidget.cpp
raster/qgssinglebandpseudocolorrendererwidget.cpp raster/qgssinglebandpseudocolorrendererwidget.cpp
raster/qgsrasterhistogramwidget.cpp raster/qgsrasterhistogramwidget.cpp
raster/qgsrasterformatoptionswidget.cpp
symbology-ng/qgsbrushstylecombobox.cpp symbology-ng/qgsbrushstylecombobox.cpp
symbology-ng/qgscolorrampcombobox.cpp symbology-ng/qgscolorrampcombobox.cpp
@ -79,6 +78,7 @@ qgsprojectbadlayerguihandler.cpp
qgsprojectionselector.cpp qgsprojectionselector.cpp
qgsquickprint.cpp qgsquickprint.cpp
qgsrasterlayersaveasdialog.cpp qgsrasterlayersaveasdialog.cpp
qgsrasterformatsaveoptionswidget.cpp
qgsrubberband.cpp qgsrubberband.cpp
qgsscalecombobox.cpp qgsscalecombobox.cpp
qgstextannotationitem.cpp qgstextannotationitem.cpp
@ -105,7 +105,6 @@ raster/qgsmultibandcolorrendererwidget.h
raster/qgssinglebandgrayrendererwidget.h raster/qgssinglebandgrayrendererwidget.h
raster/qgssinglebandpseudocolorrendererwidget.h raster/qgssinglebandpseudocolorrendererwidget.h
raster/qgsrasterhistogramwidget.h raster/qgsrasterhistogramwidget.h
raster/qgsrasterformatoptionswidget.h
symbology-ng/qgsdashspacedialog.h symbology-ng/qgsdashspacedialog.h
symbology-ng/qgssymbollayerv2widget.h symbology-ng/qgssymbollayerv2widget.h
@ -160,6 +159,7 @@ qgsowssourceselect.h
qgsprojectionselector.h qgsprojectionselector.h
qgsquickprint.h qgsquickprint.h
qgsrasterlayersaveasdialog.h qgsrasterlayersaveasdialog.h
qgsrasterformatsaveoptionswidget.h
qgsludialog.h qgsludialog.h
qgsprojectbadlayerguihandler.h qgsprojectbadlayerguihandler.h
qgslonglongvalidator.h qgslonglongvalidator.h

View File

@ -1,5 +1,5 @@
/*************************************************************************** /***************************************************************************
qgsrasterformatoptionswidget.cpp qgsrasterformatsaveoptionswidget.cpp
------------------- -------------------
begin : July 2012 begin : July 2012
copyright : (C) 2012 by Etienne Tourigny copyright : (C) 2012 by Etienne Tourigny
@ -15,7 +15,7 @@
* * * *
***************************************************************************/ ***************************************************************************/
#include "qgsrasterformatoptionswidget.h" #include "qgsrasterformatsaveoptionswidget.h"
#include "qgslogger.h" #include "qgslogger.h"
#include "qgsdialog.h" #include "qgsdialog.h"
@ -28,6 +28,7 @@
#include <QInputDialog> #include <QInputDialog>
#include <QMessageBox> #include <QMessageBox>
#include <QTextEdit> #include <QTextEdit>
#include <QMouseEvent>
// todo put this somewhere else - how can we access gdal provider? // todo put this somewhere else - how can we access gdal provider?
char** papszFromStringList( const QStringList& list ) char** papszFromStringList( const QStringList& list )
@ -40,10 +41,9 @@ char** papszFromStringList( const QStringList& list )
return papszRetList; return papszRetList;
} }
QMap< QString, QStringList > QgsRasterFormatSaveOptionsWidget::mBuiltinProfiles;
QMap< QString, QStringList > QgsRasterFormatOptionsWidget::mBuiltinProfiles; QgsRasterFormatSaveOptionsWidget::QgsRasterFormatSaveOptionsWidget( QWidget* parent, QString format, QString provider )
QgsRasterFormatOptionsWidget::QgsRasterFormatOptionsWidget( QWidget* parent, QString format, QString provider )
: QWidget( parent ), mFormat( format ), mProvider( provider ) : QWidget( parent ), mFormat( format ), mProvider( provider )
{ {
@ -71,36 +71,37 @@ QgsRasterFormatOptionsWidget::QgsRasterFormatOptionsWidget( QWidget* parent, QSt
connect( mProfileComboBox, SIGNAL( currentIndexChanged( const QString & ) ), connect( mProfileComboBox, SIGNAL( currentIndexChanged( const QString & ) ),
this, SLOT( updateOptions() ) ); this, SLOT( updateOptions() ) );
connect( mOptionsTable, SIGNAL( cellChanged( int, int ) ), this, SLOT( optionsTableChanged() ) ); connect( mOptionsTable, SIGNAL( cellChanged( int, int ) ), this, SLOT( optionsTableChanged() ) );
// connect( mOptionsAddButton, SIGNAL( clicked() ), this, SLOT( optionsTableAddNewRow() ) ); connect( mOptionsHelpButton, SIGNAL( clicked() ), this, SLOT( helpOptions() ) );
// connect( mOptionsDeleteButton, SIGNAL( clicked() ), this, SLOT( optionsTableDeleteRow() ) ); connect( mOptionsValidateButton, SIGNAL( clicked() ), this, SLOT( validateOptions() ) );
connect( mOptionsHelpButton, SIGNAL( clicked() ), this, SLOT( optionsHelp() ) );
connect( mOptionsValidateButton, SIGNAL( clicked() ), this, SLOT( optionsValidate() ) ); // map options label left mouse click to optionsToggle()
mOptionsLabel->installEventFilter( this );
updateProfiles(); updateProfiles();
} }
QgsRasterFormatOptionsWidget::~QgsRasterFormatOptionsWidget() QgsRasterFormatSaveOptionsWidget::~QgsRasterFormatSaveOptionsWidget()
{ {
} }
void QgsRasterFormatOptionsWidget::setFormat( QString format ) void QgsRasterFormatSaveOptionsWidget::setFormat( QString format )
{ {
mFormat = format; mFormat = format;
updateProfiles(); updateProfiles();
} }
void QgsRasterFormatOptionsWidget::setProvider( QString provider ) void QgsRasterFormatSaveOptionsWidget::setProvider( QString provider )
{ {
mProvider = provider; mProvider = provider;
} }
void QgsRasterFormatOptionsWidget::showProfileButtons( bool show ) void QgsRasterFormatSaveOptionsWidget::showProfileButtons( bool show )
{ {
mProfileButtons->setVisible( show ); mProfileButtons->setVisible( show );
} }
void QgsRasterFormatOptionsWidget::updateProfiles() void QgsRasterFormatSaveOptionsWidget::updateProfiles()
{ {
// build profiles list = user + builtin(last) // build profiles list = user + builtin(last)
QStringList profileKeys = profiles(); QStringList profileKeys = profiles();
@ -146,8 +147,7 @@ void QgsRasterFormatOptionsWidget::updateProfiles()
updateOptions(); updateOptions();
} }
// void QgsRasterFormatOptionsWidget::on_mProfileComboBox_currentIndexChanged( const QString & text ) void QgsRasterFormatSaveOptionsWidget::updateOptions()
void QgsRasterFormatOptionsWidget::updateOptions()
{ {
QString myOptions = mOptionsMap.value( currentProfileKey() ); QString myOptions = mOptionsMap.value( currentProfileKey() );
QStringList myOptionsList = myOptions.trimmed().split( " ", QString::SkipEmptyParts ); QStringList myOptionsList = myOptions.trimmed().split( " ", QString::SkipEmptyParts );
@ -172,13 +172,13 @@ void QgsRasterFormatOptionsWidget::updateOptions()
} }
} }
void QgsRasterFormatOptionsWidget::apply() void QgsRasterFormatSaveOptionsWidget::apply()
{ {
setCreateOptions(); setCreateOptions();
} }
void QgsRasterFormatOptionsWidget::optionsHelp() void QgsRasterFormatSaveOptionsWidget::helpOptions()
{ {
QString message; QString message;
@ -214,21 +214,21 @@ void QgsRasterFormatOptionsWidget::optionsHelp()
dlg->show(); //non modal dlg->show(); //non modal
} }
bool QgsRasterFormatOptionsWidget::optionsValidate( bool message ) bool QgsRasterFormatSaveOptionsWidget::validateOptions( bool gui )
{ {
QStringList options = createOptions(); QStringList createOptions = options();
bool ok = false; bool ok = false;
if ( !options.isEmpty() && mProvider == "gdal" && mFormat != "" && mFormat != "_pyramids" ) if ( !createOptions.isEmpty() && mProvider == "gdal" && mFormat != "" && mFormat != "_pyramids" )
{ {
GDALDriverH myGdalDriver = GDALGetDriverByName( mFormat.toLocal8Bit().constData() ); GDALDriverH myGdalDriver = GDALGetDriverByName( mFormat.toLocal8Bit().constData() );
if ( myGdalDriver ) if ( myGdalDriver )
{ {
// print error string? // print error string?
char** papszOptions = papszFromStringList( options ); char** papszOptions = papszFromStringList( createOptions );
ok = ( GDALValidateCreationOptions( myGdalDriver, papszOptions ) == TRUE ); ok = ( GDALValidateCreationOptions( myGdalDriver, papszOptions ) == TRUE );
CSLDestroy( papszOptions ); CSLDestroy( papszOptions );
if ( message ) if ( gui )
{ {
if ( ok ) if ( ok )
QMessageBox::information( this, "", tr( "Valid" ), QMessageBox::Close ); QMessageBox::information( this, "", tr( "Valid" ), QMessageBox::Close );
@ -240,7 +240,7 @@ bool QgsRasterFormatOptionsWidget::optionsValidate( bool message )
return ok; return ok;
} }
void QgsRasterFormatOptionsWidget::optionsTableChanged() void QgsRasterFormatSaveOptionsWidget::optionsTableChanged()
{ {
QTableWidgetItem *key, *value; QTableWidgetItem *key, *value;
QString options; QString options;
@ -259,12 +259,12 @@ void QgsRasterFormatOptionsWidget::optionsTableChanged()
mOptionsLineEdit->setText( options ); mOptionsLineEdit->setText( options );
} }
void QgsRasterFormatOptionsWidget::on_mOptionsLineEdit_editingFinished() void QgsRasterFormatSaveOptionsWidget::on_mOptionsLineEdit_editingFinished()
{ {
mOptionsMap[ currentProfileKey()] = mOptionsLineEdit->text().trimmed(); mOptionsMap[ currentProfileKey()] = mOptionsLineEdit->text().trimmed();
} }
void QgsRasterFormatOptionsWidget::on_mProfileNewButton_clicked() void QgsRasterFormatSaveOptionsWidget::on_mProfileNewButton_clicked()
{ {
QString profileName = QInputDialog::getText( this, "", tr( "Profile name:" ) ); QString profileName = QInputDialog::getText( this, "", tr( "Profile name:" ) );
if ( ! profileName.isEmpty() ) if ( ! profileName.isEmpty() )
@ -276,7 +276,7 @@ void QgsRasterFormatOptionsWidget::on_mProfileNewButton_clicked()
} }
} }
void QgsRasterFormatOptionsWidget::on_mProfileDeleteButton_clicked() void QgsRasterFormatSaveOptionsWidget::on_mProfileDeleteButton_clicked()
{ {
int index = mProfileComboBox->currentIndex(); int index = mProfileComboBox->currentIndex();
QString profileKey = currentProfileKey(); QString profileKey = currentProfileKey();
@ -287,7 +287,7 @@ void QgsRasterFormatOptionsWidget::on_mProfileDeleteButton_clicked()
} }
} }
void QgsRasterFormatOptionsWidget::on_mProfileResetButton_clicked() void QgsRasterFormatSaveOptionsWidget::on_mProfileResetButton_clicked()
{ {
QString profileKey = currentProfileKey(); QString profileKey = currentProfileKey();
if ( mBuiltinProfiles.contains( profileKey ) ) if ( mBuiltinProfiles.contains( profileKey ) )
@ -302,18 +302,12 @@ void QgsRasterFormatOptionsWidget::on_mProfileResetButton_clicked()
updateOptions(); updateOptions();
} }
void QgsRasterFormatOptionsWidget::on_mOptionsLabel_clicked() void QgsRasterFormatSaveOptionsWidget::optionsTableEnableDeleteButton()
{
mOptionsStackedWIdget->setCurrentIndex(( mOptionsStackedWIdget->currentIndex() + 1 ) % 2 );
updateOptions();
}
void QgsRasterFormatOptionsWidget::optionsTableEnableDeleteButton()
{ {
mOptionsDeleteButton->setEnabled( mOptionsTable->currentRow() >= 0 ); mOptionsDeleteButton->setEnabled( mOptionsTable->currentRow() >= 0 );
} }
void QgsRasterFormatOptionsWidget::on_mOptionsAddButton_clicked() void QgsRasterFormatSaveOptionsWidget::on_mOptionsAddButton_clicked()
{ {
mOptionsTable->insertRow( mOptionsTable->rowCount() ); mOptionsTable->insertRow( mOptionsTable->rowCount() );
// select the added row // select the added row
@ -323,7 +317,7 @@ void QgsRasterFormatOptionsWidget::on_mOptionsAddButton_clicked()
mOptionsTable->setCurrentItem( item ); mOptionsTable->setCurrentItem( item );
} }
void QgsRasterFormatOptionsWidget::on_mOptionsDeleteButton_clicked() void QgsRasterFormatSaveOptionsWidget::on_mOptionsDeleteButton_clicked()
{ {
if ( mOptionsTable->currentRow() >= 0 ) if ( mOptionsTable->currentRow() >= 0 )
{ {
@ -336,7 +330,7 @@ void QgsRasterFormatOptionsWidget::on_mOptionsDeleteButton_clicked()
} }
QString QgsRasterFormatOptionsWidget::settingsKey( QString profileName ) const QString QgsRasterFormatSaveOptionsWidget::settingsKey( QString profileName ) const
{ {
if ( profileName != "" ) if ( profileName != "" )
profileName = "/profile_" + profileName; profileName = "/profile_" + profileName;
@ -345,29 +339,29 @@ QString QgsRasterFormatOptionsWidget::settingsKey( QString profileName ) const
return mProvider + "/driverOptions/" + mFormat.toLower() + profileName + "/create"; return mProvider + "/driverOptions/" + mFormat.toLower() + profileName + "/create";
} }
QString QgsRasterFormatOptionsWidget::currentProfileKey() const QString QgsRasterFormatSaveOptionsWidget::currentProfileKey() const
{ {
return mProfileComboBox->itemData( mProfileComboBox->currentIndex() ).toString(); return mProfileComboBox->itemData( mProfileComboBox->currentIndex() ).toString();
} }
QStringList QgsRasterFormatOptionsWidget::createOptions() const QStringList QgsRasterFormatSaveOptionsWidget::options() const
{ {
return mOptionsMap.value( currentProfileKey() ).trimmed().split( " ", QString::SkipEmptyParts ); return mOptionsMap.value( currentProfileKey() ).trimmed().split( " ", QString::SkipEmptyParts );
} }
QString QgsRasterFormatOptionsWidget::createOptions( QString profileName ) const QString QgsRasterFormatSaveOptionsWidget::createOptions( QString profileName ) const
{ {
QSettings mySettings; QSettings mySettings;
return mySettings.value( settingsKey( profileName ), "" ).toString(); return mySettings.value( settingsKey( profileName ), "" ).toString();
} }
void QgsRasterFormatOptionsWidget::deleteCreateOptions( QString profileName ) void QgsRasterFormatSaveOptionsWidget::deleteCreateOptions( QString profileName )
{ {
QSettings mySettings; QSettings mySettings;
mySettings.remove( settingsKey( profileName ) ); mySettings.remove( settingsKey( profileName ) );
} }
void QgsRasterFormatOptionsWidget::setCreateOptions() void QgsRasterFormatSaveOptionsWidget::setCreateOptions()
{ {
QSettings mySettings; QSettings mySettings;
QString myProfiles; QString myProfiles;
@ -381,19 +375,36 @@ void QgsRasterFormatOptionsWidget::setCreateOptions()
mySettings.setValue( mProvider + "/driverOptions/" + mFormat.toLower() + "/profiles", myProfiles.trimmed() ); mySettings.setValue( mProvider + "/driverOptions/" + mFormat.toLower() + "/profiles", myProfiles.trimmed() );
} }
void QgsRasterFormatOptionsWidget::setCreateOptions( QString profileName, QString options ) void QgsRasterFormatSaveOptionsWidget::setCreateOptions( QString profileName, QString options )
{ {
QSettings mySettings; QSettings mySettings;
mySettings.setValue( settingsKey( profileName ), options.trimmed() ); mySettings.setValue( settingsKey( profileName ), options.trimmed() );
} }
void QgsRasterFormatOptionsWidget::setCreateOptions( QString profileName, QStringList list ) void QgsRasterFormatSaveOptionsWidget::setCreateOptions( QString profileName, QStringList list )
{ {
setCreateOptions( profileName, list.join( " " ) ); setCreateOptions( profileName, list.join( " " ) );
} }
QStringList QgsRasterFormatOptionsWidget::profiles() const QStringList QgsRasterFormatSaveOptionsWidget::profiles() const
{ {
QSettings mySettings; QSettings mySettings;
return mySettings.value( mProvider + "/driverOptions/" + mFormat.toLower() + "/profiles", "" ).toString().trimmed().split( " ", QString::SkipEmptyParts ); return mySettings.value( mProvider + "/driverOptions/" + mFormat.toLower() + "/profiles", "" ).toString().trimmed().split( " ", QString::SkipEmptyParts );
} }
// map options label left mouse click to optionsToggle()
bool QgsRasterFormatSaveOptionsWidget::eventFilter( QObject *obj, QEvent *event )
{
if ( event->type() == QEvent::MouseButtonPress )
{
QMouseEvent *mouseEvent = static_cast<QMouseEvent *>( event );
if ( mouseEvent && ( mouseEvent->button() == Qt::LeftButton ) )
{
mOptionsStackedWIdget->setCurrentIndex(( mOptionsStackedWIdget->currentIndex() + 1 ) % 2 );
updateOptions();
return true;
}
}
// standard event processing
return QObject::eventFilter( obj, event );
}

View File

@ -1,5 +1,5 @@
/*************************************************************************** /***************************************************************************
qgsrasterformatoptionswidget.h qgsrasterformatsaveoptionswidget.h
------------------- -------------------
begin : July 2012 begin : July 2012
copyright : (C) 2012 by Etienne Tourigny copyright : (C) 2012 by Etienne Tourigny
@ -15,30 +15,33 @@
* * * *
***************************************************************************/ ***************************************************************************/
#ifndef QGSRASTERFORMATOPTIONSWIDGET_H #ifndef QGSRASTERFORMATSAVEOPTIONSWIDGET_H
#define QGSRASTERFORMATOPTIONSWIDGET_H #define QGSRASTERFORMATSAVEOPTIONSWIDGET_H
#include "ui_qgsrasterformatoptionswidgetbase.h" #include "ui_qgsrasterformatsaveoptionswidgetbase.h"
class GUI_EXPORT QgsRasterFormatOptionsWidget: public QWidget, private Ui::QgsRasterFormatOptionsWidgetBase /** \ingroup gui
* A widget to select format-specific raster saving options
*/
class GUI_EXPORT QgsRasterFormatSaveOptionsWidget: public QWidget, private Ui::QgsRasterFormatSaveOptionsWidgetBase
{ {
Q_OBJECT Q_OBJECT
public: public:
QgsRasterFormatOptionsWidget( QWidget* parent = 0, QString format = "GTiff", QString provider = "gdal" ); QgsRasterFormatSaveOptionsWidget( QWidget* parent = 0, QString format = "GTiff", QString provider = "gdal" );
~QgsRasterFormatOptionsWidget(); ~QgsRasterFormatSaveOptionsWidget();
void setFormat( QString format ); void setFormat( QString format );
void setProvider( QString provider ); void setProvider( QString provider );
QStringList createOptions() const; QStringList options() const;
void showProfileButtons( bool show = true ); void showProfileButtons( bool show = true );
public slots: public slots:
void apply(); void apply();
void optionsHelp(); void helpOptions();
bool optionsValidate( bool message = true ); bool validateOptions( bool gui = true );
private slots: private slots:
@ -47,7 +50,6 @@ class GUI_EXPORT QgsRasterFormatOptionsWidget: public QWidget, private Ui::QgsRa
void on_mProfileResetButton_clicked(); void on_mProfileResetButton_clicked();
void on_mOptionsAddButton_clicked(); void on_mOptionsAddButton_clicked();
void on_mOptionsDeleteButton_clicked(); void on_mOptionsDeleteButton_clicked();
void on_mOptionsLabel_clicked();
void on_mOptionsLineEdit_editingFinished(); void on_mOptionsLineEdit_editingFinished();
void optionsTableChanged(); void optionsTableChanged();
void optionsTableEnableDeleteButton(); void optionsTableEnableDeleteButton();
@ -69,6 +71,7 @@ class GUI_EXPORT QgsRasterFormatOptionsWidget: public QWidget, private Ui::QgsRa
void setCreateOptions( QString profile, QStringList list ); void setCreateOptions( QString profile, QStringList list );
QStringList profiles() const; QStringList profiles() const;
void updateProfiles(); void updateProfiles();
bool eventFilter( QObject *obj, QEvent *event );
}; };

View File

@ -1,6 +1,6 @@
#include "qgsrasterlayersaveasdialog.h" #include "qgsrasterlayersaveasdialog.h"
#include "qgsrasterdataprovider.h" #include "qgsrasterdataprovider.h"
#include "raster/qgsrasterformatoptionswidget.h" #include "qgsrasterformatsaveoptionswidget.h"
#include <QFileDialog> #include <QFileDialog>
#include <QSettings> #include <QSettings>
@ -166,8 +166,7 @@ QString QgsRasterLayerSaveAsDialog::outputFormat() const
QStringList QgsRasterLayerSaveAsDialog::createOptions() const QStringList QgsRasterLayerSaveAsDialog::createOptions() const
{ {
// return mCreateOptionsLineEdit->text().trimmed().toUpper().split( " " ); return mOptionsWidget ? mOptionsWidget->options() : QStringList();
return mOptionsWidget ? mOptionsWidget->createOptions() : QStringList();
} }
QgsRectangle QgsRasterLayerSaveAsDialog::outputRectangle() const QgsRectangle QgsRasterLayerSaveAsDialog::outputRectangle() const

View File

@ -1,26 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0"> <ui version="4.0">
<class>QgsRasterFormatOptionsWidgetBase</class> <class>QgsRasterFormatSaveOptionsWidgetBase</class>
<widget class="QWidget" name="QgsRasterFormatOptionsWidgetBase"> <widget class="QWidget" name="QgsRasterFormatSaveOptionsWidgetBase">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>406</width> <width>389</width>
<height>205</height> <height>203</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Form</string> <string>Form</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="mProfileLabel">
<property name="text">
<string>Profile</string>
</property>
</widget>
</item>
<item row="1" column="0"> <item row="1" column="0">
<spacer name="verticalSpacer_2"> <spacer name="verticalSpacer_2">
<property name="orientation"> <property name="orientation">
@ -37,7 +30,64 @@
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="2" column="1"> <item row="2" column="0">
<widget class="QLabel" name="mOptionsLabel">
<property name="text">
<string>Options</string>
</property>
</widget>
</item>
<item row="0" column="2">
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0">
<widget class="QComboBox" name="mProfileComboBox">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QWidget" name="mProfileButtons" native="true">
<layout class="QHBoxLayout" name="mProfileButtonsLayout">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="mProfileNewButton">
<property name="text">
<string>New</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="mProfileDeleteButton">
<property name="text">
<string>Remove</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="mProfileResetButton">
<property name="text">
<string>Reset</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</item>
<item row="2" column="2">
<widget class="QStackedWidget" name="mOptionsStackedWIdget"> <widget class="QStackedWidget" name="mOptionsStackedWIdget">
<property name="currentIndex"> <property name="currentIndex">
<number>0</number> <number>0</number>
@ -140,9 +190,6 @@
</layout> </layout>
</item> </item>
</layout> </layout>
<zorder>mOptionsLineEdit</zorder>
<zorder>mOptionsTable</zorder>
<zorder>layoutWidget</zorder>
</widget> </widget>
<widget class="QWidget" name="page_2"> <widget class="QWidget" name="page_2">
<layout class="QVBoxLayout" name="verticalLayout_2"> <layout class="QVBoxLayout" name="verticalLayout_2">
@ -157,74 +204,31 @@
</widget> </widget>
</item> </item>
</layout> </layout>
<zorder>mOptionsTable</zorder>
<zorder>layoutWidget</zorder>
<zorder>mOptionsLineEdit</zorder>
</widget> </widget>
</widget> </widget>
</item> </item>
<item row="2" column="0"> <item row="0" column="0">
<widget class="QPushButton" name="mOptionsLabel"> <widget class="QLabel" name="mProfileLabel">
<property name="styleSheet">
<string notr="true">Text-align:left</string>
</property>
<property name="text"> <property name="text">
<string>Options</string> <string>Profile</string>
</property>
<property name="flat">
<bool>true</bool>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="1"> <item row="0" column="1">
<layout class="QGridLayout" name="gridLayout_3"> <spacer name="horizontalSpacer">
<item row="0" column="0"> <property name="orientation">
<widget class="QComboBox" name="mProfileComboBox"> <enum>Qt::Horizontal</enum>
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property> </property>
<property name="minimumSize"> <property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size> <size>
<width>150</width> <width>5</width>
<height>0</height> <height>20</height>
</size> </size>
</property> </property>
</widget> </spacer>
</item>
<item row="1" column="0">
<widget class="QWidget" name="mProfileButtons" native="true">
<layout class="QHBoxLayout" name="mProfileButtonsLayout">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="mProfileNewButton">
<property name="text">
<string>New</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="mProfileDeleteButton">
<property name="text">
<string>Remove</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="mProfileResetButton">
<property name="text">
<string>Reset</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</item> </item>
</layout> </layout>
</widget> </widget>

View File

@ -218,7 +218,7 @@
<number>0</number> <number>0</number>
</property> </property>
<item row="0" column="0"> <item row="0" column="0">
<widget class="QgsRasterFormatOptionsWidget" name="mOptionsWidget" native="true"/> <widget class="QgsRasterFormatSaveOptionsWidget" name="mOptionsWidget" native="true"/>
</item> </item>
</layout> </layout>
</widget> </widget>
@ -227,9 +227,9 @@
</widget> </widget>
<customwidgets> <customwidgets>
<customwidget> <customwidget>
<class>QgsRasterFormatOptionsWidget</class> <class>QgsRasterFormatSaveOptionsWidget</class>
<extends>QWidget</extends> <extends>QWidget</extends>
<header>raster/qgsrasterformatoptionswidget.h</header> <header>qgsrasterformatsaveoptionswidget.h</header>
<container>1</container> <container>1</container>
</customwidget> </customwidget>
</customwidgets> </customwidgets>