[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdebase/kcontrol/kdm
From:       Laurent Montel <montell () club-internet ! fr>
Date:       2003-02-20 17:29:19
[Download RAW message or body]

CVS commit by mlaurent: 

Fix : Sort gui style and color scheme


  M +27 -5     kdm-appear.cpp   1.77
  M +3 -3      kdm-appear.h   1.31


--- kdebase/kcontrol/kdm/kdm-appear.cpp  #1.76:1.77
@@ -193,5 +193,8 @@ KDMAppearanceWidget::KDMAppearanceWidget
 
   guicombo = new KComboBox(false, hlp);
-  guicombo->insertStringList(QStyleFactory::keys());
+  QStringList list = QStyleFactory::keys();
+  list = KDMAppearanceWidget::sortStringList(list);
+  guicombo->insertStringList(list);
+
   label = new QLabel(guicombo, i18n("GUI s&tyle:"), hlp);
   connect(guicombo, SIGNAL(activated(int)), SLOT(changed()));
@@ -301,6 +304,6 @@ void KDMAppearanceWidget::loadColorSchem
   QStringList list = KGlobal::dirs()->findAllResources("data",
        "kdisplay/color-schemes/*.kcsrc", false, true);
-
-  combo->insertItem("Default");
+  QStringList tmp;
+  tmp.append( "Default");
   for (QStringList::ConstIterator it = list.begin(); it != list.end(); it++) {
     KSimpleConfig *config = new KSimpleConfig(*it, true);
@@ -310,8 +313,10 @@ void KDMAppearanceWidget::loadColorSchem
     if (!(str = config->readEntry("Name")).isEmpty() ||
         !(str = config->readEntry("name")).isEmpty())
-        combo->insertItem(str);
+        tmp.append( str );
 
     delete config;
   }
+  tmp = KDMAppearanceWidget::sortStringList(tmp);
+  combo->insertStringList(tmp);
 }
 
@@ -529,4 +534,21 @@ void KDMAppearanceWidget::changed()
 {
   emit changed(true);
+}
+
+QStringList KDMAppearanceWidget::sortStringList(QStringList list)
+{
+    QStringList lst;
+    QStringList tmp(list);
+    QMap<QString,  QString> map;
+    for ( QStringList::Iterator it = tmp.begin(); it != tmp.end(); ++it )
+    {
+        lst<<(*it).lower();
+        map.insert((*it).lower(), *it);
+    }
+    lst.sort();
+    tmp.clear();
+    for ( QStringList::Iterator it = lst.begin(); it != lst.end(); ++it )
+        tmp<<map.find(*it).data();
+    return tmp;
 }
 

--- kdebase/kcontrol/kdm/kdm-appear.h  #1.30:1.31
@@ -68,5 +68,5 @@ protected:
         void iconLoaderDropEvent(QDropEvent *event);
         bool setLogo(QString logo);
-
+    static QStringList sortStringList(QStringList list);
 private slots:
         void slotAreaRadioClicked(int id);


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic