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
 

Reply via email to