Ejemplo n.º 1
0
class MenuDiretorioConsole(MatrizConsole):
    arquivoSelecionado = pyqtSignal(str)
    def __init__(self, initDir='.', parent=None):
        super().__init__(parent=parent)

        self._dir = QDir(initDir)
        self._dir.setSorting(QDir.Name)
        self._addItensDir()

    def _addItensDir(self):
        self.clear()
        di = self._dir.entryList()
        try:
            di.remove('.')
        except ValueError:
            pass

        self.addItens([LabelConsole(i) for i in di])

    def atualizarListaArquivos(self):
        self.cd('.')

    def cd(self, diret):
        if self._dir.cd(diret):
            self._addItensDir()
            return True

        return False

    def onEnter(self):
        if not self.cd(self.getItemSelecionado().getTexto()):
            self.arquivoSelecionado.emit(self.pathArquivoSelecionado())

    def path(self):
        return self._dir.absolutePath()

    def pathArquivoSelecionado(self):
        return self.path() + '/' + self.getItemSelecionado().getTexto()

    def desenhoTela(self, tam):
        s = '|{0:-<{1}}|\n'.format('',tam-2)
        s += '|Path: {0:<{1}}{2}|\n'.format(LabelConsole(self._dir.absolutePath()).desenhoTelaConsole(tam-9), tam-9, [' ','*'][self.hasFocus()])
        s += '|{0:-<{1}}|\n'.format('',tam-2)
        for i in super().desenhoTela(tam-2).split('\n'):
            s += '|{0:<{1}}|\n'.format(i, tam-2)
        s += '|{0:-<{1}}|'.format('',tam-2)

        return s
Ejemplo n.º 2
0
 from PyQt4.QtCore import (Qt,QSettings,QFileInfo,QDir,QStringList)
 from PyQt4.QtGui import (QApplication,QFileDialog,QPlainTextEdit,QTextCursor)
 app = QApplication(sys.argv) # create an app
 import pqIMC
 IMC = pqIMC.tricorder() # set up a fake IMC for unit test
 IMC.settings = QSettings()
 IMC.editWidget = QPlainTextEdit()
 import pqPages
 pqPages.IMC = IMC
 IMC.pageTable=pqPages.pagedb()
 widj = pngDisplay()
 widj.pngPath = QFileDialog.getExistingDirectory(widj,"Pick a Folder of Pngs",".")
 widj.pngPath.append(u'/')
 png_dir = QDir(widj.pngPath)
 png_dir.setFilter(QDir.Files | QDir.NoSymLinks)
 png_dir.setSorting(QDir.Name)
 png_dir.setNameFilters(QStringList(QString(u'*.png')))
 fnumber = 1
 for finf in png_dir.entryInfoList():
     # Read all the pngs and for each cobble up a "page" just to get
     # some data into the page table
     fname = finf.baseName()
     IMC.editWidget.textCursor().insertText(fname)
     fakemd = "{0} {1} {2} {3} {4} {5}\n".format(
         IMC.editWidget.textCursor().position(),
         fname, QString(u'\\foo\\foo'),
         IMC.FolioRuleAdd1, IMC.FolioFormatArabic, fnumber )
     IMC.pageTable.metaStringIn(fakemd)
     fnumber +=1
 widj.lastIndex = -1
 widj.nextIndex = 0