Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- import os, sys
- from PyQt4 import QtCore, QtGui
- BOFFS = 101 # offset id bottoni
- def getmoodirs():
- global homedir, moodir
- homedir = os.path.abspath(os.path.dirname(sys.argv[0]))
- moodir = os.path.join(homedir, 'moo')
- def makemoo():
- global moodir, objlst
- nostart = ['.', 'no-list']
- objlst = sorted(os.listdir(moodir), key = str.lower)
- if len(objlst) == 0:
- return False
- oklist =[] # start
- for ele in objlst:
- no = False
- for c in nostart:
- no = ele[:len(c)] == c
- if no: break
- if not no:
- oklist.append(ele)
- if len(oklist) == 0:
- return False
- if len(objlst) > 20:
- objlst = objlst[:20]
- return True
- class mooWidget(QtGui.QWidget):
- def __init__(self, parent=None):
- QtGui.QWidget.__init__(self, parent)
- global homedir, moodir
- global objlst
- tit = os.path.basename(homedir)
- self.setWindowTitle(tit)
- self.setWindowIcon(QtGui.QIcon('moo.png'))
- self.setWindowFlags(QtCore.Qt.CustomizeWindowHint |
- QtCore.Qt.WindowSystemMenuHint |
- QtCore.Qt.WindowMinimizeButtonHint |
- QtCore.Qt.WindowCloseButtonHint)
- self.btnGroup = QtGui.QButtonGroup()
- self.btnGroup.buttonClicked[int].connect(self.OnClick)
- for c in range(len(objlst)):
- txt = objlst[c]
- if len(txt) > 32:
- txt = txt[:31]
- self.btn = QtGui.QPushButton(txt, self)
- self.btn.setGeometry(0, 40 * c, 240, 50)
- self.btnGroup.addButton(self.btn)
- self.btnGroup.setId(self.btn, BOFFS + c)
- h = 10 + len(objlst) * 40
- self.setFixedSize(240, h)
- def OnClick(self, bid):
- global objlst, moodir
- w = objlst[bid - BOFFS]
- wp = os.path.join(moodir, w)
- if os.path.isdir(wp):
- os.system('totem "%s" &' % wp)
- # main
- getmoodirs()
- if not makemoo():
- sys.exit(2)
- app = QtGui.QApplication(sys.argv)
- widget = mooWidget()
- widget.show()
- sys.exit(app.exec_())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement