summaryrefslogtreecommitdiff
path: root/libopie/ofileselector/ofilelistview.cpp
blob: 7108a5b17e24dda121ad09719a4bea22f7aa79dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125

#include <qpe/mimetype.h>
#include <qpe/resource.h>

#include "ofileselector.h"
#include "ofileselectoritem.h"
#include "ofilelistview.h"


OFileListView::OFileListView( QWidget* parent, OFileSelector* sel)
    : QListView( parent ), OFileView( sel )
{

}
OFileListView::~OFileListView() {

}
void OFileListView::clear() {
    QListView::clear();
}
void OFileListView::addFile( const QString&,
                             QFileInfo* info,
                             bool isSymlink ) {
    MimeType type( info->absFilePath() );
    QPixmap pix = type.pixmap();
    QString dir;
    QString name;
    bool locked = false;

    if( pix.isNull() )
        pix = Resource::loadPixmap( "UnknownDocument-14");

    dir = info->dirPath( true );

    if( isSymlink )
        name = info->fileName() + " -> " +info->dirPath() + "/" + info->readLink();
    else {
        name = info->fileName();
        if( ( selector()->mode() == OFileSelector::Open && !info->isReadable() ) ||
            ( selector()->mode() == OFileSelector::Save && !info->isWritable() ) ){

            locked = true; pix = Resource::loadPixmap("locked");
        }
    }
    new OFileSelectorItem( this, pix, name,
                           info->lastModified().toString(),
                           QString::number( info->size() ),
                           dir, locked );
}
void OFileListView::addFile( const QString& /*mime*/, const QString& /*dir*/,
                             const QString& /*file*/,  bool /*isSyml*/ ) {

}
void OFileListView::addDir( const QString&,
                            QFileInfo* info,  bool symlink ) {

    bool locked = false;
    QString name;
    QPixmap pix;

    if( ( selector()->mode() == OFileSelector::Open && !info->isReadable() ) ||
        ( selector()->mode() == OFileSelector::Save && !info->isWritable() ) ){

      locked = true;

      if( symlink )
	pix = selector()->pixmap("symlinkedlocked");
      else
	pix = Resource::loadPixmap("lockedfolder");

    }else { // readable
      pix = symlink ?  selector()->pixmap("dirsymlink") : Resource::loadPixmap("folder") ;
    }

    name = symlink ? info->fileName() + "->" + info->dirPath(true) + "/" +info->readLink() : info->fileName() ;

    new OFileSelectorItem( this, pix, name,
			   info->lastModified().toString(),
			   QString::number( info->size() ),
			   info->dirPath( true ), locked,
			   true );

}
void OFileListView::addDir( const QString& /*mime*/,  const QString& /*dir*/,
                            const QString& /*file*/, bool ) {

}
void OFileListView::addSymlink( const QString& /*mime*/,
                                QFileInfo* /*info*/,
                                bool /*isSym*/ ) {

}
void OFileListView::addSymlink( const QString& /*mime*/,  const QString& /*path*/,
                                const QString& /*file*/,  bool /*isSym*/ ) {

}
void OFileListView::cd( const QString& ) {

}
QWidget* OFileListView::widget() {
    return this;
}
QString OFileListView::selectedName()const{
    QListViewItem *item  = currentItem();
    if (!item )
        return QString::null;

    return item->text( 1 );
}
QStringList OFileListView::selectedNames()const {
    QStringList list;
    list << selectedName();
    return list;
}
QString OFileListView::selectedPath()const {
    return QString::null;
}
QStringList OFileListView::selectedPaths()const {
    QStringList list;
    list << selectedPath();
    return list;
}
int OFileListView::fileCount() {
    return childCount();
}