summaryrefslogtreecommitdiff
path: root/libopie/ofileselector/olister.cpp
Side-by-side diff
Diffstat (limited to 'libopie/ofileselector/olister.cpp') (more/less context) (show whitespace changes)
-rw-r--r--libopie/ofileselector/olister.cpp48
1 files changed, 41 insertions, 7 deletions
diff --git a/libopie/ofileselector/olister.cpp b/libopie/ofileselector/olister.cpp
index 6c43043..b6b03cd 100644
--- a/libopie/ofileselector/olister.cpp
+++ b/libopie/ofileselector/olister.cpp
@@ -1,13 +1,20 @@
#include "olister.h"
#include "ofileview.h"
+#include "opixmapprovider.h"
#include "ofileselector.h"
OLister::OLister( OFileSelector* view)
: m_view( view )
{
+ m_prov = new OPixmapProvider( view );
}
OLister::~OLister() {
+ delete m_prov;
+}
+void OLister::setPixmapProvider( OPixmapProvider* prov ) {
+ delete m_prov;
+ m_prov = prov;
}
bool OLister::showFiles()const {
return m_view->showFiles();
@@ -18,7 +25,12 @@ bool OLister::showDirs()const {
void OLister::addFile( const QString& mine,
QFileInfo* info,
bool isSymlink ) {
- view()->currentView()->addFile( mine,
+ int t = isSymlink ? OPixmapProvider::File | OPixmapProvider::Symlink :
+ OPixmapProvider::File;
+ QPixmap pix = provider()->pixmap(t, mine,
+ info);
+ view()->currentView()->addFile( pix,
+ mine,
info,
isSymlink );
}
@@ -26,7 +38,12 @@ void OLister::addFile( const QString& mine,
const QString& path,
const QString& file,
bool isSymlink ) {
- view()->currentView()->addFile( mine,
+ int t = isSymlink ? OPixmapProvider::File | OPixmapProvider::Symlink :
+ OPixmapProvider::File;
+
+ QPixmap pix = provider()->pixmap(t, mine, path, file );
+ view()->currentView()->addFile( pix,
+ mine,
path,
file,
isSymlink );
@@ -34,8 +51,11 @@ void OLister::addFile( const QString& mine,
void OLister::addDir( const QString& mine,
QFileInfo* info,
bool isSymlink ) {
-
- view()->currentView()->addDir( mine,
+ int t = isSymlink ? OPixmapProvider::Dir | OPixmapProvider::Symlink :
+ OPixmapProvider::Dir;
+ QPixmap pix = provider()->pixmap(t, mine, info );
+ view()->currentView()->addDir( pix,
+ mine,
info,
isSymlink );
}
@@ -43,7 +63,13 @@ void OLister::addDir( const QString& mine,
const QString& path,
const QString& dir,
bool isSymlink ) {
- view()->currentView()->addDir( mine,
+
+ int t = isSymlink ? OPixmapProvider::Dir | OPixmapProvider::Symlink :
+ OPixmapProvider::Dir;
+ QPixmap pix = provider()->pixmap(t, mine, path, dir );
+
+ view()->currentView()->addDir( pix,
+ mine,
path,
dir,
isSymlink );
@@ -51,7 +77,9 @@ void OLister::addDir( const QString& mine,
void OLister::addSymlink( const QString& mine,
QFileInfo* info,
bool isSymlink ) {
- view()->currentView()->addSymlink( mine,
+ QPixmap pix = provider()->pixmap( OPixmapProvider::Symlink, mine, info );
+ view()->currentView()->addSymlink( pix,
+ mine,
info,
isSymlink );
}
@@ -59,7 +87,10 @@ void OLister::addSymlink( const QString& mine,
const QString& path,
const QString& name,
bool isSymlink ) {
- view()->currentView()->addSymlink( mine,
+ QPixmap pix = provider()->pixmap( OPixmapProvider::Symlink, mine,
+ path, name );
+ view()->currentView()->addSymlink( pix,
+ mine,
path,
name,
isSymlink );
@@ -67,6 +98,9 @@ void OLister::addSymlink( const QString& mine,
OFileSelector* OLister::view() {
return m_view;
}
+OPixmapProvider* OLister::provider() {
+ return m_prov;
+}
bool OLister::compliesMime( const QString& mime ) {
return view()->compliesMime( mime );
}