Opened 16 years ago

Closed 15 years ago

#1117 closed patch (fixed)

Reload SVG Symbology Directory

Reported by: otternase Owned by: timlinux
Priority: minor: annoyance Milestone: Version 1.0.3
Component: Symbology Version: Trunk
Keywords: QgsMarkerCatalogue Update Cc:
Must Fix for Release: No Platform: Linux
Platform Version: Awaiting user input: no

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???

Change History (3)

comment:1 by pcav, 16 years ago

Component: Build/InstallMap Legend

What is your plugin? Is it available somewhere?

comment:2 by lutra, 15 years ago

Component: Map LegendSymbology
Owner: changed from nobody to timlinux
Type: enhancementpatch

hi,

a) is the plugin available somewhere?

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

in reply to:  2 comment:3 by jef, 15 years ago

Resolution: fixed
Status: newclosed

Replying to lutra:

hi,

a) is the plugin available somewhere?

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

r11152 also covers this

Note: See TracTickets for help on using tickets.