diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 90825e2392b2d70e43c7a25b8a3752299a933894 (patch) | |
tree | e33aa27f02b74604afbfd0ea4f1cfca8833d882a /python/pyqt/examples2/dirview.py | |
download | tdebindings-90825e2392b2d70e43c7a25b8a3752299a933894.tar.gz tdebindings-90825e2392b2d70e43c7a25b8a3752299a933894.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebindings@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'python/pyqt/examples2/dirview.py')
-rwxr-xr-x | python/pyqt/examples2/dirview.py | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/python/pyqt/examples2/dirview.py b/python/pyqt/examples2/dirview.py new file mode 100755 index 00000000..ae232e98 --- /dev/null +++ b/python/pyqt/examples2/dirview.py @@ -0,0 +1,76 @@ +#!/usr/bin/env python + +import sys +from qt import * + +class Directory(QListViewItem): + def __init__(self, parent, name=None): + apply(QListViewItem.__init__,(self,parent)) + if isinstance(parent, QListView): + self.p = None + self.f = '/' + else: + self.p = parent + self.f = name + self.c = [] + self.readable = 1 + + def setOpen(self, o): + if o and not self.childCount(): + s = self.fullName() + thisDir = QDir(s) + if not thisDir.isReadable(): + self.readable = 0 + return + + files = thisDir.entryInfoList() + if files: + for f in files: + fileName = str(f.fileName()) + if fileName == '.' or fileName == '..': + continue + elif f.isSymLink(): + d = QListViewItem(self, fileName, 'Symbolic Link') + elif f.isDir(): + d = Directory(self, fileName) + else: + if f.isFile(): + s = 'File' + else: + s = 'Special' + d = QListViewItem(self, fileName, s) + self.c.append(d) + + QListViewItem.setOpen(self, o) + + def setup(self): + self.setExpandable(1) + QListViewItem.setup(self) + + def fullName(self): + if self.p: + s = self.p.fullName() + self.f + '/' + else: + s = '/' + return s + + def text(self, column): + if column == 0: + return self.f + elif self.readable: + return 'Directory' + else: + return 'Unreadable Directory' + +a = QApplication(sys.argv) +mw = QListView() +a.setMainWidget(mw) +mw.setCaption('Directory Browser') +mw.addColumn('Name') +mw.addColumn('Type') +mw.resize(400, 400) +mw.setTreeStepSize(20) +root = Directory(mw) +root.setOpen(1) +mw.show() +a.exec_loop() |