diff options
| author | Tobias Ellinghaus <me@houz.org> | 2017-07-05 10:10:59 +0000 |
|---|---|---|
| committer | Tobias Ellinghaus <me@houz.org> | 2017-07-05 10:10:59 +0000 |
| commit | 60d9032701e657344bafda8895bf073e28bab5ae (patch) | |
| tree | 407634848d3ef9e472530fc96df159e77a2ef49b /src/ui/dialog/document-properties.cpp | |
| parent | Clean up color-profile and use io/resource for dir scanning (diff) | |
| download | inkscape-60d9032701e657344bafda8895bf073e28bab5ae.tar.gz inkscape-60d9032701e657344bafda8895bf073e28bab5ae.zip | |
Clean up color profiles code
This is a late 2nd part for 86a74b4a93ab62c8ef7819dc549fe7b3ace24916 and
gets rid of the non-descriptive std::pair<ustring, bool>
Diffstat (limited to 'src/ui/dialog/document-properties.cpp')
| -rw-r--r-- | src/ui/dialog/document-properties.cpp | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/src/ui/dialog/document-properties.cpp b/src/ui/dialog/document-properties.cpp index 1b074bb0c..9dfae9a15 100644 --- a/src/ui/dialog/document-properties.cpp +++ b/src/ui/dialog/document-properties.cpp @@ -386,26 +386,25 @@ void DocumentProperties::populate_available_profiles(){ _AvailableProfilesListStore->clear(); // Clear any existing items in the combo box // Iterate through the list of profiles and add the name to the combo box. - std::vector<std::pair<std::pair<Glib::ustring, bool>, Glib::ustring> > pairs = ColorProfile::getProfileFilesWithNames(); bool home = true; // initial value doesn't matter, it's just to avoid a compiler warning - for ( std::vector<std::pair<std::pair<Glib::ustring, bool>, Glib::ustring> >::const_iterator it = pairs.begin(); it != pairs.end(); ++it ) { + bool first = true; + for (auto &profile: ColorProfile::getProfileFilesWithNames()) { Gtk::TreeModel::Row row; - Glib::ustring file = it->first.first; - Glib::ustring name = it->second; // add a separator between profiles from the user's home directory and system profiles - if (it != pairs.begin() && it->first.second != home) + if (!first && profile.isInHome != home) { row = *(_AvailableProfilesListStore->append()); row[_AvailableProfilesListColumns.fileColumn] = "<separator>"; row[_AvailableProfilesListColumns.nameColumn] = "<separator>"; row[_AvailableProfilesListColumns.separatorColumn] = true; } - home = it->first.second; + home = profile.isInHome; + first = false; row = *(_AvailableProfilesListStore->append()); - row[_AvailableProfilesListColumns.fileColumn] = file; - row[_AvailableProfilesListColumns.nameColumn] = name; + row[_AvailableProfilesListColumns.fileColumn] = profile.filename; + row[_AvailableProfilesListColumns.nameColumn] = profile.name; row[_AvailableProfilesListColumns.separatorColumn] = false; } } @@ -459,10 +458,11 @@ void DocumentProperties::linkSelectedProfile() g_warning("No color profile available."); return; } - + // Read the filename and description from the list of available profiles Glib::ustring file = (*iter)[_AvailableProfilesListColumns.fileColumn]; Glib::ustring name = (*iter)[_AvailableProfilesListColumns.nameColumn]; + std::vector<SPObject *> current = SP_ACTIVE_DOCUMENT->getResourceList( "iccprofile" ); for (std::vector<SPObject *>::const_iterator it = current.begin(); it != current.end(); ++it) { SPObject* obj = *it; @@ -521,12 +521,18 @@ void DocumentProperties::populate_linked_profiles_box() if (! current.empty()) { _emb_profiles_observer.set((*(current.begin()))->parent); } - std::set<SPObject *, _cmp> _current (current.begin(), current.end()); - for (std::set<SPObject *, _cmp>::const_iterator it = _current.begin(); it != _current.end(); ++it) { - SPObject* obj = *it; + + std::set<Inkscape::ColorProfile *, Inkscape::ColorProfile::pointerComparator> _current; + std::set<Inkscape::ColorProfile> foo; + for (auto &profile: current) { + SPObject* obj = profile; Inkscape::ColorProfile* prof = reinterpret_cast<Inkscape::ColorProfile*>(obj); + _current.insert(prof); + } + + for (auto &profile: _current) { Gtk::TreeModel::Row row = *(_LinkedProfilesListStore->append()); - row[_LinkedProfilesListColumns.nameColumn] = prof->name; + row[_LinkedProfilesListColumns.nameColumn] = profile->name; // row[_LinkedProfilesListColumns.previewColumn] = "Color Preview"; } } |
