diff options
Diffstat (limited to 'src/ui/dialog/swatches.cpp')
| -rw-r--r-- | src/ui/dialog/swatches.cpp | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/src/ui/dialog/swatches.cpp b/src/ui/dialog/swatches.cpp index 72677c07e..924ebe03d 100644 --- a/src/ui/dialog/swatches.cpp +++ b/src/ui/dialog/swatches.cpp @@ -171,9 +171,9 @@ static void editGradient( GtkMenuItem */*menuitem*/, gpointer /*user_data*/ ) SPDocument *doc = desktop ? desktop->doc() : 0; if (doc) { std::string targetName(bounceTarget->def.descr); - const GSList *gradients = doc->getResourceList("gradient"); - for (const GSList *item = gradients; item; item = item->next) { - SPGradient* grad = SP_GRADIENT(item->data); + std::set<SPObject *> gradients = doc->getResourceList("gradient"); + for (std::set<SPObject *>::const_iterator item = gradients.begin(); item != gradients.end(); ++item) { + SPGradient* grad = SP_GRADIENT(*item); if ( targetName == grad->getId() ) { editGradientImpl( desktop, grad ); break; @@ -192,10 +192,10 @@ void SwatchesPanelHook::convertGradient( GtkMenuItem * /*menuitem*/, gpointer us gint index = GPOINTER_TO_INT(userData); if ( doc && (index >= 0) && (static_cast<guint>(index) < popupItems.size()) ) { Glib::ustring targetName = popupItems[index]; + std::set<SPObject *> gradients = doc->getResourceList("gradient"); + for (std::set<SPObject *>::const_iterator item = gradients.begin(); item != gradients.end(); ++item) { + SPGradient* grad = SP_GRADIENT(*item); - const GSList *gradients = doc->getResourceList("gradient"); - for (const GSList *item = gradients; item; item = item->next) { - SPGradient* grad = SP_GRADIENT(item->data); if ( targetName == grad->getId() ) { grad->setSwatch(); DocumentUndo::done(doc, SP_VERB_CONTEXT_GRADIENT, @@ -326,10 +326,10 @@ gboolean colorItemHandleButtonPress( GtkWidget* widget, GdkEventButton* event, g SPDesktopWidget *dtw = SP_DESKTOP_WIDGET(wdgt); if ( dtw && dtw->desktop ) { // Pick up all gradients with vectors - const GSList *gradients = (dtw->desktop->doc())->getResourceList("gradient"); + std::set<SPObject *> gradients = (dtw->desktop->doc())->getResourceList("gradient"); gint index = 0; - for (const GSList *curr = gradients; curr; curr = curr->next) { - SPGradient* grad = SP_GRADIENT(curr->data); + for (std::set<SPObject *>::const_iterator item = gradients.begin(); item != gradients.end(); ++item) { + SPGradient* grad = SP_GRADIENT(*item); if ( grad->hasStops() && !grad->isSwatch() ) { //gl = g_slist_prepend(gl, curr->data); processed = true; @@ -393,10 +393,10 @@ static bool parseNum( char*& str, int& val ) { } -void _loadPaletteFile( gchar const *filename, gboolean user/*=FALSE*/ ) +void _loadPaletteFile( gchar const *filename, gchar const *path, gboolean user/*=FALSE*/ ) { char block[1024]; - FILE *f = Inkscape::IO::fopen_utf8name( filename, "r" ); + FILE *f = Inkscape::IO::fopen_utf8name(path, "r" ); if ( f ) { char* result = fgets( block, sizeof(block), f ); if ( result ) { @@ -405,6 +405,7 @@ void _loadPaletteFile( gchar const *filename, gboolean user/*=FALSE*/ ) bool hasErr = false; SwatchPage *onceMore = new SwatchPage(); + onceMore->_name = filename; do { result = fgets( block, sizeof(block), f ); @@ -521,7 +522,7 @@ compare_swatch_names(SwatchPage const *a, SwatchPage const *b) { static void loadEmUp() { static bool beenHere = false; - gboolean userPalete = true; + gboolean userPalette = true; if ( !beenHere ) { beenHere = true; @@ -549,7 +550,7 @@ static void loadEmUp() if ( !g_str_has_suffix(lower, "~") ) { gchar* full = g_build_filename(dirname, filename, NULL); if ( !Inkscape::IO::file_test( full, G_FILE_TEST_IS_DIR ) ) { - _loadPaletteFile(full, userPalete); + _loadPaletteFile(filename, full, userPalette); } g_free(full); } @@ -563,7 +564,7 @@ static void loadEmUp() // toss the dirname g_free(dirname); sources.pop_front(); - userPalete = false; + userPalette = false; } } @@ -923,12 +924,11 @@ static void recalcSwatchContents(SPDocument* doc, std::map<ColorItem*, SPGradient*> &gradMappings) { std::vector<SPGradient*> newList; - - const GSList *gradients = doc->getResourceList("gradient"); - for (const GSList *item = gradients; item; item = item->next) { - SPGradient* grad = SP_GRADIENT(item->data); + std::set<SPObject *> gradients = doc->getResourceList("gradient"); + for (std::set<SPObject *>::const_iterator item = gradients.begin(); item != gradients.end(); ++item) { + SPGradient* grad = SP_GRADIENT(*item); if ( grad->isSwatch() ) { - newList.push_back(SP_GRADIENT(item->data)); + newList.push_back(SP_GRADIENT(*item)); } } |
