diff options
| author | aneejit1 <aneejit1@gmail.com> | 2022-07-28 15:46:19 +0000 |
|---|---|---|
| committer | aneejit1 <aneejit1@gmail.com> | 2022-07-30 17:54:15 +0000 |
| commit | e602246539fd7435aaeb440fcb7f852c92c8426b (patch) | |
| tree | 35e09f5d93c67158e6c1160d6d9b27ae8a0bf966 /examples3/qdir.py | |
| parent | b34531364d5c0d3be7056d87011afd8bd538a0e7 (diff) | |
| download | pytqt-e602246539fd7435aaeb440fcb7f852c92c8426b.tar.gz pytqt-e602246539fd7435aaeb440fcb7f852c92c8426b.zip | |
Remove Qt V2 support and example files
Build files for pyuic2 have been removed along with the examples for
version 2 of Qt and the build/configure scripts have been amended
accordingly. The "examples3" directory has been renamed to just
"examples".
Signed-off-by: aneejit1 <aneejit1@gmail.com>
Diffstat (limited to 'examples3/qdir.py')
| -rwxr-xr-x | examples3/qdir.py | 324 |
1 files changed, 0 insertions, 324 deletions
diff --git a/examples3/qdir.py b/examples3/qdir.py deleted file mode 100755 index 358c796..0000000 --- a/examples3/qdir.py +++ /dev/null @@ -1,324 +0,0 @@ -#!/usr/bin/env python -# -# 2005-02-12 initial version hp - -from __future__ import print_function -import os -import pickle -from python_tqt.qt import * -from dirview import Directory, DirectoryView - -bookmarks = [ - "22 14 8 1", - "# c #000080", - "a c #585858", - "b c #000000", - "c c #ffffff", - "d c #ffffff", - "e c #ffffff", - "f c #000000", - ". c None", - "...bb.................", - "..bacb....bbb.........", - "..badcb.bbccbab.......", - "..bacccbadccbab.......", - "..baecdbcccdbab.......", - "..bacccbacccbab.......", - "..badcdbcecdfab.......", - "..bacecbacccbab.......", - "..baccdbcccdbab.......", - "...badcbacdbbab.......", - "....bacbcbbccab.......", - ".....babbaaaaab.......", - ".....bbabbbbbbb.......", - "......bb.............." -] - -home = [ - "16 15 4 1", - "# c #000000", - "a c #ffffff", - "b c #c0c0c0", - ". c None", - ".......##.......", - "..#...####......", - "..#..#aabb#.....", - "..#.#aaaabb#....", - "..##aaaaaabb#...", - "..#aaaaaaaabb#..", - ".#aaaaaaaaabbb#.", - "###aaaaaaaabb###", - "..#aaaaaaaabb#..", - "..#aaa###aabb#..", - "..#aaa#.#aabb#..", - "..#aaa#.#aabb#..", - "..#aaa#.#aabb#..", - "..#aaa#.#aabb#..", - "..#####.######.." -] - - -class PixmapView(TQScrollView): - def __init__(self, parent): - TQScrollView.__init__(self, parent) - self.pixmap = None - self.viewport().setBackgroundMode(self.PaletteBase) - - def setPixmap(self, pix): - self.pixmap = pix - self.resizeContents(pix.size().width(), pix.size().height()) - self.viewport().repaint(False) - - def drawContents(self, p, cx, cy, cw, ch): - p.fillRect(cx, cy, cw, ch, self.colorGroup().brush(TQColorGroup.Base)) - p.drawPixmap(0, 0, self.pixmap) - - -class Preview(TQWidgetStack): - def __init__(self, parent): - TQWidgetStack.__init__(self, parent) - self.normalText = TQMultiLineEdit(self) - self.normalText.setReadOnly(True) - self.html = TQTextView(self) - self.pixmap = PixmapView(self) - self.raiseWidget(self.normalText) - - def showPreview(self, url, size): - if url.isLocalFile(): - path = url.path() - fi = TQFileInfo(path) - if fi.isFile() and fi.size() > size * 1000: - self.normalText.setText( - "The File\n%s\nis too large, so I don't show it!" % path) - self.raiseWidget(self.normalText) - return - pix = TQPixmap(path) - if pix.isNull(): - if fi.isFile(): - err = False - try: - text = open(path.latin1(), "r").read() - except IOError as msg: - text = TQString(str(msg)) - err = True - if not err and fi.extension().lower().contains("htm"): - url = self.html.mimeSourceFactory().makeAbsolute( - path, self.html.context()) - self.html.setText(text, url) - self.raiseWidget(self.html) - return - else: - self.normalText.setText(text) - self.raiseWidget(self.normalText) - return - else: - self.normalText.setText("") - self.raiseWidget(self.normalText) - else: - self.pixmap.setPixmap(pix) - self.raiseWidget(self.pixmap) - else: - self.normalText.setText("I only show local files!") - self.raiseWidget(self.normalText) - - -# We can't instantiate TQFilePreview directly because it is abstract. Note that -# the previewUrl() abstract is patched in later to work around the fact that -# you can't multiply inherit from more than one wrapped class. -class FilePreview(TQFilePreview): - pass - - -class PreviewWidget(TQVBox): - def __init__(self, parent): - TQVBox.__init__(self, parent) - self.setSpacing( 5 ) - self.setMargin( 5 ) - row = TQHBox(self) - row.setSpacing(5) - TQLabel("Only show files smaller than: ", row) - self.sizeSpinBox = TQSpinBox(1, 10000, 1, row) - self.sizeSpinBox.setSuffix(" KB") - self.sizeSpinBox.setValue(128) - row.setFixedHeight(10 + self.sizeSpinBox.sizeHint().height()) - self.__preview = Preview(self) - # workaround sip inability of multiple inheritance - # create a local TQFilePreview instance and redirect - # the method, which is called on preview, to us - self.preview = FilePreview() - self.preview.previewUrl = self.previewUrl - - def previewUrl(self, url): - self.__preview.showPreview(url, self.sizeSpinBox.value()) - - -class CustomFileDialog(TQFileDialog): - def __init__(self, preview = False): - TQFileDialog.__init__(self, None, None, True) - self.bookmarkFile = ".pybookmarks" - self.bookmarkList = [] - if os.path.exists(self.bookmarkFile): - try: - self.bookmarkList = pickle.loads(open(self.bookmarkFile, "rb").read()) - except IOError as msg: - print(msg) - self.setDir("/") - self.dirView = DirectoryView(self, None, True) - self.dirView.addColumn("") - self.dirView.header().hide() - root = Directory(self.dirView, "/") - root.setOpen(True) - self.dirView.setFixedWidth(200) - self.addLeftWidget(self.dirView) - p = TQPushButton(self) - p.setPixmap(TQPixmap(bookmarks)) - TQToolTip.add(p, "Bookmarks") - self.bookmarkMenu = TQPopupMenu(self) - self.connect(self.bookmarkMenu, SIGNAL("activated(int)"), - self.bookmarkChosen) - self.addId = self.bookmarkMenu.insertItem("Add bookmark") - self.bookmarkMenu.insertSeparator() - for l in self.bookmarkList: - self.bookmarkMenu.insertItem(l) - p.setPopup(self.bookmarkMenu) - self.addToolButton(p, True) - self.connect(self.dirView, PYSIGNAL("folderSelected(const TQString &)"), - self.setDir2) - self.connect(self, SIGNAL("dirEntered(const TQString &)"), - self.dirView.setDir) - b = TQToolButton(self) - TQToolTip.add(b, "Go Home!") - b.setPixmap(TQPixmap(home)) - self.connect(b, SIGNAL("clicked()"), self.goHome) - self.addToolButton(b) - - if preview: - self.setContentsPreviewEnabled(True) - pw = PreviewWidget(self) - self.setContentsPreview(pw, pw.preview) - self.setViewMode(TQFileDialog.List) - self.setPreviewMode(TQFileDialog.Contents) - - w = self.width() - h = self.height() - if preview: - self.resize(w + w / 2, h + h / 3) - else: - self.resize(w + w / 3, h + h / 4) - - def done(self, r): - if self.bookmarkList: - try: - open(self.bookmarkFile, "wb").write(pickle.dumps(self.bookmarkList)) - except IOError as msg: - print(msg) - return TQFileDialog.done(self, r) - - def showEvent(self, e): - TQFileDialog.showEvent(self, e) - self.dirView.setDir(self.dirPath()) - - def setDir2(self, path): - self.blockSignals(True) - self.setDir(path) - self.blockSignals(False) - - def bookmarkChosen(self, i): - if i == self.addId: - # keep bookmarks pythonic - dp = self.dirPath().latin1() - if dp not in self.bookmarkList: - self.bookmarkList.append(dp) - self.bookmarkMenu.insertItem(dp) - else: - self.setDir(self.bookmarkMenu.text(i)) - - def goHome(self): - if os.getenv("HOME"): - self.setDir(os.getenv("HOME")) - else: - self.setDir("/") - - -if __name__ == '__main__': - import sys - import getopt - - def usage(msg = None): - if msg: - print(msg, file=sys.stderr) - print("""\ -usage: qdir [--any | --dir | --custom] [--preview] [--default f] {--filter f} [caption ...] - --any Get any filename, need not exist. - --dir Return a directory rather than a file. - --custom Opens a customized TQFileDialog with - dir browser, bookmark menu, etc. - --preview Show a preview widget. - --default f Start from directory/file f. - --filter f eg. '*.gif' '*.bmp' - caption ... Caption for dialog. -""", file=sys.stderr) - sys.exit(1) - - def main(): - options = ["help", "any", "dir", "custom", "preview", "default=", "filter="] - mode = TQFileDialog.ExistingFile - preview = False - custom = False - start = None - filter = TQString.null - app = TQApplication(sys.argv) - - try: - optlist, args = getopt.getopt(sys.argv[1:], "h", options) - except getopt.error as msg: - usage(msg) - - for opt, par in optlist: - if opt in ("-h", "--help"): - usage() - elif opt == "--any": - mode = TQFileDialog.AnyFile - elif opt == "--dir": - mode = TQFileDialog.Directory - elif opt == "--default": - start = par - elif opt == "--filter": - filter = par - elif opt == "--preview": - preview = True - elif opt == "--custom": - custom = True - if args: - caption = " ".join(args) - elif mode == TQFileDialog.Directory: - caption = "Choose directory..." - else: - caption = "Choose file..." - if not start: - start = TQDir.currentDirPath() - if not custom: - fd = TQFileDialog(TQString.null, filter, None, None, True) - fd.setMode(mode) - if preview: - fd.setContentsPreviewEnabled(True) - pw = PreviewWidget(fd) - fd.setContentsPreview(pw, pw.preview) - fd.setViewMode(TQFileDialog.List) - fd.setPreviewMode(TQFileDialog.Contents) - w = fd.width() - h = fd.height() - fd.resize(w + w / 3, h + h / 4) - fd.setCaption(caption) - fd.setSelection(start) - if fd.exec_loop() == TQDialog.Accepted: - print("%s\n" % fd.selectedFile().latin1()) - return 0 - else: - return 1 - else: - fd = CustomFileDialog(preview) - fd.exec_loop() - return 1 - - sys.exit(main()) |
