Jürgen Spitzmüller wrote: > http://bugzilla.lyx.org/show_bug.cgi?id=2571 > > This patch from Hartmut has been ignored for too long. I've updated it and > want to put it in branch and trunk. > > Objections?
Take this one instead. Jürgen
Index: src/frontends/qt4/QPrefs.cpp =================================================================== --- src/frontends/qt4/QPrefs.cpp (Revision 19223) +++ src/frontends/qt4/QPrefs.cpp (Arbeitskopie) @@ -534,9 +534,15 @@ || lc == Color::ignore) continue; lcolors_.push_back(lc); + } + lcolors_ = frontend::getSortedColors(lcolors_); + vector<Color_color>::const_iterator cit = lcolors_.begin(); + vector<Color_color>::const_iterator const end = lcolors_.end(); + for (; cit != end; ++cit) + { // This is not a memory leak: /*QListWidgetItem * newItem =*/ new QListWidgetItem(QIcon(icon), - toqstr(lcolor.getGUIName(lc)), lyxObjectsLW); + toqstr(lcolor.getGUIName(*cit)), lyxObjectsLW); } curcolors_.resize(lcolors_.size()); newcolors_.resize(lcolors_.size()); Index: src/frontends/controllers/frontend_helpers.cpp =================================================================== --- src/frontends/controllers/frontend_helpers.cpp (Revision 19223) +++ src/frontends/controllers/frontend_helpers.cpp (Arbeitskopie) @@ -1113,6 +1113,16 @@ } }; + +class ColorSorter +{ +public: + bool operator()(const Color::color & lhs, + const Color::color & rhs) { + return lcolor.getGUIName(lhs) < lcolor.getGUIName(rhs); + } +}; + } // namespace anon @@ -1147,6 +1157,14 @@ return langs; } + +vector<Color_color> const getSortedColors(vector<Color_color> lcolors) +{ + // sort the colors + std::sort(lcolors.begin(), lcolors.end(), ColorSorter()); + return lcolors; +} + } // namespace frontend using support::addName; Index: src/frontends/controllers/frontend_helpers.h =================================================================== --- src/frontends/controllers/frontend_helpers.h (Revision 19223) +++ src/frontends/controllers/frontend_helpers.h (Arbeitskopie) @@ -229,6 +229,8 @@ * to the vector. */ std::vector<LanguagePair> const getLanguageData(bool character_dlg); +/// sort colors for the gui +std::vector<Color_color> const getSortedColors(std::vector<Color_color> lcolors); } // namespace frontend