Feature request #1117

Reload SVG Symbology Directory

Added by otternase - over 12 years ago. Updated over 11 years ago.

Status:Closed
Priority:Low
Assignee:Tim Sutton
Category:Symbology
Pull Request or Patch supplied: Resolution:fixed
Easy fix?:No Copied to github as #:11177

Description

Environment: qgis 0.9.1 Ubuntu 7.10

Problem:

Qgis is loading the catalogue of available SVGs for symbology only on startup, so if after starting Qgis a new SVG is created or a SVG is deleted, the catalogue is not updated accordingly and the new SVG is not available in the Symbologydialog. As my plugin is creating new SVGs on runtime, which I want to be available in the Dialog, I tried this:

Suggestion:
I changed qgsmarkercatalogue.cpp like this:

-------------------------------------------------------------
@ -36,8 +36,13 @

[[QgsMarkerCatalogue]]::QgsMarkerCatalogue()
{
- // Init list
+ updateMarkerCatalogue();
+}

void QgsMarkerCatalogue::updateMarkerCatalogue()
{
+ // Init list
+ mList.clear();
// Hardcoded markers
mList.append ( "hard:circle" );
mList.append ( "hard:rectangle" );
@ -69,6 +74,7 @
}
}

+
QStringList QgsMarkerCatalogue::list() {
return mList;
-------------------------------------------------------------

and qgsmarkercatalogue.h accordingly:

-------------------------------------------------------------
@ -53,6 +53,8 @
/** Returns a pixmap given a filename of a svg marker
  • NOTE: this method needs to be public static for QgsMarkerDialog::visualizeMarkers */
    static void svgMarker (QPainter * thepPainter, QString name, int size );

    void updateMarkerCatalogue();
    private:
/**Constructor*/
-------------------------------------------------------------

Now every time my plugin is constructing a new SVG, I call the updateMarkerCatalogue() like this

-------------------------------------------------------------
QgsMarkerCatalogue *markerCatalogue=QgsMarkerCatalogue::instance();
markerCatalogue->updateMarkerCatalogue();
-------------------------------------------------------------

Tested in above named environment and it worked fine.

If this change is accepted there would probably even be the opportunity to do this MarkerCatalogue Update every time the Symbology Dialog is opened automatically???

History

#1 Updated by Paolo Cavallini about 12 years ago

What is your plugin? Is it available somewhere?

#2 Updated by Giovanni Manghi over 11 years ago

hi,

a) is the plugin available somewhere?

b) has this patch already been evaluated/committed by the devs?

#3 Updated by Jürgen Fischer over 11 years ago

  • Resolution set to fixed
  • Status changed from Open to Closed

Replying to [comment:2 lutra]:

hi,

a) is the plugin available somewhere?

b) has this patch already been evaluated/committed by the devs?

0c59c744 (SVN r11153) also covers this

Also available in: Atom PDF