/*************************************************************************** musicqlistviewitem.h - description ------------------- begin : Sun Jul 28 2002 copyright : (C) 2002 by Will DeRousse email : badhack@users.sourceforge.net ***************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ #ifndef MUSICQLISTVIEWITEM_H #define MUSICQLISTVIEWITEM_H #include "dbmusicglobals.h" #include <qlistview.h> /** * This class is a custom QListViewItem with reimplemented sorting to handle QListView's that contain both text and numbers. * Columns sort numbers 0,1-9,10-99,100-999, in numerical order. Text sorts alphabetically. * * @author Will DeRousse * @short QListViewItem with number and alpha sorting */ class musicQListViewItem : public QListViewItem { public: /** * Constructor * * Takes a QListView as an argument and up to 8 QString arguments for column text. * @param QListView Pointer To Parent * @param QString First Column Text * @param QString Second Column Text * @param QString Third Column Text * @param QString Fourth Column Text * @param QString Fifth Column Text * @param QString Sixth Column Text * @param QString Seventh Column Text * @param QString Eighth Column Text */ musicQListViewItem(QListView *, QString=QString::null, QString=QString::null, QString=QString::null, QString=QString::null, QString=QString::null, QString=QString::null, QString=QString::null, QString=QString::null); /** * Constructor * * Takes a QListViewItem as an argument and up to 8 QString arguments for column text. * @param QListViewItem Pointer To Parent * @param QString First Column Text * @param QString Second Column Text * @param QString Third Column Text * @param QString Fourth Column Text * @param QString Fifth Column Text * @param QString Sixth Column Text * @param QString Seventh Column Text * @param QString Eighth Column Text */ musicQListViewItem(QListViewItem *, QString=QString::null, QString=QString::null, QString=QString::null, QString=QString::null, QString=QString::null, QString=QString::null, QString=QString::null, QString=QString::null); /** * Destructor */ ~musicQListViewItem(); /** * Re-implemented key that provides modified return values to allow correct sorting for numbers and text strings. * @param int Column * @param bool Sort Order */ QString key(int, bool) const; }; #endif