Make mime list to be sorted. Minor UI fixes.

svn path=/trunk/kdebase/kfind/; revision=37039
This commit is contained in:
Dima Rogozin 1999-12-21 04:12:44 +00:00
parent 8f89fa854e
commit 88cd719eb5
5 changed files with 33 additions and 8 deletions

View file

@ -31,13 +31,13 @@
#include <string.h>
#include <klocale.h>
#include <kconfig.h>
#include <kapp.h>
#include "kftypes.h"
#include "kfarch.h"
#include "kfoptions.h"
#include "kfsave.h"
extern QList<KfFileType> *types;
extern KfSaveOptions *saving;
extern QList<KfArchiver> *archivers;

View file

@ -43,7 +43,7 @@ static QString quote(const QString);
#define SPECIAL_TYPES 7
extern QList<KfFileType> *types;
extern KfFileTypeList *types;
KfindTabWidget::KfindTabWidget(QWidget *parent, const char *name,
const char *searchPath)

View file

@ -18,7 +18,7 @@
#include <kglobal.h>
#include <kdesktopfile.h>
QList<KfFileType> *types;
KfFileTypeList *types;
void KfFileType::initFileTypes( const QString& _path )
{
@ -89,11 +89,13 @@ void KfFileType::initFileTypes( const QString& _path )
void KfFileType::init()
{
types = new QList<KfFileType>;
types = new KfFileTypeList();
QStringList list = KGlobal::dirs()->resourceDirs("mime");
for (QStringList::ConstIterator it = list.begin(); it != list.end(); it++)
initFileTypes( *it );
types->sort();
};
KfFileType* KfFileType::findByName( const QString& _name )

View file

@ -151,5 +151,25 @@ protected:
/// Default pixmap for folders
static char folderPixmap[ 1024 ];
};
class KfFileTypeList: public QList<KfFileType>
{
public:
KfFileTypeList() {}
~KfFileTypeList() { clear(); }
protected:
int compareItems( Item s1, Item s2 ) {
QString n1 = ((KfFileType*)s1)->getComment("");
if(n1 == "")
n1 = ((KfFileType*)s1)->getName();
QString n2 = ((KfFileType*)s2)->getComment("");
if(n2 == "")
n2 = ((KfFileType*)s2)->getName();
return n1.compare(n2);
};
};
#endif

View file

@ -100,7 +100,6 @@ KfindWindow::KfindWindow( QWidget *parent, const char *name )
: QListView( parent, name )
{
// topLevelWidget()->installEventFilter(lbx);
setMultiSelection(TRUE);
setSelectionMode( QListView::Extended );
addColumn(i18n("Name"));
@ -473,7 +472,11 @@ void KfindWindow::resetColumns(bool init)
if(init) {
QFontMetrics fm = fontMetrics();
setColumnWidth(2, QMAX(fm.width(columnText(2)), fm.width("0000000")) + 15);
setColumnWidth(3, QMAX(fm.width(columnText(3)), fm.width("00/00/00 00:00:00")) + 15);
QString sampleDate =
KGlobal::locale()->formatDate(QDate::currentDate(), true) +
" " +
KGlobal::locale()->formatTime(QTime::currentTime(), true);
setColumnWidth(3, QMAX(fm.width(columnText(3)), fm.width(sampleDate)) + 15);
setColumnWidth(4, QMAX(fm.width(columnText(4)), fm.width(i18n(perm[RO]))) + 15);
}