Localized sorting for various lists.

bzr-revno: 1572
This commit is contained in:
Meinert Jordan 2011-05-26 07:37:52 +02:00 committed by Raoul Snyman
commit 548e41f15c
3 changed files with 10 additions and 5 deletions

View File

@ -29,6 +29,7 @@ import os
import zipfile
import shutil
import logging
import locale
from xml.etree.ElementTree import ElementTree, XML
from PyQt4 import QtCore, QtGui
@ -462,7 +463,10 @@ class ThemeManager(QtGui.QWidget):
QtCore.QVariant(theme.theme_name))
self.configUpdated()
files = SettingsManager.get_files(self.settingsSection, u'.png')
files.sort()
# Sort the themes by its name considering language specific characters.
# lower() is needed for windows!
files.sort(key=lambda filename: unicode(filename).lower(),
cmp=locale.strcoll)
# now process the file list of png files
for name in files:
# check to see file is in theme root directory

View File

@ -31,6 +31,7 @@ import csv
import logging
import os
import os.path
import locale
from PyQt4 import QtCore, QtGui
@ -532,7 +533,7 @@ class BibleImportForm(OpenLPWizard):
"""
self.webTranslationComboBox.clear()
bibles = self.web_bible_list[index].keys()
bibles.sort()
bibles.sort(cmp=locale.strcoll)
self.webTranslationComboBox.addItems(bibles)
def onOsisBrowseButtonClicked(self):
@ -767,4 +768,3 @@ class BibleImportForm(OpenLPWizard):
'BiblesPlugin.ImportWizardForm', 'Your Bible import failed.'))
del self.manager.db_cache[importer.name]
delete_database(self.plugin.settingsSection, importer.file)

View File

@ -26,6 +26,7 @@
###############################################################################
import logging
import locale
from PyQt4 import QtCore, QtGui
@ -359,7 +360,7 @@ class BibleMediaItem(MediaManagerItem):
self.advancedSecondComboBox.addItem(u'')
# Get all bibles and sort the list.
bibles = self.parent.manager.get_bibles().keys()
bibles.sort()
bibles.sort(cmp=locale.strcoll)
# Load the bibles into the combo boxes.
for bible in bibles:
if bible:
@ -443,7 +444,7 @@ class BibleMediaItem(MediaManagerItem):
if bible:
book_data = bibles[bible].get_books()
books = [book.name + u' ' for book in book_data]
books.sort()
books.sort(cmp=locale.strcoll)
add_widget_completer(books, self.quickSearchEdit)
def onImportClick(self):