# HG changeset patch # User sheepluva # Date 1296259719 -3600 # Node ID 813ef4e8e385fbfa9b4de502c0fb27442a57fa12 # Parent 2a37a0e0892d959c3fb651f9beb2886aca98409f sort nick lists case-insensitive diff -r 2a37a0e0892d -r 813ef4e8e385 QTfrontend/chatwidget.cpp --- a/QTfrontend/chatwidget.cpp Fri Jan 28 03:30:14 2011 +0100 +++ b/QTfrontend/chatwidget.cpp Sat Jan 29 01:08:39 2011 +0100 @@ -32,6 +32,14 @@ #include "gameuiconfig.h" #include "chatwidget.h" +ListWidgetNickItem::ListWidgetNickItem(const QString& nick) : QListWidgetItem(nick) {} + +bool ListWidgetNickItem::operator< (const QListWidgetItem & other) const +{ + // case in-sensitive comparison of the associated strings + return (text().compare(other.text(), Qt::CaseInsensitive) < 0); +} + HWChatWidget::HWChatWidget(QWidget* parent, QSettings * gameSettings, SDLInteraction * sdli, bool notify) : QWidget(parent), mainLayout(this) @@ -241,7 +249,7 @@ void HWChatWidget::nickAdded(const QString& nick, bool notifyNick) { - QListWidgetItem * item = new QListWidgetItem(nick); + QListWidgetItem * item = new ListWidgetNickItem(nick); updateIcon(item); chatNicks->addItem(item); diff -r 2a37a0e0892d -r 813ef4e8e385 QTfrontend/chatwidget.h --- a/QTfrontend/chatwidget.h Fri Jan 28 03:30:14 2011 +0100 +++ b/QTfrontend/chatwidget.h Sat Jan 29 01:08:39 2011 +0100 @@ -26,12 +26,21 @@ #include "SDLs.h" +class ListWidgetNickItem; class QTextBrowser; class QLineEdit; class QListWidget; class QSettings; class SDLInteraction; +// this class is for custom nick sorting +class ListWidgetNickItem : public QListWidgetItem +{ +public: + ListWidgetNickItem(const QString& nick); + bool operator<(const QListWidgetItem & other) const; +}; + class HWChatWidget : public QWidget { Q_OBJECT