Пример #1
0
    def __init__(self, parent):
        QDialog.__init__(self, parent)

        # Set up the user interface from Designer.
        self.ui = ui = Ui_SettingsDialog()
        ui.setupUi(self)
        ui.lineEdit_BrowserPath.setPlaceholderText(
            "Leave this empty to use your default browser")
        ui.toolButton_Browse.clicked.connect(self.browseClicked)

        # load settings
        settings = QSettings()
        ui.lineEdit_BrowserPath.setText(
            settings.value("/Qgis2threejs/browser", "", type=unicode))
        enabled_plugins = QSettings().value("/Qgis2threejs/plugins",
                                            "",
                                            type=unicode).split(",")

        # initialize plugin table widget
        plugin_dir = QDir(
            os.path.join(os.path.dirname(QFile.decodeName(__file__)),
                         "plugins"))
        plugins = plugin_dir.entryList(QDir.Dirs | QDir.NoSymLinks
                                       | QDir.NoDotAndDotDot)

        tableWidget = ui.tableWidget_Plugins
        tableWidget.setRowCount(len(plugins))
        tableWidget.setColumnCount(1)
        tableWidget.setHorizontalHeaderLabels(["Name"])
        tableWidget.setSelectionBehavior(QAbstractItemView.SelectRows)
        headerView = tableWidget.horizontalHeader()
        headerView.setResizeMode(0, QHeaderView.Stretch)

        self.plugin_metadata = []
        for i, name in enumerate(plugins):
            parser = ConfigParser.SafeConfigParser()
            with codecs.open(
                    os.path.join(plugin_dir.absoluteFilePath(name),
                                 "metadata.txt"), "r", "UTF-8") as f:
                parser.readfp(f)

            metadata = dict(parser.items("general"))
            self.plugin_metadata.append(metadata)

            item = QTableWidgetItem(metadata.get("name", name))
            item.setCheckState(Qt.Checked if name in
                               enabled_plugins else Qt.Unchecked)
            tableWidget.setItem(i, 0, item)

        tableWidget.selectionModel().currentRowChanged.connect(
            self.pluginSelectionChanged)
Пример #2
0
  def __init__(self, parent):
    QDialog.__init__(self, parent)

    # Set up the user interface from Designer.
    self.ui = ui = Ui_SettingsDialog()
    ui.setupUi(self)
    ui.lineEdit_BrowserPath.setPlaceholderText("Leave this empty to use your default browser")
    ui.toolButton_Browse.clicked.connect(self.browseClicked)

    # load settings
    settings = QSettings()
    ui.lineEdit_BrowserPath.setText(settings.value("/Qgis2threejs/browser", "", type=unicode))
    enabled_plugins = QSettings().value("/Qgis2threejs/plugins", "", type=unicode).split(",")

    # initialize plugin table widget
    plugin_dir = QDir(os.path.join(os.path.dirname(QFile.decodeName(__file__)), "plugins"))
    plugins = plugin_dir.entryList(QDir.Dirs | QDir.NoSymLinks | QDir.NoDotAndDotDot)

    tableWidget = ui.tableWidget_Plugins
    tableWidget.setRowCount(len(plugins))
    tableWidget.setColumnCount(1)
    tableWidget.setHorizontalHeaderLabels(["Name"])
    tableWidget.setSelectionBehavior(QAbstractItemView.SelectRows)
    headerView = tableWidget.horizontalHeader()
    headerView.setResizeMode(0, QHeaderView.Stretch)

    self.plugin_metadata = []
    for i, name in enumerate(plugins):
      parser = ConfigParser.SafeConfigParser()
      with codecs.open(os.path.join(plugin_dir.absoluteFilePath(name), "metadata.txt"), "r", "UTF-8") as f:
        parser.readfp(f)

      metadata = dict(parser.items("general"))
      self.plugin_metadata.append(metadata)

      item = QTableWidgetItem(metadata.get("name", name))
      item.setCheckState(Qt.Checked if name in enabled_plugins else Qt.Unchecked)
      tableWidget.setItem(i, 0, item)

    tableWidget.selectionModel().currentRowChanged.connect(self.pluginSelectionChanged)