summaryrefslogtreecommitdiffstats
path: root/examples3/qdir.py
diff options
context:
space:
mode:
authoraneejit1 <aneejit1@gmail.com>2022-07-28 15:46:19 +0000
committeraneejit1 <aneejit1@gmail.com>2022-07-30 17:54:15 +0000
commite602246539fd7435aaeb440fcb7f852c92c8426b (patch)
tree35e09f5d93c67158e6c1160d6d9b27ae8a0bf966 /examples3/qdir.py
parentb34531364d5c0d3be7056d87011afd8bd538a0e7 (diff)
downloadpytqt-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-xexamples3/qdir.py324
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())