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