From 61dc3dd61685a1bfc6aba33ad81f8348bb992a11 Mon Sep 17 00:00:00 2001 From: zecke Date: Sun, 14 Nov 2004 17:40:57 +0000 Subject: -Fix bug in OFileSelector ListView spotted by hrw to sort the 'size' column according their 'Number'-Halbordnung and not by string comparsion --- (limited to 'libopie2') diff --git a/libopie2/opieui/fileselector/ofileselector.cpp b/libopie2/opieui/fileselector/ofileselector.cpp index 01a51a2..718f743 100644 --- a/libopie2/opieui/fileselector/ofileselector.cpp +++ b/libopie2/opieui/fileselector/ofileselector.cpp @@ -243,15 +243,12 @@ OFileSelectorItem::OFileSelectorItem( QListView* view, const QPixmap& pixmap, const QString& path, const QString& date, const QString& size, const QString& dir, bool isLocked, bool isDir ) - : QListViewItem( view ) + : QListViewItem( view ), m_dir(dir), m_isDir(isDir), m_locked(isLocked) { setPixmap(0, pixmap ); setText(1, path ); setText(2, size ); setText(3, date ); - m_isDir = isDir; - m_dir = dir; - m_locked = isLocked; } OFileSelectorItem::~OFileSelectorItem() @@ -281,6 +278,11 @@ QString OFileSelectorItem::path()const QString OFileSelectorItem::key( int id, bool )const { QString ke; + + /* + * id = 0 ||id == 1 : Sort By Name but Directories at Top + * id = 2 : Sort By Size: Prepend '0' to the key + */ if( id == 0 || id == 1 ) { // name if( m_isDir ) @@ -294,8 +296,9 @@ QString OFileSelectorItem::key( int id, bool )const ke.append( text(1) ); } return ke; - } - else + }else if(id == 2) { + return text(2).rightJustify(20, '0'); + }else return text( id ); } diff --git a/libopie2/opieui/fileselector/ofileselector_p.h b/libopie2/opieui/fileselector/ofileselector_p.h index 790d2bd..15db916 100644 --- a/libopie2/opieui/fileselector/ofileselector_p.h +++ b/libopie2/opieui/fileselector/ofileselector_p.h @@ -137,9 +137,9 @@ public: QString key(int id, bool )const; private: - bool m_locked : 1; - bool m_isDir : 1; QString m_dir; + bool m_isDir : 1; + bool m_locked : 1; }; class OFileViewFileListView : public QWidget -- cgit v0.9.0.2