mirror of
https://github.com/qgis/QGIS.git
synced 2025-11-05 00:05:57 -05:00
Fix for #980 - remove dialogs after loading and saving styles
git-svn-id: http://svn.osgeo.org/qgis/trunk@8741 c8812cc2-4d05-0410-92ff-de0c093fc19c
This commit is contained in:
parent
014c185288
commit
51a26c26c5
@ -2866,12 +2866,17 @@ void QgsRasterLayerProperties::on_pbnLoadDefaultStyle_clicked()
|
|||||||
//reset if the default style was loaded ok only
|
//reset if the default style was loaded ok only
|
||||||
if ( defaultLoadedFlag )
|
if ( defaultLoadedFlag )
|
||||||
{
|
{
|
||||||
|
//it worked so do it quietly
|
||||||
sync();
|
sync();
|
||||||
}
|
}
|
||||||
QMessageBox::information( this,
|
else
|
||||||
tr("Default Style"),
|
{
|
||||||
myMessage
|
//otherwise let the user know what went wrong
|
||||||
);
|
QMessageBox::information( this,
|
||||||
|
tr("Default Style"),
|
||||||
|
myMessage
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void QgsRasterLayerProperties::on_pbnSaveDefaultStyle_clicked()
|
void QgsRasterLayerProperties::on_pbnSaveDefaultStyle_clicked()
|
||||||
@ -2881,10 +2886,14 @@ void QgsRasterLayerProperties::on_pbnSaveDefaultStyle_clicked()
|
|||||||
// after calling this the above flag will be set true for success
|
// after calling this the above flag will be set true for success
|
||||||
// or false if the save operation failed
|
// or false if the save operation failed
|
||||||
QString myMessage = mRasterLayer->saveDefaultStyle( defaultSavedFlag );
|
QString myMessage = mRasterLayer->saveDefaultStyle( defaultSavedFlag );
|
||||||
QMessageBox::information( this,
|
if ( !defaultSavedFlag )
|
||||||
tr("Default Style"),
|
{
|
||||||
myMessage
|
//let the user know what went wrong
|
||||||
);
|
QMessageBox::information( this,
|
||||||
|
tr("Default Style"),
|
||||||
|
myMessage
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -2933,10 +2942,14 @@ void QgsRasterLayerProperties::on_pbnLoadStyle_clicked()
|
|||||||
{
|
{
|
||||||
sync();
|
sync();
|
||||||
}
|
}
|
||||||
QMessageBox::information( this,
|
else
|
||||||
tr("Default Style"),
|
{
|
||||||
myMessage
|
//let the user know something went wrong...
|
||||||
);
|
QMessageBox::information( this,
|
||||||
|
tr("Saved Style"),
|
||||||
|
myMessage
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -2993,12 +3006,17 @@ void QgsRasterLayerProperties::on_pbnSaveStyleAs_clicked()
|
|||||||
//reset if the default style was loaded ok only
|
//reset if the default style was loaded ok only
|
||||||
if ( defaultLoadedFlag )
|
if ( defaultLoadedFlag )
|
||||||
{
|
{
|
||||||
|
//dont show the message if all went well...
|
||||||
sync();
|
sync();
|
||||||
}
|
}
|
||||||
QMessageBox::information( this,
|
else
|
||||||
tr("Default Style"),
|
{
|
||||||
myMessage
|
//if something went wrong let the user know why
|
||||||
);
|
QMessageBox::information( this,
|
||||||
|
tr("Saved Style"),
|
||||||
|
myMessage
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -629,12 +629,17 @@ void QgsVectorLayerProperties::on_pbnLoadDefaultStyle_clicked()
|
|||||||
//reset if the default style was loaded ok only
|
//reset if the default style was loaded ok only
|
||||||
if ( defaultLoadedFlag )
|
if ( defaultLoadedFlag )
|
||||||
{
|
{
|
||||||
|
// all worked ok so no need to inform user
|
||||||
reset ();
|
reset ();
|
||||||
}
|
}
|
||||||
QMessageBox::information( this,
|
else
|
||||||
tr("Default Style"),
|
{
|
||||||
myMessage
|
//something went wrong - let them know why
|
||||||
);
|
QMessageBox::information( this,
|
||||||
|
tr("Default Style"),
|
||||||
|
myMessage
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void QgsVectorLayerProperties::on_pbnSaveDefaultStyle_clicked()
|
void QgsVectorLayerProperties::on_pbnSaveDefaultStyle_clicked()
|
||||||
@ -646,10 +651,14 @@ void QgsVectorLayerProperties::on_pbnSaveDefaultStyle_clicked()
|
|||||||
// after calling this the above flag will be set true for success
|
// after calling this the above flag will be set true for success
|
||||||
// or false if the save operation failed
|
// or false if the save operation failed
|
||||||
QString myMessage = layer->saveDefaultStyle( defaultSavedFlag );
|
QString myMessage = layer->saveDefaultStyle( defaultSavedFlag );
|
||||||
QMessageBox::information( this,
|
if ( !defaultSavedFlag )
|
||||||
tr("Default Style"),
|
{
|
||||||
myMessage
|
//only raise the message if something went wrong
|
||||||
);
|
QMessageBox::information( this,
|
||||||
|
tr("Default Style"),
|
||||||
|
myMessage
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -698,10 +707,14 @@ void QgsVectorLayerProperties::on_pbnLoadStyle_clicked()
|
|||||||
{
|
{
|
||||||
reset ();
|
reset ();
|
||||||
}
|
}
|
||||||
QMessageBox::information( this,
|
else
|
||||||
tr("Default Style"),
|
{
|
||||||
myMessage
|
//let the user know what went wrong
|
||||||
);
|
QMessageBox::information( this,
|
||||||
|
tr("Saved Style"),
|
||||||
|
myMessage
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -762,10 +775,14 @@ void QgsVectorLayerProperties::on_pbnSaveStyleAs_clicked()
|
|||||||
{
|
{
|
||||||
reset ();
|
reset ();
|
||||||
}
|
}
|
||||||
QMessageBox::information( this,
|
else
|
||||||
tr("Default Style"),
|
{
|
||||||
myMessage
|
//let the user know what went wrong
|
||||||
);
|
QMessageBox::information( this,
|
||||||
|
tr("Saved Style"),
|
||||||
|
myMessage
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -446,7 +446,7 @@ QString QgsMapLayer::loadNamedStyle ( const QString theURI , bool & theResultFla
|
|||||||
sqlite3_stmt *myPreparedStatement;
|
sqlite3_stmt *myPreparedStatement;
|
||||||
const char *myTail;
|
const char *myTail;
|
||||||
int myResult;
|
int myResult;
|
||||||
|
|
||||||
myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
|
myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
|
||||||
if (myResult)
|
if (myResult)
|
||||||
{
|
{
|
||||||
@ -464,8 +464,10 @@ QString QgsMapLayer::loadNamedStyle ( const QString theURI , bool & theResultFla
|
|||||||
{
|
{
|
||||||
QString qml = QString::fromUtf8( (char *)sqlite3_column_text(myPreparedStatement, 0) );
|
QString qml = QString::fromUtf8( (char *)sqlite3_column_text(myPreparedStatement, 0) );
|
||||||
theResultFlag = myDocument.setContent ( qml, &myErrorMessage, &line, &column );
|
theResultFlag = myDocument.setContent ( qml, &myErrorMessage, &line, &column );
|
||||||
if(!theResultFlag)
|
if(!theResultFlag)
|
||||||
myErrorMessage = tr("%1 at line %2 column %3").arg( myErrorMessage ).arg( line ).arg(column);
|
{
|
||||||
|
myErrorMessage = tr("%1 at line %2 column %3").arg( myErrorMessage ).arg( line ).arg(column);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -479,14 +481,16 @@ QString QgsMapLayer::loadNamedStyle ( const QString theURI , bool & theResultFla
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!theResultFlag)
|
if(!theResultFlag)
|
||||||
|
{
|
||||||
return myErrorMessage;
|
return myErrorMessage;
|
||||||
|
}
|
||||||
// now get the layer node out and pass it over to the layer
|
// now get the layer node out and pass it over to the layer
|
||||||
// to deserialise...
|
// to deserialise...
|
||||||
QDomElement myRoot = myDocument.firstChildElement("qgis");
|
QDomElement myRoot = myDocument.firstChildElement("qgis");
|
||||||
if (myRoot.isNull())
|
if (myRoot.isNull())
|
||||||
{
|
{
|
||||||
myErrorMessage = "Error: qgis element could not be found in " + theURI;
|
myErrorMessage = "Error: qgis element could not be found in " + theURI;
|
||||||
|
theResultFlag = false;
|
||||||
return myErrorMessage;
|
return myErrorMessage;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -494,6 +498,7 @@ QString QgsMapLayer::loadNamedStyle ( const QString theURI , bool & theResultFla
|
|||||||
if (myLayer.isNull())
|
if (myLayer.isNull())
|
||||||
{
|
{
|
||||||
myErrorMessage = "Error: maplayer element could not be found in " + theURI;
|
myErrorMessage = "Error: maplayer element could not be found in " + theURI;
|
||||||
|
theResultFlag = false;
|
||||||
return myErrorMessage;
|
return myErrorMessage;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -505,6 +510,7 @@ QString QgsMapLayer::loadNamedStyle ( const QString theURI , bool & theResultFla
|
|||||||
if (myDataSource.isNull())
|
if (myDataSource.isNull())
|
||||||
{
|
{
|
||||||
myErrorMessage = "Error: datasource element could not be found in " + theURI;
|
myErrorMessage = "Error: datasource element could not be found in " + theURI;
|
||||||
|
theResultFlag = false;
|
||||||
return myErrorMessage;
|
return myErrorMessage;
|
||||||
}
|
}
|
||||||
QDomElement myNewDataSource = myDocument.createElement( "datasource" );
|
QDomElement myNewDataSource = myDocument.createElement( "datasource" );
|
||||||
@ -562,23 +568,25 @@ QString QgsMapLayer::saveNamedStyle ( const QString theURI, bool & theResultFlag
|
|||||||
// save as utf-8 with 2 spaces for indents
|
// save as utf-8 with 2 spaces for indents
|
||||||
myDocument.save( myFileStream, 2 );
|
myDocument.save( myFileStream, 2 );
|
||||||
myFile.close();
|
myFile.close();
|
||||||
|
theResultFlag = true;
|
||||||
return QObject::tr( "Created default style file as " ) + myFileName;
|
return QObject::tr( "Created default style file as " ) + myFileName;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
theResultFlag = false;
|
||||||
return QObject::tr( "ERROR: Failed to created default style file as %1 Check file permissions and retry." ).arg(myFileName);
|
return QObject::tr( "ERROR: Failed to created default style file as %1 Check file permissions and retry." ).arg(myFileName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
QString qml = myDocument.toString();
|
QString qml = myDocument.toString();
|
||||||
|
|
||||||
// read from database
|
// read from database
|
||||||
sqlite3 *myDatabase;
|
sqlite3 *myDatabase;
|
||||||
sqlite3_stmt *myPreparedStatement;
|
sqlite3_stmt *myPreparedStatement;
|
||||||
const char *myTail;
|
const char *myTail;
|
||||||
int myResult;
|
int myResult;
|
||||||
|
|
||||||
myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
|
myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
|
||||||
if (myResult)
|
if (myResult)
|
||||||
{
|
{
|
||||||
@ -595,7 +603,8 @@ QString QgsMapLayer::saveNamedStyle ( const QString theURI, bool & theResultFlag
|
|||||||
if( sqlite3_step(myPreparedStatement)!=SQLITE_DONE )
|
if( sqlite3_step(myPreparedStatement)!=SQLITE_DONE )
|
||||||
{
|
{
|
||||||
sqlite3_finalize(myPreparedStatement);
|
sqlite3_finalize(myPreparedStatement);
|
||||||
sqlite3_close(myDatabase);
|
sqlite3_close(myDatabase);
|
||||||
|
theResultFlag = false;
|
||||||
return tr("The style table could not be created.");
|
return tr("The style table could not be created.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -611,7 +620,7 @@ QString QgsMapLayer::saveNamedStyle ( const QString theURI, bool & theResultFlag
|
|||||||
sqlite3_step(myPreparedStatement)==SQLITE_DONE )
|
sqlite3_step(myPreparedStatement)==SQLITE_DONE )
|
||||||
{
|
{
|
||||||
theResultFlag = true;
|
theResultFlag = true;
|
||||||
myErrorMessage = tr("The style %1 was saved to database").arg(theURI);
|
myErrorMessage = tr("The style %1 was saved to database").arg(theURI);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -628,13 +637,13 @@ QString QgsMapLayer::saveNamedStyle ( const QString theURI, bool & theResultFlag
|
|||||||
sqlite3_step(myPreparedStatement)==SQLITE_DONE )
|
sqlite3_step(myPreparedStatement)==SQLITE_DONE )
|
||||||
{
|
{
|
||||||
theResultFlag = true;
|
theResultFlag = true;
|
||||||
myErrorMessage = tr("The style %1 was updated in the database.").arg(theURI);
|
myErrorMessage = tr("The style %1 was updated in the database.").arg(theURI);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
theResultFlag = false;
|
||||||
|
myErrorMessage = tr("The style %1 could not be updated in the database.").arg(theURI);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
theResultFlag = true;
|
|
||||||
myErrorMessage = tr("The style %1 could not be updated in the database.").arg(theURI);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -645,7 +654,7 @@ QString QgsMapLayer::saveNamedStyle ( const QString theURI, bool & theResultFlag
|
|||||||
|
|
||||||
sqlite3_finalize(myPreparedStatement);
|
sqlite3_finalize(myPreparedStatement);
|
||||||
}
|
}
|
||||||
|
|
||||||
sqlite3_close(myDatabase);
|
sqlite3_close(myDatabase);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user