Пример #1
0
 def open(self):
     if self.maybeSave():
         fileName, _ = QFileDialog.getOpenFileName(self, "Open File",
                 QDir.currentPath())
         if fileName:
             self.scribbleArea.openImage(fileName)
             self.resize(self.scribbleArea.image.size())
Пример #2
0
    def __init__(self, parent):
        QMainWindow.__init__(self)

        self.printer = QPrinter()
        self.load_img = self.load_img_fit
        self.reload_img = self.reload_auto
        self.open_new = parent.open_win
        self.exit = parent.closeAllWindows
        self.scene = QGraphicsScene()
        self.img_view = ImageView(self)
        self.img_view.setScene(self.scene)
        self.setCentralWidget(self.img_view)

        self.create_actions()
        self.create_menu()
        self.create_dict()
        self.slides_next = True

        self.setContextMenuPolicy(Qt.CustomContextMenu)
        self.customContextMenuRequested.connect(self.showMenu)

        self.read_prefs()
        self.read_list = parent.read_list
        self.write_list = parent.write_list
        self.pics_dir = os.path.expanduser('~/Pictures') or QDir.currentPath()
        self.resize(700, 500)
Пример #3
0
 def onMapsDirectoryChanged(self):
     prefs = preferences.Preferences.instance()
     mapsDir = QDir(prefs.mapsDirectory())
     if (not mapsDir.exists()):
         mapsDir.setPath(QDir.currentPath())
     self.model().setRootPath(mapsDir.canonicalPath())
     self.setRootIndex(self.model().index(mapsDir.absolutePath()))
Пример #4
0
 def on_mainscriptButton_clicked(self):
     """
     Private slot to display a file selection dialog.
     """
     dir = self.dirEdit.text()
     if not dir:
         dir = QDir.currentPath()
     patterns = []
     for pattern, filetype in list(self.project.pdata["FILETYPES"].items()):
         if filetype == "SOURCES":
             patterns.append(pattern)
     filters = self.tr("Source Files ({0});;All Files (*)")\
         .format(" ".join(patterns))
     fn = E5FileDialog.getOpenFileName(
         self,
         self.tr("Select main script file"),
         dir,
         filters)
     
     if fn:
         ppath = self.dirEdit.text()
         if ppath:
             ppath = QDir(ppath).absolutePath() + QDir.separator()
             fn = fn.replace(ppath, "")
         self.mainscriptEdit.setText(Utilities.toNativeSeparators(fn))
Пример #5
0
    def open(self):
        fileName, _ = QFileDialog.getOpenFileName(self, "Open File",
                QDir.currentPath())
        if fileName:
            image = QImage(fileName)
            if image.isNull():
                QMessageBox.information(self, "Image Viewer",
                        "Cannot load %s." % fileName)
                return
            # myPixmap = QPixmap.fromImage(image)
            qpix = QPixmap.fromImage(image)
            self.image_obj = qpix
            self.flag = 1
            print(self.height/qpix.size().height())
            # self.scaleImage(0.8)

            self.imageLabel.setPixmap(qpix)
            self.scaleFactor = 1.0
            self.printAct.setEnabled(True)
            self.fitToWindowAct.setEnabled(True)
            self.updateActions()

            if not self.fitToWindowAct.isChecked():
                self.imageLabel.adjustSize()

            self.change_image_size()
Пример #6
0
    def saveScreenshot(self):
        format = 'png'
        initialPath = QDir.currentPath() + "/untitled." + format

        fileName, _ = QFileDialog.getSaveFileName(self, "Save As", initialPath,
                "%s Files (*.%s);;All Files (*)" % (format.upper(), format))
        if fileName:
            self.originalPixmap.save(fileName, format)
Пример #7
0
 def open_file_dialog(self):
     filename, _ = QFileDialog.getOpenFileName(
         self,
         "Open file",
         QDir.currentPath() if self.project_manager.project_dir is None else os.path.join(
             self.project_manager.project_dir, 'src'),
         self.FILES_FILTER
     )
     self.open_file(filename)
Пример #8
0
    def browse(self):
        directory = QFileDialog.getExistingDirectory(self, "Find Files",
                QDir.currentPath())

        if directory:
            if self.directoryComboBox.findText(directory) == -1:
                self.directoryComboBox.addItem(directory)

            self.directoryComboBox.setCurrentIndex(self.directoryComboBox.findText(directory))
Пример #9
0
	def startPendingConversion(self):
			self.previewOutdated = False

			requested_extensions = ['ReText.mdx_posmap'] if globalSettings.syncScroll else []
			self.converterProcess.start_conversion(self.getActiveMarkupClass().name,
			                                       self.fileName,
			                                       requested_extensions,
			                                       self.editBox.toPlainText(),
			                                       QDir.currentPath())
 def openScreenshot(self):
     format = "png"
     initialPath = QDir.currentPath() + "/"
     fileName, _ = QFileDialog.getOpenFileName(self, "Open Image", initialPath,
      "%s Files (*.%s);;All Files (*)" % (format.upper(), format))
     image = QImage(fileName, format)
     self.screenPixmap = QPixmap.fromImage(image)
     self.updateScreenshotHolder()
     self.editScreenshot()
Пример #11
0
def getSaveFileName(parent=None, dir=None, filter=None, caption=None):
    if (dir == None):
        dir = QDir.currentPath()
    if (filter == None):
        filter = 'File (*)'
    filename = QFileDialog.getSaveFileName(parent, caption, dir, filter)
    if (filename == ('', '')): # two null strings for cancel
        return None
    return filename[0]
Пример #12
0
 def on_mainscriptPicker_aboutToShowPathPickerDialog(self):
     """
     Private slot to perform actions before the main script selection dialog
     is shown.
     """
     path = self.dirPicker.text()
     if not path:
         path = QDir.currentPath()
     self.mainscriptPicker.setDefaultDirectory(path)
Пример #13
0
    def saveFile(self, fileFormat):
        initialPath = QDir.currentPath() + '/untitled.' + fileFormat

        fileName, _ = QFileDialog.getSaveFileName(self, "Save As", initialPath,
                "%s Files (*.%s);;All Files (*)" % (fileFormat.upper(), fileFormat))
        if fileName:
            return self.scribbleArea.saveImage(fileName, fileFormat)

        return False
Пример #14
0
    def _handle_save(self):
        if self._save_buffer is None:
            return

        filename, filter = QFileDialog.getSaveFileName(self, "Save binary...", QDir.currentPath(), "Binary files (*.bin)")
        if not filename:
            return

        with open(filename, "wb") as f:
            f.write(self._save_buffer)
Пример #15
0
	def openFile(self):
		supportedExtensions = ['.txt']
		for markup in markups.get_all_markups():
			supportedExtensions += markup.file_extensions
		fileFilter = ' (' + str.join(' ', ['*'+ext for ext in supportedExtensions]) + ');;'
		fileNames = QFileDialog.getOpenFileNames(self,
			self.tr("Select one or several files to open"), QDir.currentPath(),
			self.tr("Supported files") + fileFilter + self.tr("All files (*)"))
		for fileName in fileNames[0]:
			self.openFileWrapper(fileName)
Пример #16
0
    def select_new_dir(self):

        self.hyperlpr_dir_path = QFileDialog.getExistingDirectory(
            self, "读取文件夹", QDir.currentPath())

        if len(self.hyperlpr_dir_path) > 0:
            hyperlpr_dir_info_filepath = QDir.homePath() + "/hyperlpr_dir_file"
            with open(hyperlpr_dir_info_filepath, 'w') as f:
                f.write(self.hyperlpr_dir_path)
            self.reset_info_gui()
Пример #17
0
 def save_screenshot(self):
     if self.done:
         filename = QFileDialog.getSaveFileName(self, "Save As", QDir.currentPath(), "PNG Files (*.png)")
         if filename:
             self.pixmap.save(filename[0], "png")
         self.imagePreviewer.hide()
     else:
         take_screenshot()
         save_screenshot()
     self.done = False
Пример #18
0
    def browseNetwork2File(self):
        fileNetwork2Path = QFileDialog.getOpenFileName(
                self, _('Network 2 CSV File'),
                QDir.currentPath(), 'Comma-separated values (*.csv)')

        if fileNetwork2Path:
            if self.network2PathComboBox.findText(fileNetwork2Path[0]) == -1:
                self.network2PathComboBox.addItem(fileNetwork2Path[0])

            self.network2PathComboBox.setCurrentIndex(
                    self.network2PathComboBox.findText(fileNetwork2Path[0]))
Пример #19
0
    def browseList2File(self):
        list2FilePath = QFileDialog.getOpenFileName(
                self, _('Sample user list 2 CSV File'),
                QDir.currentPath(), 'Comma-separated values (*.csv)')

        if list2FilePath:
            if self.sampleUser2PathComboBox.findText(list2FilePath[0]) == -1:
                self.sampleUser2PathComboBox.addItem(list2FilePath[0])

            self.sampleUser2PathComboBox.setCurrentIndex(
                    self.sampleUser2PathComboBox.findText(list2FilePath[0]))
Пример #20
0
    def browseTrueMapFile(self):
        trueMapFilePath = QFileDialog.getOpenFileName(
                self, _('True mapping CSV File'),
                QDir.currentPath(), 'Comma-separated values (*.csv)')

        if trueMapFilePath:
            if self.trueMapPathComboBox.findText(trueMapFilePath[0]) == -1:
                self.trueMapPathComboBox.addItem(trueMapFilePath[0])

            self.trueMapPathComboBox.setCurrentIndex(
                    self.trueMapPathComboBox.findText(trueMapFilePath[0]))
    def __init__(self, parent=None):

        super(Window, self).__init__(parent)

        inputButton = self.createButton("&Select input folder", self.browseForInput)
        inputLabel = QLabel("Input path: ")
        self.inputPath = QLabel(QDir.currentPath())
        self.inputStats = QLabel("")
        self.inputFiles = []
        self.sampleImage = SampleImageWidget(self)

        outputButton = self.createButton("&Select output folder", self.browseForOutput)
        outputLabel = QLabel("Output path:")
        self.outputPath = QLabel(QDir.currentPath())

        startButton = self.createButton("&Start processing", self.process)
        quitButton = self.createButton("&Exit", self.quit)

        mainLayout = QGridLayout()

        mainLayout.addWidget(inputButton, 0, 0)
        mainLayout.addWidget(inputLabel, 0, 1)
        mainLayout.addWidget(self.inputPath, 0, 2)
        mainLayout.addWidget(self.inputStats, 1, 0)
        mainLayout.addWidget(self.sampleImage, 1, 1)

        mainLayout.addWidget(outputButton, 2, 0)
        mainLayout.addWidget(outputLabel, 2, 1)
        mainLayout.addWidget(self.outputPath, 2, 2)

        buttonsLayout = QHBoxLayout()
        buttonsLayout.addStretch()
        buttonsLayout.addWidget(startButton)
        buttonsLayout.addWidget(quitButton)

        mainLayout.addLayout(buttonsLayout, 3, 0)

        self.setLayout(mainLayout)

        self.setWindowTitle("Find Files")
        self.resize(700, 300)
    def browseForInput(self):
        directory = QFileDialog.getExistingDirectory(self, "Select input folder",
                QDir.currentPath())

        #count the number of JPG and TIFF files
        countsPerExtension = {}
        for root, dirs, files in os.walk(directory):
          for f in files:

            #TODO more per-file auditing here?

            if f.lower().endswith("jpg") or f.lower().endswith("jpeg"):
              if "JPG" not in countsPerExtension:
                countsPerExtension["JPG"] = 0
              countsPerExtension["JPG"] += 1
              self.inputFiles.append(os.path.join(root, f).encode('ascii','replace'))
            elif f.lower().endswith("tiff"):
              if "TIFF" not in countsPerExtension:
                countsPerExtension["TIFF"] = 0
              countsPerExtension["TIFF"] += 1
              self.inputFiles.append(os.path.join(root, f).encode('ascii','replace'))
          #do not descend recursively
          break

        if len(self.inputFiles)==0:
          return

        stats = []
        for extension in countsPerExtension:
          stats.append(extension + ": " + str(countsPerExtension[extension]) + " files")

        #generate the average image from all the input files
        self.average_filename = 'tmp_average.jpg'
        print "generating average image", self.average_filename
        print "python make_average.py " + self.average_filename + " " + ' '.join(self.inputFiles).encode('ascii', 'replace')
        os.system("python make_average.py " + self.average_filename + " " + ' '.join(self.inputFiles).encode('ascii', 'replace'))
        #make_average(self.average_filename, self.inputFiles)
        counter = 60
        while not os.path.exists(self.average_filename) and counter > 0:
          counter -= 1
          print ".",
          time.sleep(1)
        print "done"

        #load and display the average image
        self.sampleImage.setSampleImage(self.average_filename)
        #also display statistics
        self.inputStats.setText(",".join(stats))
        #and show the input directory path to the user
        self.inputPath.setText(directory)
 def saveChanges(self):
     reply = QMessageBox.question(self, 'Message', 'Are you sure you save?',
     QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
     if reply == QMessageBox.Yes:
         image = self.imageHolder.saveChanges()
         format = 'png'
         initialPath = QDir.currentPath() + "/untitled." + format
         fileName, _ = QFileDialog.getSaveFileName(self, "Save As", initialPath,
                 "%s Files (*.%s);;All Files (*)" % (format.upper(), format))
         if fileName:
             image.save(fileName)
             self.screenPixmap = QPixmap.fromImage(image)
             self.parent.screenshotHolder.setPixmap(QPixmap.fromImage(image).scaled(
                 self.parent.screenshotHolder.size(), Qt.KeepAspectRatio, Qt.SmoothTransformation
             ))
         self.close()
Пример #24
0
    def httpFinished(self):
        if self.httpRequestAborted:
            if self.outFile is not None:
                self.outFile.close()
                self.outFile.remove()
                self.outFile = None

            self.reply.deleteLater()
            self.reply = None
            self.progressDialog.hide()
            return

        self.progressDialog.hide()
        self.outFile.flush()
        self.outFile.close()

        redirectionTarget = self.reply.attribute(QNetworkRequest.RedirectionTargetAttribute)

        if self.reply.error():
            self.outFile.remove()
            QMessageBox.information(self, "HTTP",
                    "Download failed: %s." % self.reply.errorString())
            self.downloadButton.setEnabled(True)
        elif redirectionTarget is not None:
            newUrl = self.url.resolved(redirectionTarget)

            ret = QMessageBox.question(self, "HTTP",
                    "Redirect to %s?" % newUrl.toString(),
                    QMessageBox.Yes | QMessageBox.No)

            if ret == QMessageBox.Yes:
                self.url = newUrl
                self.reply.deleteLater()
                self.reply = None
                self.outFile.open(QIODevice.WriteOnly)
                self.outFile.resize(0)
                self.startRequest(self.url)
                return
        else:
            fileName = QFileInfo(QUrl(self.urlLineEdit.text()).path()).fileName()
            self.statusLabel.setText("Downloaded %s to %s." % (fileName, QDir.currentPath()))

            self.downloadButton.setEnabled(True)

        self.reply.deleteLater()
        self.reply = None
        self.outFile = None
Пример #25
0
    def _open_save_dialog(self):
        idx = self.main_tabs.currentIndex()

        if not self.is_editor_modified():
            return

        filename, _ = QFileDialog.getSaveFileName(
            self,
            "Save file",
            QDir.currentPath() if self.project_manager.project_dir is None else os.path.join(
                self.project_manager.project_dir, 'src'), FILES_FILTER
        )

        if len(filename) == 0:
            return

        self.save_as(filename)
Пример #26
0
    def _setupWebview(self):
        settings = self.settings()
        currentPath = QDir.currentPath()
        settings.setAttribute(QWebSettings.LocalStorageEnabled, True)
        settings.setAttribute(QWebSettings.OfflineStorageDatabaseEnabled, True)
        settings.setAttribute(QWebSettings.OfflineWebApplicationCacheEnabled, True)
        settings.setAttribute(QWebSettings.DnsPrefetchEnabled, True)
        settings.setAttribute(QWebSettings.CSSGridLayoutEnabled, True)
        settings.setAttribute(QWebSettings.JavascriptCanOpenWindows, True)
        settings.setAttribute(QWebSettings.JavascriptCanCloseWindows, True)
        settings.setAttribute(QWebSettings.JavascriptCanAccessClipboard, True)
        settings.setAttribute(QWebSettings.DeveloperExtrasEnabled, True)
        settings.setOfflineStoragePath(currentPath + "/storage/offline")
        settings.setOfflineWebApplicationCachePath(currentPath + "/storage/webcache")
        settings.setLocalStoragePath(currentPath + "/storage/local")
        settings.setOfflineStorageDefaultQuota(5 * 1024 * 1024)
        settings.setOfflineWebApplicationCacheQuota(5 * 1024 * 1024)
        settings.enablePersistentStorage()
        
        """
        F12키를 누르면 "개발자 도구"가 노출됨
        """
        # webinspector
        self.webInspector = QWebInspector(self)
        self.webInspector.setPage(self.page())

        #Keyboard shortcuts
        shortcut = {}
        shortcut['F4'] = QShortcut(self)
        shortcut['F4'].setContext(Qt.ApplicationShortcut)
        shortcut['F4'].setKey(Qt.Key_F4)
        shortcut['F4'].activated.connect(self._toggleInspector)
        #F5 - Page reloading
        shortcut['F5'] = QShortcut(self)
        shortcut['F5'].setKey(Qt.Key_F5)
        shortcut['F5'].activated.connect(self.reload)

        # Devtools
        self.webInspector.setVisible(True)
        self.devTool = QDialog(self)
        self.devTool.setWindowTitle("Development Tool")
        self.devTool.resize(950, 400)
        layout = QGridLayout()
        layout.setContentsMargins(0,0,0,0)
        layout.addWidget(self.webInspector)
        self.devTool.setLayout(layout)
Пример #27
0
    def open(self):
        fileName, _ = QFileDialog.getOpenFileName(self, "Open File", QDir.currentPath())
        if fileName:
            image = QImage(fileName)
            if image.isNull():
                QMessageBox.information(self, "Image Viewer", "Cannot load %s." % fileName)
                return

            self.imageLabel.setPixmap(QPixmap.fromImage(image))
            self.scaleFactor = 1.0

            self.printAct.setEnabled(True)
            self.fitToWindowAct.setEnabled(True)
            self.updateActions()

            if not self.fitToWindowAct.isChecked():
                self.imageLabel.adjustSize()
Пример #28
0
    def __init__(self, mainWindow, parent = None):
        super().__init__(parent)
        self.mMainWindow = mainWindow

        self.setRootIsDecorated(False)
        self.setHeaderHidden(True)
        self.setItemsExpandable(False)
        self.setUniformRowHeights(True)
        self.setDragEnabled(True)
        self.setDefaultDropAction(Qt.MoveAction)
        prefs = preferences.Preferences.instance()
        prefs.mapsDirectoryChanged.connect(self.onMapsDirectoryChanged)
        mapsDir = QDir(prefs.mapsDirectory())
        if (not mapsDir.exists()):
            mapsDir.setPath(QDir.currentPath())
        self.mFSModel = FileSystemModel(self)
        self.mFSModel.setRootPath(mapsDir.absolutePath())

        nameFilters = QStringList("*.tmx")
        # The file system model name filters are plain, whereas the plugins expose
        # a filter as part of the file description
        filterFinder = QRegExp("\\((\\*\\.[^\\)\\s]*)")
        for format in PluginManager.objects(MapFormat):
            if not (format.capabilities() & MapFormat.Read):
                continue

            filter = format.nameFilter()
            if (filterFinder.indexIn(filter) != -1):
                nameFilters.append(filterFinder.cap(1))

        self.mFSModel.setFilter(QDir.AllDirs | QDir.Files | QDir.NoDot)
        self.mFSModel.setNameFilters(nameFilters)
        self.mFSModel.setNameFilterDisables(False) # hide filtered files
        self.setModel(self.mFSModel)
        headerView = self.header()
        headerView.hideSection(1) # Size column
        headerView.hideSection(2)
        headerView.hideSection(3)
        self.setRootIndex(self.mFSModel.index(mapsDir.absolutePath()))
        self.header().setStretchLastSection(False)
        self.header().setSectionResizeMode(0, QHeaderView.Stretch)
        self.activated.connect(self.onActivated)

        self.mMainWindow = None
        self.mFSModel = None
Пример #29
0
    def __init__ (self):
        super(LocalPathView, self).__init__()
        self._model = QFileSystemModel()
        self._model.setFilter(QDir.Dirs | QDir.Drives | QDir.NoDotAndDotDot | QDir.AllDirs)
        self._model.setRootPath('')
        self.setModel(self._model )

        self.hideColumn(1); # removing Size Column
        self.hideColumn(2); # removing Type Column
        self.setAnimated(False)
        self.setSortingEnabled(True)
        self.header().setSortIndicator(0, Qt.AscendingOrder)

        width = self.size().width() >> 1
        self.setColumnWidth(0, width*0.7)
        self.setColumnWidth(1, width*0.3)

        index = self._model.index(QDir.currentPath())
        self.selectionModel().setCurrentIndex(index, QItemSelectionModel.Select | QItemSelectionModel.Rows)
        self.expand(index)
        self.scrollTo(index)
Пример #30
0
 def open_directory(dialog, data_type):
     directory = QFileDialog.getExistingDirectory(parent, directory = QDir.currentPath())
     set_filename_and_close_dialog(directory, dialog, data_type)
Пример #31
0
    def __init__(self, filenames=[], parent=None, name=None):
        """
        Constructor
        
        @param filenames filenames of form and/or translation files to load
        @param parent parent widget of this window (QWidget)
        @param name name of this window (string)
        """
        self.mainWidget = None
        self.currentFile = QDir.currentPath()

        super(TRPreviewer, self).__init__(parent)
        if not name:
            self.setObjectName("TRPreviewer")
        else:
            self.setObjectName(name)

        self.setStyle(Preferences.getUI("Style"),
                      Preferences.getUI("StyleSheet"))

        self.resize(QSize(800, 600).expandedTo(self.minimumSizeHint()))
        self.statusBar()

        self.setWindowIcon(UI.PixmapCache.getIcon("pymakr.png"))
        self.setWindowTitle(self.tr("Translations Previewer"))

        self.cw = QWidget(self)
        self.cw.setObjectName("qt_central_widget")

        self.TRPreviewerLayout = QVBoxLayout(self.cw)
        self.TRPreviewerLayout.setContentsMargins(6, 6, 6, 6)
        self.TRPreviewerLayout.setSpacing(6)
        self.TRPreviewerLayout.setObjectName("TRPreviewerLayout")

        self.languageLayout = QHBoxLayout()
        self.languageLayout.setContentsMargins(0, 0, 0, 0)
        self.languageLayout.setSpacing(6)
        self.languageLayout.setObjectName("languageLayout")

        self.languageLabel = QLabel(self.tr("Select language file"), self.cw)
        self.languageLabel.setObjectName("languageLabel")
        self.languageLayout.addWidget(self.languageLabel)

        self.languageCombo = QComboBox(self.cw)
        self.languageCombo.setObjectName("languageCombo")
        self.languageCombo.setEditable(False)
        self.languageCombo.setToolTip(self.tr("Select language file"))
        self.languageCombo.setSizePolicy(QSizePolicy.Expanding,
                                         QSizePolicy.Preferred)
        self.languageLayout.addWidget(self.languageCombo)

        languageSpacer = QSpacerItem(40, 20, QSizePolicy.Expanding,
                                     QSizePolicy.Minimum)
        self.languageLayout.addItem(languageSpacer)
        self.TRPreviewerLayout.addLayout(self.languageLayout)

        self.preview = WidgetArea(self.cw)
        self.preview.setObjectName("preview")
        self.TRPreviewerLayout.addWidget(self.preview)
        self.preview.lastWidgetClosed.connect(self.__updateActions)

        self.setCentralWidget(self.cw)

        self.languageCombo.activated[str].connect(self.setTranslation)

        self.translations = TranslationsDict(self.languageCombo, self)
        self.translations.translationChanged.connect(
            self.preview.rebuildWidgets)

        self.__initActions()
        self.__initMenus()
        self.__initToolbars()

        self.__updateActions()

        # fire up the single application server
        from .TRSingleApplication import TRSingleApplicationServer
        self.SAServer = TRSingleApplicationServer(self)
        self.SAServer.loadForm.connect(self.preview.loadWidget)
        self.SAServer.loadTranslation.connect(self.translations.add)

        # defere loading of a UI file until we are shown
        self.filesToLoad = filenames[:]
Пример #32
0
    else:
        QApplication.setStyle(QStyleFactory.create("Windows"))
else:
    QApplication.setStyle(QStyleFactory.create("Windows"))

app.setApplicationDisplayName("MQTT Observer")
app.setApplicationName("MQTT Observer")
app.setOrganizationDomain("xcape.io")
app.setOrganizationName("xcape.io")

if platform.system() == 'Windows':
    app.setAttribute(Qt.AA_EnableHighDpiScaling)  # for 4K display

translator = QTranslator()
if args['french']:
    if translator.load(":/Observer.fr_FR.qm", QDir.currentPath()):
        app.installTranslator(translator)

clientid = "Observer/" + QUuid.createUuid().toString()
logger.debug("MQTT clientid %s", clientid)

mqtt_client = mqtt.Client(clientid, clean_session=True, userdata=None)

dlg = ObserverWindow(mqtt_client, logger)
dlg.show()

mqtt_client.loop_start()

rc = app.exec_()

try:
Пример #33
0
 def tree_clicked(self, idx):
     print(self.dirmodel.fileName(idx))
     self.rightframe.set_tileset(QDir.currentPath() + '/mapeditor/' +
                                 self.dirmodel.filePath(idx))
Пример #34
0
    def initUI(self):
        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)

        pasteBox = QHBoxLayout()
        self.textLine = QLineEdit()
        self.textLine.setToolTip('Current Director/selected File')
        self.pasteButton = QToolButton()
        self.pasteButton.setEnabled(False)
        self.pasteButton.setText('Paste')
        self.pasteButton.setToolTip(
            'Copy file from copy path to current directory/file')
        self.pasteButton.clicked.connect(self.paste)
        self.pasteButton.hide()
        pasteBox.addWidget(self.textLine)
        pasteBox.addWidget(self.pasteButton)

        self.copyBox = QFrame()
        hbox = QHBoxLayout()
        hbox.setContentsMargins(0, 0, 0, 0)
        self.copyLine = QLineEdit()
        self.copyLine.setToolTip('File path to copy from, when pasting')
        self.copyButton = QToolButton()
        self.copyButton.setText('Copy')
        self.copyButton.setToolTip('Record current file as copy path')
        self.copyButton.clicked.connect(self.recordCopyPath)
        hbox.addWidget(self.copyButton)
        hbox.addWidget(self.copyLine)
        self.copyBox.setLayout(hbox)
        self.copyBox.hide()

        self.model = QFileSystemModel()
        self.model.setRootPath(QDir.currentPath())
        self.model.setFilter(QDir.AllDirs | QDir.NoDot | QDir.Files)
        self.model.setNameFilterDisables(False)
        self.model.rootPathChanged.connect(self.folderChanged)

        self.list = QListView()
        self.list.setModel(self.model)
        self.updateDirectoryView(self.media_path)
        self.list.resize(640, 480)
        self.list.clicked[QModelIndex].connect(self.listClicked)
        self.list.activated.connect(self._getPathActivated)
        self.list.setAlternatingRowColors(True)

        self.cb = QComboBox()
        self.cb.currentIndexChanged.connect(self.filterChanged)
        self.fillCombobox(INFO.PROGRAM_FILTERS_EXTENSIONS)
        self.cb.setMinimumHeight(30)
        self.cb.setSizePolicy(QSizePolicy(QSizePolicy.Fixed,
                                          QSizePolicy.Fixed))

        self.button2 = QToolButton()
        self.button2.setText('Media')
        self.button2.setSizePolicy(
            QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed))
        self.button2.setMinimumSize(60, 30)
        self.button2.setToolTip('Jump to Media directory')
        self.button2.clicked.connect(self.onJumpClicked)

        SettingMenu = QMenu(self)
        self.settingMenu = SettingMenu
        for i in ('Media', 'User'):
            axisButton = QAction(QIcon.fromTheme('user-home'), i, self)
            # weird lambda i=i to work around 'function closure'
            axisButton.triggered.connect(
                lambda state, i=i: self.jumpTriggered(i))
            SettingMenu.addAction(axisButton)
        self.button2.setMenu(SettingMenu)

        self.button3 = QToolButton()
        self.button3.setText('Add Jump')
        self.button3.setSizePolicy(
            QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed))
        self.button3.setMinimumSize(60, 30)
        self.button3.setToolTip('Add current directory to jump button list')
        self.button3.clicked.connect(self.onActionClicked)

        hbox = QHBoxLayout()
        hbox.addWidget(self.button2)
        hbox.addWidget(self.button3)
        hbox.insertStretch(2, stretch=0)
        hbox.addWidget(self.cb)

        windowLayout = QVBoxLayout()
        windowLayout.addLayout(pasteBox)
        windowLayout.addWidget(self.copyBox)
        windowLayout.addWidget(self.list)
        windowLayout.addLayout(hbox)
        self.setLayout(windowLayout)
        self.show()
 def open(self):
     fileName, _ = QFileDialog.getOpenFileName(self, "Open File",
                                               QDir.currentPath())
     if fileName:
         self.check_valid_path(fileName)
Пример #36
0
    def initUI(self):
        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)

        pasteBox = QHBoxLayout()
        self.textLine = QLineEdit()
        self.textLine.setToolTip('Current Director/selected File')
        self.pasteButton = QToolButton()
        self.pasteButton.setEnabled(False)
        self.pasteButton.setText('Paste')
        self.pasteButton.setToolTip(
            'Copy file from copy path to current directory/file')
        self.pasteButton.clicked.connect(self.paste)
        self.pasteButton.hide()
        pasteBox.addWidget(self.textLine)
        pasteBox.addWidget(self.pasteButton)

        self.copyBox = QFrame()
        hbox = QHBoxLayout()
        hbox.setContentsMargins(0, 0, 0, 0)
        self.copyLine = QLineEdit()
        self.copyLine.setToolTip('File path to copy from, when pasting')
        self.copyButton = QToolButton()
        self.copyButton.setText('Copy')
        self.copyButton.setToolTip('Record current file as copy path')
        self.copyButton.clicked.connect(self.recordCopyPath)
        hbox.addWidget(self.copyButton)
        hbox.addWidget(self.copyLine)
        self.copyBox.setLayout(hbox)
        self.copyBox.hide()

        self.model = QFileSystemModel()
        self.model.setRootPath(QDir.currentPath())
        self.model.setFilter(QDir.AllDirs | QDir.NoDot | QDir.Files)
        self.model.setNameFilterDisables(False)
        self.model.rootPathChanged.connect(self.folderChanged)

        self.list = QListView()
        self.list.setModel(self.model)
        self.list.resize(640, 480)
        self.list.clicked[QModelIndex].connect(self.listClicked)
        self.list.activated.connect(self._getPathActivated)
        self.list.setAlternatingRowColors(True)
        self.list.hide()

        self.table = QTableView()
        self.table.setModel(self.model)
        self.table.resize(640, 480)
        self.table.clicked[QModelIndex].connect(self.listClicked)
        self.table.activated.connect(self._getPathActivated)
        self.table.setAlternatingRowColors(True)

        header = self.table.horizontalHeader()
        header.setSectionResizeMode(0, QHeaderView.Stretch)
        header.setSectionResizeMode(1, QHeaderView.ResizeToContents)
        header.setSectionResizeMode(3, QHeaderView.ResizeToContents)
        header.swapSections(1, 3)
        header.setSortIndicator(1, Qt.AscendingOrder)
        self.table.setSortingEnabled(True)
        self.table.setColumnHidden(2, True)  # type
        self.table.verticalHeader().setVisible(False)  # row count header

        self.cb = QComboBox()
        self.cb.currentIndexChanged.connect(self.filterChanged)
        self.fillCombobox(INFO.PROGRAM_FILTERS_EXTENSIONS)
        self.cb.setMinimumHeight(30)
        self.cb.setSizePolicy(QSizePolicy(QSizePolicy.Fixed,
                                          QSizePolicy.Fixed))

        self.button2 = QToolButton()
        self.button2.setText('User')
        self.button2.setSizePolicy(
            QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed))
        self.button2.setMinimumSize(60, 30)
        self.button2.setToolTip(
            'Jump to User directory.\nLong press for Options.')
        self.button2.clicked.connect(self.onJumpClicked)

        self.button3 = QToolButton()
        self.button3.setText('Add Jump')
        self.button3.setSizePolicy(
            QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed))
        self.button3.setMinimumSize(60, 30)
        self.button3.setToolTip('Add current directory to jump button list')
        self.button3.clicked.connect(self.onActionClicked)

        self.settingMenu = QMenu(self)
        self.button2.setMenu(self.settingMenu)

        hbox = QHBoxLayout()
        hbox.addWidget(self.button2)
        hbox.addWidget(self.button3)
        hbox.insertStretch(2, stretch=0)
        hbox.addWidget(self.cb)

        windowLayout = QVBoxLayout()
        windowLayout.addLayout(pasteBox)
        windowLayout.addWidget(self.copyBox)
        windowLayout.addWidget(self.list)
        windowLayout.addWidget(self.table)
        windowLayout.addLayout(hbox)
        self.setLayout(windowLayout)
        self.show()
 def br1_clicked(self):
     print("clicked browe1 button")
     fileName, _ = QFileDialog.getOpenFileName(self, 'Single File',
                                               QDir.currentPath(), '*.xml')
     self.le_tr.setText(fileName)
Пример #38
0
    def __init__(self, argv, client, debugging_mqtt=False):
        super().__init__(argv, client, debugging_mqtt)

        settings = QSettings("settings.ini", QSettings.IniFormat)
        settings.setIniCodec("UTF-8")
        settings.beginGroup("MQTT")

        parser = argparse.ArgumentParser()
        parser.add_argument("-s",
                            "--server",
                            help="change MQTT server host",
                            nargs=1)
        parser.add_argument("-p",
                            "--port",
                            help="change MQTT server port",
                            nargs=1,
                            type=int)
        parser.add_argument("-d",
                            "--debug",
                            help="set DEBUG log level",
                            action='store_true')
        parser.add_argument("-l",
                            "--logger",
                            help="use logging config file",
                            nargs=1)
        parser.add_argument("-f",
                            "--french",
                            help="run in French",
                            action='store_true')
        args = vars(parser.parse_args())

        if args['server']:
            self._mqttServerHost = args['server'][0]
            settings.setValue('host', self._mqttServerHost)

        if args['port']:
            self._mqttServerPort = args['port'][0]
            settings.setValue('port', self._mqttServerPort)

        if args['logger'] and os.path.isfile(args['logger']):
            logging.config.fileConfig(args['logger'])
            if args['debug']:
                self._logger = logging.getLogger('debug')
                self._logger.setLevel(logging.DEBUG)
            else:
                self._logger = logging.getLogger('production')
                self._logger.setLevel(logging.INFO)
        elif os.path.isfile('logging.ini'):
            logging.config.fileConfig('logging.ini')
            if args['debug']:
                self._logger = logging.getLogger('debug')
                self._logger.setLevel(logging.DEBUG)
            else:
                self._logger = logging.getLogger('production')
                self._logger.setLevel(logging.INFO)
        else:
            if args['debug']:
                self._logger = logging.getLogger('debug')
                self._logger.setLevel(logging.DEBUG)
            else:
                self._logger = logging.getLogger('production')
                self._logger.setLevel(logging.INFO)
            ch = logging.FileHandler('plugin.log', 'w')
            ch.setLevel(logging.INFO)
            self._logger.addHandler(ch)

        self.translator = QTranslator()
        if args['french']:
            try:
                if self.translator.load(TRANSLATOR_FR, QDir.currentPath()):
                    self.installTranslator(self.translator)
            except:
                pass

        self.setApplicationDisplayName(APPDISPLAYNAME)

        # on_message per topic callbacks
        try:
            mqtt_sub_props = self._definitions['mqtt-sub-props']
            self._mqttClient.message_callback_add(mqtt_sub_props,
                                                  self.mqttOnMessageFromProps)
        except Exception as e:
            self._logger.error(
                self.tr("Plugin sub topic definition is missing"))
            self._logger.debug(e)

        # on_message default callback
        self._mqttClient.on_message = self.mqttOnMessage

        self._PluginDialog = PluginDialog(self.tr("Echo"), './room.png',
                                          self._logger)
        self._PluginDialog.setPropsInboxTopic(
            self._definitions['mqtt-pub-props'])
        self._PluginDialog.setRoomAdminTopic(
            self._definitions['mqtt-sub-control-administrator'])
        self._PluginDialog.aboutToClose.connect(self.exitOnClose)
        self._PluginDialog.publishMessage.connect(self.publishMessage)
        self.propsMessageReceived.connect(self._PluginDialog.onPropsMessage)
        self.messageReceived.connect(self._PluginDialog.onMessage)
        self._PluginDialog.show()
Пример #39
0
 def __init__(self, parent=None, flags=Qt.WindowFlags()):
     super().__init__(parent=parent, flags=flags)
     self.path = QDir.currentPath() + '/mapeditor/Tilesets/002-Woods01.png'
     self.pix = QPixmap(self.path)
Пример #40
0
 def slot_actSetFilePath(self):
     diaLogFile = QFileDialog(self)
     initialPath = QDir.currentPath()  # 当前文件夹路径,应该写ini配置文件让它读取记录,自己用json文件代替了
     newPath = diaLogFile.getExistingDirectory(self, "选取文件夹", initialPath)
     self.lineEdFilePath.setText(newPath)
     self.setFocus()
Пример #41
0
import sys
from PyQt5.QtWidgets import QApplication, QSplitter, QFileSystemModel, QTreeView, QListView
from PyQt5.QtCore import QDir

if __name__ == '__main__':
    app = QApplication(sys.argv)
    splitter = QSplitter()

    model = QFileSystemModel()
    model.setRootPath(QDir.currentPath())

    tree = QTreeView(splitter)
    tree.setModel(model)
    tree.setRootIndex(model.index(QDir.currentPath()))

    list = QListView(splitter)
    list.setModel(model)
    list.setRootIndex(model.index(QDir.currentPath()))

    splitter.setWindowTitle("Two views onto the same file system model")
    splitter.show()

    app.exec()
Пример #42
0
 def changePath(self):
     self.filename, _ = QFileDialog.getOpenFileName(self, "打开文件",
                                                    QDir.currentPath(),
                                                    "Source (*.txt  )")
     self.pathLineEdit.setText(self.filename)
     print(self.filename)
Пример #43
0
 def open(self):
     if self.maybeSave():
         fileName, _ = QFileDialog.getOpenFileName(self, "Open File",
                                                   QDir.currentPath())
         if fileName:
             self.scribbleArea.openImage(fileName)
Пример #44
0
def show_save_file_dialog(label, name_filter, init_dir=None):
    return QFileDialog.getSaveFileName(caption=label,
                                       directory=init_dir
                                       if init_dir is not None else QDir.currentPath(),
                                       filter=name_filter)[0]
Пример #45
0
 def _openImageFile(self):
     fileName, _ = QFileDialog.getOpenFileName(self, "Open File",
                                               QDir.currentPath())
     if fileName:
         self.painter.openImage(fileName)
         self.logList.addMessage("Изображение загружено", MessageType.INFO)
Пример #46
0
 def saveFile(self):
     path = QDir.currentPath()
     fileName, _ = QFileDialog.getSaveFileName(self, "Save as", path)
     if fileName:
         return self.canvas.saveImage(fileName)
     return False
Пример #47
0
 def __init__(self, appDir=None):
     QObject.__init__(self)
     self.appDir = QDir.currentPath() if appDir is None else appDir
     self.histogramService = histogramService.HistogramService(self.appDir)
     self.imageService = imageService.ImageService(self.appDir)
Пример #48
0
    def open_folder(self, folder_path=None):
        self.voting_dict = {}
        self.photo_picker_dict = {}
        if not os.path.exists(str(folder_path)):
            folder_path = None
        if folder_path is None:
            self.folder_path = QFileDialog.getExistingDirectory(
                self, "Open Folder", QDir.currentPath())
        else:
            self.folder_path = folder_path

        if self.folder_path == "":
            return

        for root, dir, files in os.walk(self.folder_path):
            for file in files:
                wf = WhittleFile(os.path.join(root, file))
                if {wf.file_extension}.issubset(VALID_EXTENSIONS):
                    if self.voting_dict.get(wf.file_name) is None:
                        self.voting_dict[wf.file_name] = {wf}
                    else:
                        self.voting_dict[wf.file_name].add(wf)
        if not self.voting_dict:
            ErrorDialog(
                error="Unable to open folder",
                error_reason=
                "Unable to locate any valid photo files at folder path.  "
                "Please select a new folder to begin Whittling.",
                extra_info=f'Folder path: "{self.folder_path}".').exec_()
            return

        # filter out file_names that don't have a JPG whittle file as we want to load those into
        # memory
        self.voting_dict = {
            file_name: wf_set
            for file_name, wf_set in self.voting_dict.items()
            if any([wf.file_extension == JPG_EXTENSION for wf in wf_set])
        }
        if not self.voting_dict:
            ErrorDialog(
                error="Unable to open folder",
                error_reason=
                "Unable to locate any valid JPG files at folder path.  "
                "Please select a new folder to begin Whittling.",
                extra_info=f'Folder path: "{self.folder_path}".').exec_()
            return

        # before we create new thumbnails, delete any that exit in cwd
        self._clean_up_temp()

        file_names = list(self.voting_dict.keys())
        thumbnail_save_info = []
        for file_name in file_names:
            wf = next(wf for wf in self.voting_dict[file_name]
                      if wf.file_extension == JPG_EXTENSION)
            thumbnail_save_info.append([
                wf.file_path,
                self._get_width(THUMBNAIL_WIDTH),
                self._get_height(THUMBNAIL_HEIGHT)
            ])

        with ThreadPoolExecutor() as tpe:
            results = tpe.map(save_image_as_thumbnail, thumbnail_save_info)
        photo_file_paths = list(results)
        photo_file_paths.sort()

        self._clear_programmatically_populated_layouts()
        self._populate_photo_picker(photo_file_paths)

        full_res = self._get_full_res_photo_path(photo_file_paths[0])
        self._set_main_photo(full_res)
        self._set_stats()
Пример #49
0
    def load_example_file_system(self):
        treeView = self.findChild(QTreeView, "treeView")
        model = QFileSystemModel()

        model.setRootPath(QDir.currentPath())
        treeView.setModel(model)
Пример #50
0
    def organize_folder(self, folder_path=None):

        if folder_path is None:
            organize_folder = QFileDialog.getExistingDirectory(
                self, "Open Folder", QDir.currentPath())
            if organize_folder == "":
                return
        else:
            organize_folder = folder_path

        organize_dict = {}
        for file in os.listdir(organize_folder):
            wf = WhittleFile(os.path.join(organize_folder, file))
            if {wf.file_extension}.issubset(VALID_EXTENSIONS):
                if organize_dict.get(wf.file_name) is None:
                    organize_dict[wf.file_name] = {wf}
                else:
                    organize_dict[wf.file_name].add(wf)

        if not organize_dict:
            ErrorDialog(
                error="Unable to organize folder",
                error_reason=
                "Unable to locate any photo files with valid file extension types.",
                extra_info=f'Supported extension types: "{*VALID_EXTENSIONS,}".'
            ).exec_()
            return

        organize_dict = {
            file_name: wf_set
            for file_name, wf_set in organize_dict.items() if len(wf_set) == 2
        }
        if not organize_dict:
            ErrorDialog(
                error="Unable to organize folder",
                error_reason=
                "Folder to organize did not contain any files where there were 2 file "
                "types per unique photo.",
            ).exec_()
            return

        file_extensions = []
        for file_name, wf_set in organize_dict.items():
            for wf in wf_set:
                file_extensions.append(wf.file_extension)

        file_extensions = set(file_extensions)
        if len(file_extensions) != 2:
            ErrorDialog(
                error="Unable to organize folder",
                error_reason=
                "Folder to organize contained more than two file extensions.",
                extra_info=f'File Extensions: "{*file_extensions,}"').exec_()
            return

        raw_unedited_folder_path = (os.path.join(organize_folder,
                                                 RAW_UNEDITED_FOLDER_NAME))
        jpeg_unedited_folder_path = (os.path.join(organize_folder,
                                                  JPG_UNEDITED_FOLDER_NAME))

        os.makedirs(raw_unedited_folder_path, exist_ok=True)
        os.makedirs(jpeg_unedited_folder_path, exist_ok=True)

        file_movement_list = []

        for file_name, wf_set in organize_dict.items():
            for wf in wf_set:
                if {wf.file_extension}.issubset(RAW_EXTENSIONS):
                    file_movement_list.append(
                        (wf.file_path,
                         os.path.join(raw_unedited_folder_path,
                                      wf.file_name + wf.file_extension)))
                else:
                    file_movement_list.append(
                        (wf.file_path,
                         os.path.join(jpeg_unedited_folder_path,
                                      wf.file_name + wf.file_extension)))

        with ThreadPoolExecutor() as tpe:
            tpe.map(thread_safe_file_move, file_movement_list)

        ActionCompleteDialog(
            action="Folder Organization",
            action_message=
            f'Finished organizing "{os.path.basename(organize_folder)}" folder.'
        ).exec_()
Пример #51
0
 def browseClicked(self):
     st = QFileDialog.getOpenFileName(parent=self,
                                      caption='Select image to find',
                                      directory=QDir.currentPath())
     if st[0]:
         self.labelpath.setText(st[0])
Пример #52
0
 def open_single_file(dialog, data_type):
     file, _ = QFileDialog.getOpenFileName(parent, directory = QDir.currentPath())
     set_filename_and_close_dialog(file, dialog, data_type)
Пример #53
0
#!/usr/bin/python3
# -*- coding: utf-8 -*-

from PyQt5.QtCore import (QDir)

print('==%s' % QDir.currentPath())
RES_ICONFILE = QDir.currentPath() + '/mapeditor/resources/Icon_file.png'
RES_ICONFILE2 = 'mapeditor/resources/Icon_file2.png'
RES_ICONFILE2_SE = 'mapeditor/resources/Icon_file2_se.png'
RES_ICOTREE = 'mapeditor/resources/Ico_Tree.ico'
RES_ICONFOLDER = 'mapeditor/resources/Icon_folder.png'
RES_ICONLAYER1 = 'mapeditor/resources/Icon_layer1.png'
RES_ICONLAYER2 = 'mapeditor/resources/Icon_layer2.png'
RES_ICONPAINT = 'mapeditor/resources/Icon_paint.png'
RES_ICONPANORAMA = 'mapeditor/resources/Icon_panorama.png'
RES_ICONPLAY = 'mapeditor/resources/Icon_play.png'
RES_ICONREFRESH = 'mapeditor/resources/Icon_refresh.png'
RES_ICONSAVE = 'mapeditor/resources/Icon_save.png'
RES_ICONTILE = 'mapeditor/resources/Icon_Tile.png'
RES_ICONTREE = 'mapeditor/resources/Icon_Tree.png'
RES_ICONTILESETTING = 'mapeditor/resources/IconTileSetting.png'
RES_IMGTITLE = 'mapeditor/resources/Img_Title.png'
RES_ICONMOUSE = 'mapeditor/resources/mouse-pointer.png'
RES_ICONSELECT = 'mapeditor/resources/SelectPointer.png'
RES_ICONBLACK = 'mapeditor/resources/black.png'
RES_ICONCLEAR = 'mapeditor/resources/clear.png'
RES_ICONERASE = 'mapeditor/resources/Icon_eraser.png'
Пример #54
0
def show_save_to_folder_dialog(label, init_dir=None):
    return QFileDialog.getExistingDirectory(caption=label,
                                            directory=init_dir
                                            if init_dir is not None else QDir.currentPath())
Пример #55
0
 def saveFunc(self):
     fileName, _ = QFileDialog.getSaveFileName(self, "Save Pickle file",
         QDir.currentPath(),"Plain text file (*.pickle)")
     Save.SaveTxt(self,fileName)
     pass
Пример #56
0
def main():
    # Initialise.

    defaultContext = "@default"
    fetchedTor = MetaTranslator()
    codecForTr = ''
    codecForSource = ''
    tsFileNames = []
    uiFileNames = []

    verbose = False
    noObsolete = False
    metSomething = False
    numFiles = 0
    standardSyntax = True
    metTsFlag = False
    tr_func = None
    translate_func = None

    # Parse the command line.

    for arg in sys.argv[1:]:
        if arg == "-ts":
            standardSyntax = False

    argc = len(sys.argv)
    i = 1

    while i < argc:
        arg = sys.argv[i]
        i += 1

        if arg == "-help":
            printUsage()
            sys.exit(0)

        if arg == "-version":
            sys.stderr.write("pylupdate5 v%s\n" % PYQT_VERSION_STR)
            sys.exit(0)

        if arg == "-noobsolete":
            noObsolete = True
            continue

        if arg == "-verbose":
            verbose = True
            continue

        if arg == "-ts":
            metTsFlag = True
            continue

        if arg == "-tr-function":
            if i >= argc:
                sys.stderr.write(
                    "pylupdate5 error: missing -tr-function name\n")
                sys.exit(2)

            tr_func = sys.argv[i]
            i += 1
            continue

        if arg == "-translate-function":
            if i >= argc:
                sys.stderr.write(
                    "pylupdate5 error: missing -translate-function name\n")
                sys.exit(2)

            translate_func = sys.argv[i]
            i += 1
            continue

        numFiles += 1

        fullText = ""

        if not metTsFlag:
            f = QFile(arg)

            if not f.open(QIODevice.ReadOnly):
                sys.stderr.write("pylupdate5 error: Cannot open file '%s'\n" %
                                 arg)
                sys.exit(1)

            t = QTextStream(f)
            fullText = t.readAll()
            f.close()

        if standardSyntax:
            oldDir = QDir.currentPath()
            QDir.setCurrent(QFileInfo(arg).path())

            fetchedTor = MetaTranslator()
            codecForTr = ''
            codecForSource = ''
            tsFileNames = []
            uiFileNames = []

            for key, value in proFileTagMap(fullText).items():
                for t in value.split(' '):
                    if key == "SOURCES":
                        fetchtr_py(QDir.current().absoluteFilePath(t),
                                   fetchedTor, defaultContext, True,
                                   codecForSource, tr_func, translate_func)
                        metSomething = True

                    elif key == "TRANSLATIONS":
                        tsFileNames.append(QDir.current().absoluteFilePath(t))
                        metSomething = True

                    elif key in ("CODEC", "DEFAULTCODEC", "CODECFORTR"):
                        codecForTr = t
                        fetchedTor.setCodec(codecForTr)

                    elif key == "CODECFORSRC":
                        codecForSource = t

                    elif key == "FORMS":
                        fetchtr_ui(QDir.current().absoluteFilePath(t),
                                   fetchedTor, defaultContext, True)

            updateTsFiles(fetchedTor, tsFileNames, codecForTr, noObsolete,
                          verbose)

            if not metSomething:
                sys.stderr.write(
                    "pylupdate5 warning: File '%s' does not look like a "
                    "project file\n" % arg)
            elif len(tsFileNames) == 0:
                sys.stderr.write(
                    "pylupdate5 warning: Met no 'TRANSLATIONS' entry in "
                    "project file '%s'\n" % arg)

            QDir.setCurrent(oldDir)
        else:
            if metTsFlag:
                if arg.lower().endswith(".ts"):
                    fi = QFileInfo(arg)

                    if not fi.exists() or fi.isWritable():
                        tsFileNames.append(arg)
                    else:
                        sys.stderr.write(
                            "pylupdate5 warning: For some reason, I "
                            "cannot save '%s'\n" % arg)
                else:
                    sys.stderr.write(
                        "pylupdate5 error: File '%s' lacks .ts extension\n" %
                        arg)
            else:
                fi = QFileInfo(arg)

                if fi.suffix() in ("py", "pyw"):
                    fetchtr_py(fi.absoluteFilePath(), fetchedTor,
                               defaultContext, True, codecForSource, tr_func,
                               translate_func)
                else:
                    fetchtr_ui(fi.absoluteFilePath(), fetchedTor,
                               defaultContext, True)

    if not standardSyntax:
        updateTsFiles(fetchedTor, tsFileNames, codecForTr, noObsolete, verbose)

    if numFiles == 0:
        printUsage()
        sys.exit(1)
Пример #57
0
    def __init__(self, parent=None):
        super().__init__(parent)

        self.setupUi(self)

        QtAds.CDockManager.setConfigFlag(
            QtAds.CDockManager.OpaqueSplitterResize, True)
        QtAds.CDockManager.setConfigFlag(
            QtAds.CDockManager.XmlCompressionEnabled, False)
        QtAds.CDockManager.setConfigFlag(QtAds.CDockManager.FocusHighlighting,
                                         True)
        self.dock_manager = QtAds.CDockManager(self)

        # Set central widget
        text_edit = QPlainTextEdit()
        text_edit.setPlaceholderText(
            "This is the central editor. Enter your text here.")
        central_dock_widget = QtAds.CDockWidget("CentralWidget")
        central_dock_widget.setWidget(text_edit)
        central_dock_area = self.dock_manager.setCentralWidget(
            central_dock_widget)
        central_dock_area.setAllowedAreas(QtAds.DockWidgetArea.OuterDockAreas)

        # create other dock widgets
        file_tree = QTreeView()
        file_tree.setFrameShape(QFrame.NoFrame)
        file_model = QFileSystemModel(file_tree)
        file_model.setRootPath(QDir.currentPath())
        file_tree.setModel(file_model)
        data_dock_widget = QtAds.CDockWidget("File system")
        data_dock_widget.setWidget(file_tree)
        data_dock_widget.resize(150, 250)
        data_dock_widget.setMinimumSize(100, 250)
        file_area = self.dock_manager.addDockWidget(
            QtAds.DockWidgetArea.LeftDockWidgetArea, data_dock_widget,
            central_dock_area)
        self.menuView.addAction(data_dock_widget.toggleViewAction())

        table = QTableWidget()
        table.setColumnCount(3)
        table.setRowCount(10)
        table_dock_widget = QtAds.CDockWidget("Table")
        table_dock_widget.setWidget(table)
        table_dock_widget.setMinimumSizeHintMode(
            QtAds.CDockWidget.MinimumSizeHintFromDockWidget)
        table_dock_widget.resize(250, 150)
        table_dock_widget.setMinimumSize(200, 150)
        self.dock_manager.addDockWidget(
            QtAds.DockWidgetArea.BottomDockWidgetArea, table_dock_widget,
            file_area)
        self.menuView.addAction(table_dock_widget.toggleViewAction())

        properties_table = QTableWidget()
        properties_table.setColumnCount(3)
        properties_table.setRowCount(10)
        properties_dock_widget = QtAds.CDockWidget("Properties")
        properties_dock_widget.setWidget(properties_table)
        properties_dock_widget.setMinimumSizeHintMode(
            QtAds.CDockWidget.MinimumSizeHintFromDockWidget)
        properties_dock_widget.resize(250, 150)
        properties_dock_widget.setMinimumSize(200, 150)
        self.dock_manager.addDockWidget(
            QtAds.DockWidgetArea.RightDockWidgetArea, properties_dock_widget,
            central_dock_area)
        self.menuView.addAction(properties_dock_widget.toggleViewAction())

        self.create_perspective_ui()
Пример #58
0
 def newModel(self, parent):
     self.model_name, _ = QFileDialog.getOpenFileName(
         parent, "Open File", QDir.currentPath())
     print(self.model_name)
Пример #59
0
 def openFile(self):
     fileName, _ = QFileDialog.getOpenFileName(self, "Open File",
                                               QDir.currentPath())
     if fileName:
         self.canvas.openImage(fileName)
Пример #60
-1
    def __init__(self,parent=None):
        QWidget.__init__(self,parent)

        self.setWindowTitle('View')
        dirModel=QDirModel()
        lay=QGridLayout(self)
        lv=QListView()
        lay.addWidget(lv,0,0)
        lv.setModel(dirModel)

        lvi=QListView()
        lay.addWidget(lvi,0,1)
        lvi.setViewMode(QListView.IconMode)
        lvi.setModel(dirModel)

        trv=QTreeView()
        lay.addWidget(trv,1,0)
        trv.setModel(dirModel)

        tav=QTableView()
        tav.setModel(dirModel)
        lay.addWidget(tav,1,1)

        cwdIndex=dirModel.index(QDir.currentPath())
        lv.setRootIndex(cwdIndex)
        lvi.setRootIndex(cwdIndex)
        trv.setRootIndex(cwdIndex)
        tav.setRootIndex(cwdIndex)