@@ -143,20 +143,20 @@ QgsVectorLayerProperties::QgsVectorLayerProperties(
143
143
mSaveAsMenu ->addAction ( tr ( " SLD File" ) );
144
144
145
145
// Only if the provider support loading & saving styles to db add new choices
146
- if ( layer->dataProvider ()->isSaveAndLoadStyleToDBSupported () )
146
+ if ( layer->dataProvider ()->isSaveAndLoadStyleToDBSupported () )
147
147
{
148
- // for loading
149
- mLoadStyleMenu = new QMenu ();
150
- mLoadStyleMenu ->addAction ( tr ( " Load from file" ) );
151
- mLoadStyleMenu ->addAction ( tr ( " Load from database" ) );
152
- pbnLoadStyle->setContextMenuPolicy ( Qt::PreventContextMenu );
153
- pbnLoadStyle->setMenu ( mLoadStyleMenu );
154
-
155
- QObject::connect ( mLoadStyleMenu , SIGNAL ( triggered ( QAction * ) ),
156
- this , SLOT ( loadStyleMenuTriggered ( QAction * ) ) ) ;
157
-
158
- // for saving
159
- mSaveAsMenu ->addAction ( tr ( " Save on database (%1)" ).arg ( layer->providerType () ) );
148
+ // for loading
149
+ mLoadStyleMenu = new QMenu ();
150
+ mLoadStyleMenu ->addAction ( tr ( " Load from file" ) );
151
+ mLoadStyleMenu ->addAction ( tr ( " Load from database" ) );
152
+ pbnLoadStyle->setContextMenuPolicy ( Qt::PreventContextMenu );
153
+ pbnLoadStyle->setMenu ( mLoadStyleMenu );
154
+
155
+ QObject::connect ( mLoadStyleMenu , SIGNAL ( triggered ( QAction * ) ),
156
+ this , SLOT ( loadStyleMenuTriggered ( QAction * ) ) ) ;
157
+
158
+ // for saving
159
+ mSaveAsMenu ->addAction ( tr ( " Save in database (%1)" ).arg ( layer->providerType () ) );
160
160
}
161
161
162
162
QObject::connect ( mSaveAsMenu , SIGNAL ( triggered ( QAction * ) ),
@@ -297,7 +297,7 @@ void QgsVectorLayerProperties::insertExpression()
297
297
dlg.setWindowTitle ( tr ( " Insert expression" ) );
298
298
if ( dlg.exec () == QDialog::Accepted )
299
299
{
300
- QString expression = dlg.expressionBuilder ()->expressionText ();
300
+ QString expression = dlg.expressionBuilder ()->expressionText ();
301
301
// Only add the expression if the user has entered some text.
302
302
if ( !expression.isEmpty () )
303
303
{
@@ -327,7 +327,6 @@ void QgsVectorLayerProperties::reset( void )
327
327
// populate the general information
328
328
mLayerOrigNameLineEdit ->setText ( layer->originalName () );
329
329
txtDisplayName->setText ( layer->name () );
330
- txtLayerSource->setText ( layer->publicSource () );
331
330
pbnQueryBuilder->setWhatsThis ( tr ( " This button opens the query "
332
331
" builder and allows you to create a subset of features to display on "
333
332
" the map canvas rather than displaying all features in the layer" ) );
@@ -556,45 +555,44 @@ void QgsVectorLayerProperties::on_pbnLoadDefaultStyle_clicked()
556
555
QString msg;
557
556
bool defaultLoadedFlag = false ;
558
557
559
- if ( layer->dataProvider ()->isSaveAndLoadStyleToDBSupported () )
558
+ if ( layer->dataProvider ()->isSaveAndLoadStyleToDBSupported () )
560
559
{
561
- QMessageBox askToUser;
562
- askToUser.setText ( tr ( " Load default style from: " ) );
563
- askToUser.setIcon ( QMessageBox::Question );
564
- askToUser.addButton ( tr ( " Cancel" ), QMessageBox::RejectRole );
565
- askToUser.addButton ( tr ( " Local database" ), QMessageBox::NoRole );
566
- askToUser.addButton ( tr ( " Datasource database" ), QMessageBox::YesRole );
567
-
568
- switch ( askToUser.exec () )
569
- {
570
- case ( 0 ):
571
- return ;
572
- break ;
573
- case ( 2 ):
574
- msg = layer->loadNamedStyle ( layer->styleURI (), defaultLoadedFlag );
575
- if ( !defaultLoadedFlag )
576
- {
577
- // something went wrong - let them know why
578
- QMessageBox::information ( this , tr ( " Default Style" ), msg );
579
- }
580
- if ( msg.compare ( tr ( " Loaded from Provider" ) ) )
581
- {
582
- QMessageBox::information ( this , tr ( " Default Style" ),
583
- tr ( " No default style was found for this layer" ) );
584
- }
585
- else
586
- {
587
- reset ();
588
- }
589
-
590
- return ;
591
- break ;
592
- default :
593
- break ;
594
- }
560
+ QMessageBox askToUser;
561
+ askToUser.setText ( tr ( " Load default style from: " ) );
562
+ askToUser.setIcon ( QMessageBox::Question );
563
+ askToUser.addButton ( tr ( " Cancel" ), QMessageBox::RejectRole);
564
+ askToUser.addButton ( tr ( " Local database" ), QMessageBox::NoRole );
565
+ askToUser.addButton ( tr ( " Datasource database" ), QMessageBox::YesRole );
566
+
567
+ switch ( askToUser.exec () )
568
+ {
569
+ case (0 ):
570
+ return ;
571
+ break ;
572
+ case (2 ):
573
+ msg = layer->loadNamedStyle ( layer->styleURI (), defaultLoadedFlag );
574
+ if ( !defaultLoadedFlag )
575
+ {
576
+ // something went wrong - let them know why
577
+ QMessageBox::information ( this , tr ( " Default Style" ), msg );
578
+ }
579
+ if ( msg.compare ( tr ( " Loaded from Provider" ) ) )
580
+ {
581
+ QMessageBox::information ( this , tr ( " Default Style" ),
582
+ tr ( " No default style was found for this layer" ) );
583
+ }
584
+ else {
585
+ reset ();
586
+ }
587
+
588
+ return ;
589
+ break ;
590
+ default :
591
+ break ;
592
+ }
595
593
}
596
594
597
- QString myMessage = layer->loadNamedStyle ( layer->styleURI (), defaultLoadedFlag, true );
595
+ QString myMessage = layer->loadNamedStyle (layer->styleURI (), defaultLoadedFlag, true );
598
596
// QString myMessage = layer->loadDefaultStyle( defaultLoadedFlag );
599
597
// reset if the default style was loaded ok only
600
598
if ( defaultLoadedFlag )
@@ -611,40 +609,40 @@ void QgsVectorLayerProperties::on_pbnLoadDefaultStyle_clicked()
611
609
612
610
void QgsVectorLayerProperties::on_pbnSaveDefaultStyle_clicked ()
613
611
{
614
- apply ();
615
- QString errorMsg;
616
- if ( layer->dataProvider ()->isSaveAndLoadStyleToDBSupported () )
617
- {
618
- QMessageBox askToUser;
619
- askToUser.setText ( tr ( " Save default style to: " ) );
620
- askToUser.setIcon ( QMessageBox::Question );
621
- askToUser.addButton ( tr ( " Cancel" ), QMessageBox::RejectRole );
622
- askToUser.addButton ( tr ( " Local database" ), QMessageBox::NoRole );
623
- askToUser.addButton ( tr ( " Datasource database" ), QMessageBox::YesRole );
624
-
625
- switch ( askToUser.exec () )
612
+ apply ();
613
+ QString errorMsg;
614
+ if ( layer->dataProvider ()->isSaveAndLoadStyleToDBSupported () )
626
615
{
627
- case ( 0 ):
628
- return ;
629
- break ;
630
- case ( 2 ):
631
- layer->saveStyleToDatabase ( " " , " " , true , " " , errorMsg );
632
- if ( errorMsg.isNull () )
616
+ QMessageBox askToUser;
617
+ askToUser.setText ( tr ( " Save default style to: " ) );
618
+ askToUser.setIcon ( QMessageBox::Question );
619
+ askToUser.addButton ( tr ( " Cancel" ), QMessageBox::RejectRole);
620
+ askToUser.addButton ( tr ( " Local database" ), QMessageBox::NoRole );
621
+ askToUser.addButton ( tr ( " Datasource database" ), QMessageBox::YesRole );
622
+
623
+ switch ( askToUser.exec () )
633
624
{
634
- return ;
625
+ case (0 ):
626
+ return ;
627
+ break ;
628
+ case (2 ):
629
+ layer->saveStyleToDatabase (" " , " " , true , " " , errorMsg );
630
+ if ( errorMsg.isNull () )
631
+ {
632
+ return ;
633
+ }
634
+ break ;
635
+ default :
636
+ break ;
635
637
}
636
- break ;
637
- default :
638
- break ;
639
638
}
640
- }
641
639
642
- bool defaultSavedFlag = false ;
643
- errorMsg = layer->saveDefaultStyle ( defaultSavedFlag );
644
- if ( !defaultSavedFlag )
645
- {
646
- QMessageBox::warning ( this , tr ( " Default Style" ), errorMsg );
647
- }
640
+ bool defaultSavedFlag = false ;
641
+ errorMsg = layer->saveDefaultStyle ( defaultSavedFlag );
642
+ if ( !defaultSavedFlag )
643
+ {
644
+ QMessageBox::warning ( this , tr ( " Default Style" ), errorMsg );
645
+ }
648
646
}
649
647
650
648
@@ -713,95 +711,95 @@ void QgsVectorLayerProperties::saveStyleAs( StyleType styleType )
713
711
QString myLastUsedDir = myQSettings.value ( " style/lastStyleDir" , " ." ).toString ();
714
712
715
713
QString format, extension;
716
- if ( styleType == DB )
714
+ if ( styleType == DB )
715
+ {
716
+ QString infoWindowTitle = QObject::tr ( " Save style to DB (%1)" ).arg ( layer->providerType () );
717
+ QString msgError;
718
+
719
+ QgsSaveStyleToDbDialog askToUser;
720
+ // Ask the user for a name and a description about the style
721
+ if ( askToUser.exec () == QDialog::Accepted )
722
+ {
723
+ QString styleName = askToUser.getName ();
724
+ QString styleDesc = askToUser.getDescription ();
725
+ QString uiFileContent = askToUser.getUIFileContent ();
726
+ bool isDefault = askToUser.isDefault ();
727
+
728
+ apply ();
729
+
730
+ layer->saveStyleToDatabase ( styleName, styleDesc, isDefault, uiFileContent, msgError );
731
+ if ( !msgError.isNull () )
732
+ {
733
+ QMessageBox::warning ( this , infoWindowTitle, msgError );
734
+ }
735
+ else
736
+ {
737
+ QMessageBox::information ( this , infoWindowTitle, tr ( " Style saved" ) );
738
+ }
739
+ }
740
+ else
741
+ {
742
+ return ;
743
+ }
744
+ }
745
+ else
717
746
{
718
- QString infoWindowTitle = QObject::tr ( " Save style to DB (%1)" ).arg ( layer->providerType () );
719
- QString msgError;
720
-
721
- QgsSaveStyleToDbDialog askToUser;
722
- // Ask the user for a name and a description about the style
723
- if ( askToUser.exec () == QDialog::Accepted )
724
- {
725
- QString styleName = askToUser.getName ();
726
- QString styleDesc = askToUser.getDescription ();
727
- QString uiFileContent = askToUser.getUIFileContent ();
728
- bool isDefault = askToUser.isDefault ();
729
-
730
- apply ();
731
747
732
- layer-> saveStyleToDatabase ( styleName, styleDesc, isDefault, uiFileContent, msgError ) ;
733
- if ( !msgError. isNull () )
748
+ QString format, extension ;
749
+ if ( styleType == SLD )
734
750
{
735
- QMessageBox::warning ( this , infoWindowTitle, msgError );
751
+ format = tr ( " SLD File" ) + " (*.sld)" ;
752
+ extension = " .sld" ;
736
753
}
737
754
else
738
755
{
739
- QMessageBox::information ( this , infoWindowTitle, tr ( " Style saved" ) );
756
+ format = tr ( " QGIS Layer Style File" ) + " (*.qml)" ;
757
+ extension = " .qml" ;
740
758
}
741
- }
742
- else
743
- {
744
- return ;
745
- }
746
- }
747
- else
748
- {
749
759
750
- QString format, extension;
751
- if ( styleType == SLD )
752
- {
753
- format = tr ( " SLD File" ) + " (*.sld)" ;
754
- extension = " .sld" ;
755
- }
756
- else
757
- {
758
- format = tr ( " QGIS Layer Style File" ) + " (*.qml)" ;
759
- extension = " .qml" ;
760
- }
761
-
762
- QString myOutputFileName = QFileDialog::getSaveFileName ( this , tr ( " Save layer properties as style file" ),
763
- myLastUsedDir, format );
764
- if ( myOutputFileName.isNull () ) // dialog canceled
765
- {
766
- return ;
767
- }
760
+ QString myOutputFileName = QFileDialog::getSaveFileName ( this , tr ( " Save layer properties as style file" ),
761
+ myLastUsedDir, format );
762
+ if ( myOutputFileName.isNull () ) // dialog canceled
763
+ {
764
+ return ;
765
+ }
768
766
769
- apply (); // make sure the style to save is uptodate
767
+ apply (); // make sure the style to save is uptodate
770
768
771
- QString myMessage;
772
- bool defaultLoadedFlag = false ;
769
+ QString myMessage;
770
+ bool defaultLoadedFlag = false ;
773
771
774
- // ensure the user never omitted the extension from the file name
775
- if ( !myOutputFileName.endsWith ( extension, Qt::CaseInsensitive ) )
776
- {
777
- myOutputFileName += extension;
778
- }
772
+ // ensure the user never omitted the extension from the file name
773
+ if ( !myOutputFileName.endsWith ( extension, Qt::CaseInsensitive ) )
774
+ {
775
+ myOutputFileName += extension;
776
+ }
779
777
780
- if ( styleType == SLD )
781
- {
782
- // convert to SLD
783
- myMessage = layer->saveSldStyle ( myOutputFileName, defaultLoadedFlag );
784
- }
785
- else
786
- {
787
- myMessage = layer->saveNamedStyle ( myOutputFileName, defaultLoadedFlag );
788
- }
778
+ if ( styleType == SLD )
779
+ {
780
+ // convert to SLD
781
+ myMessage = layer->saveSldStyle ( myOutputFileName, defaultLoadedFlag );
782
+ }
783
+ else
784
+ {
785
+ myMessage = layer->saveNamedStyle ( myOutputFileName, defaultLoadedFlag );
786
+ }
789
787
790
- // reset if the default style was loaded ok only
791
- if ( defaultLoadedFlag )
792
- {
793
- reset ();
794
- }
795
- else
796
- {
797
- // let the user know what went wrong
798
- QMessageBox::information ( this , tr ( " Saved Style" ), myMessage );
799
- }
788
+ // reset if the default style was loaded ok only
789
+ if ( defaultLoadedFlag )
790
+ {
791
+ reset ();
792
+ }
793
+ else
794
+ {
795
+ // let the user know what went wrong
796
+ QMessageBox::information ( this , tr ( " Saved Style" ), myMessage );
797
+ }
800
798
801
- QFileInfo myFI ( myOutputFileName );
802
- QString myPath = myFI.path ();
803
- // Persist last used dir
804
- myQSettings.setValue ( " style/lastStyleDir" , myPath );
799
+ QFileInfo myFI ( myOutputFileName );
800
+ QString myPath = myFI.path ();
801
+ // Persist last used dir
802
+ myQSettings.setValue ( " style/lastStyleDir" , myPath );
805
803
}
806
804
}
807
805
@@ -815,53 +813,53 @@ void QgsVectorLayerProperties::loadStyleMenuTriggered( QAction *action )
815
813
816
814
if ( index == 0 ) // Load from filesystem
817
815
{
818
- this ->on_pbnLoadStyle_clicked ();
816
+ this ->on_pbnLoadStyle_clicked ();
819
817
}
820
- else if ( index == 1 ) // Load from database
818
+ else if ( index == 1 ) // Load from database
821
819
{
822
- this ->showListOfStylesFromDatabase ();
820
+ this ->showListOfStylesFromDatabase ();
823
821
}
824
822
825
823
}
826
824
827
825
void QgsVectorLayerProperties::showListOfStylesFromDatabase ()
828
826
{
829
- QString errorMsg;
830
- QStringList ids, names, descriptions;
831
-
832
- // get the list of styles in the db
833
- int sectionLimit = layer->listStylesInDatabase ( ids, names, descriptions, errorMsg );
834
- if ( !errorMsg.isNull () )
835
- {
836
- QMessageBox::warning ( this , tr ( " Error occured retrieving styles from database" ), errorMsg );
837
- return ;
838
- }
839
-
840
- QgsLoadStyleFromDBDialog dialog;
841
- dialog.initializeLists ( ids, names, descriptions, sectionLimit );
842
-
843
- if ( dialog.exec () == QDialog::Accepted )
844
- {
845
- QString selectedStyleId = dialog.getSelectedStyleId ();
827
+ QString errorMsg;
828
+ QVector<QString> ids, names, descriptions;
846
829
847
- QString qmlStyle = layer->getStyleFromDatabase ( selectedStyleId, errorMsg );
848
- if ( !errorMsg.isNull () )
830
+ // get the list of styles in the db
831
+ int sectionLimit = layer->listStylesInDatabase (ids, names, descriptions, errorMsg);
832
+ if ( !errorMsg.isNull () )
849
833
{
850
- QMessageBox::warning ( this , tr ( " Error occured retrieving styles from database" ), errorMsg );
851
- return ;
852
- }
853
- if ( layer->applyNamedStyle ( qmlStyle, errorMsg ) )
854
- {
855
- reset ();
834
+ QMessageBox::warning ( this , tr ( " Error occured retrievning styles from database " ), errorMsg );
835
+ return ;
856
836
}
857
- else
837
+
838
+ QgsLoadStyleFromDBDialog dialog;
839
+ dialog.initializeLists (ids, names, descriptions, sectionLimit);
840
+
841
+ if ( dialog.exec () == QDialog::Accepted )
858
842
{
859
- QMessageBox::warning ( this , tr ( " Error occured retrieving styles from database" ),
860
- tr ( " The style retrieved is not a valid named style. Error message: %1" )
861
- .arg ( errorMsg ) );
862
- }
843
+ QString selectedStyleId = dialog.getSelectedStyleId ();
863
844
864
- }
845
+ QString qmlStyle = layer->getStyleFromDatabase ( selectedStyleId, errorMsg );
846
+ if ( !errorMsg.isNull () )
847
+ {
848
+ QMessageBox::warning ( this , tr ( " Error occured retrievning styles from database " ), errorMsg );
849
+ return ;
850
+ }
851
+ if ( layer->applyNamedStyle ( qmlStyle, errorMsg) )
852
+ {
853
+ reset ();
854
+ }
855
+ else
856
+ {
857
+ QMessageBox::warning ( this , tr ( " Error occured retrievning styles from database " ),
858
+ tr ( " The style retriev is not a valid named style. Error message: %1" )
859
+ .arg ( errorMsg ) );
860
+ }
861
+
862
+ }
865
863
866
864
}
867
865
0 commit comments