Exemple #1
0
def fontDialog():
    font_ = QtWidgets.QFontDialog().getFont()
    if font_:
        QtWidgets.QApplication.setFont(font_[0])
        save_ = []
        save_.append(font_[0].family())
        save_.append(font_[0].pointSize())
        save_.append(font_[0].weight())
        save_.append(font_[0].italic())

        sett_ = FLSettings()
        sett_.writeEntry("application/font", save_)
Exemple #2
0
 def saveState(self):
     sett_ = FLSettings()
     sett_.writeEntryList("application/mainForm/tabsOpened", self.openTabs)
     sett_.writeEntry("application/mainForm/viewFavorites",
                      self.dockFavoritos.isVisible())
     sett_.writeEntry("application/mainForm/FavoritesSize",
                      self.dockFavoritos.size())
     sett_.writeEntry("application/mainForm/viewAreas",
                      self.dockAreasTab.isVisible())
     sett_.writeEntry("application/mainForm/AreasSize",
                      self.dockFavoritos.size())
     sett_.writeEntry("application/mainForm/mainFormSize", self.size())
Exemple #3
0
 def saveState(self):
     if self:
         sett_ = FLSettings()
         sett_.writeEntryList("application/mainForm/tabsOpened", self.openTabs)
         sett_.writeEntry("application/mainForm/viewFavorites", self.dockFavoritos.isVisible())
         sett_.writeEntry("application/mainForm/FavoritesSize", self.dockFavoritos.size())
         sett_.writeEntry("application/mainForm/viewAreas", self.dockAreasTab.isVisible())
         sett_.writeEntry("application/mainForm/AreasSize", self.dockFavoritos.size())
         sett_.writeEntry("application/mainForm/mainFormSize", self.size())
Exemple #4
0
    def open(self):
        """
        Abre la conexión seleccionada
        """
        fileName = os.path.join(self.profileDir, "%s.xml" % self.ui.cbProfiles.currentText())
        tree = ET.parse(fileName)
        root = tree.getroot()
        last_profile = self.ui.cbProfiles.currentText()
        if last_profile not in (None, ""):
            settings = FLSettings()
            settings.writeEntry("DBA/last_profile", last_profile)

        for profile in root.findall("profile-data"):
            if getattr(profile.find("password"), "text", None):
                psP = profile.find("password").text
                psP = base64.b64decode(psP).decode()
                if psP:
                    if self.ui.lePassword.text() != psP:
                        QMessageBox.information(self.ui, "Pineboo", "Contraseña Incorrecta")
                        return

        self.database = root.find("database-name").text
        for db in root.findall("database-server"):
            self.hostname = db.find("host").text
            self.portnumber = db.find("port").text
            self.driveralias = db.find("type").text

        for credentials in root.findall("database-credentials"):
            self.username = credentials.find("username").text
            ps = credentials.find("password").text
            if ps:
                self.password = base64.b64decode(ps).decode()
            else:
                self.password = ""

        if self.pNSqlDrivers.isDesktopFile(self.driveralias):
            self.database = "tempdata/%s.sqlite3" % self.database

        self.close()
    def writeSettings(self):
        settings = FLSettings()

        settings.writeEntry("%senabled" % self.key_, self.enabled_)
        dirs = []
        active_dirs = []

        for info in self.dirs_:
            dirs.append(str(info.active_))
            dirs.append(info.path_)
            if info.active_:
                active_dirs.append(info.path_)

        settings.writeEntry("%sdirs" % self.key_, dirs)
        settings.writeEntry("%sactiveDirs" % self.key_, ",".join(active_dirs))
Exemple #6
0
    def load(self):
        try:
            self.tree = etree.ElementTree.parse(self.path)
        except Exception:
            try:
                self.parser = etree.ElementTree.XMLParser(
                    html=0, encoding="ISO-8859-15")
                self.tree = etree.ElementTree.parse(self.path, self.parser)
                self.logger.exception(
                    "Formulario %r se cargó con codificación ISO (UTF8 falló)",
                    self.path)
            except Exception:
                self.logger.exception(
                    "Error cargando UI después de intentar con UTF8 y ISO",
                    self.path)

        self.root = self.tree.getroot()
        self.actions = {}
        self.pixmaps = {}
        if self.prj._DGI.useDesktop():
            for image in self.root.findall("images//image[@name]"):
                name = image.get("name")
                xmldata = image.find("data")
                img_format = xmldata.get("format")
                data = unhexlify(xmldata.text.strip())
                if img_format == "XPM.GZ":
                    data = zlib.decompress(data, 15)
                    img_format = "XPM"

                pixmap = QtGui.QPixmap()
                pixmap.loadFromData(data, img_format)
                icon = QtGui.QIcon(pixmap)
                self.pixmaps[name] = icon

        for xmlaction in self.root.findall("actions//action"):
            action = XMLMainFormAction(xmlaction)
            action.mainform = self
            action.mod = self.mod
            action.prj = self.prj
            iconSet = getattr(action, "iconSet", None)
            action.icon = None
            if iconSet:
                try:
                    action.icon = self.pixmaps[iconSet]
                except Exception as e:
                    if self.prj._DGI.useDesktop():
                        self.logger.exception(
                            "main.Mainform: Error al intentar decodificar icono de accion. No existe."
                        )
            else:
                action.iconSet = None

            self.actions[action.name] = action
            if not self.prj._DGI.localDesktop():
                self.prj._DGI.mainForm().mainWindow.loadAction(action)

            # Asignamos slot a action
            for slots in self.root.findall("connections//connection"):
                slot = XMLStruct(slots)
                if slot._v("sender") == action.name:
                    action.slot = slot._v("slot")
                    action.slot = action.slot.replace('(', '')
                    action.slot = action.slot.replace(')', '')
                if not self.prj._DGI.localDesktop():
                    self.prj._DGI.mainForm().mainWindow.loadConnection(action)

        self.toolbar = []
        sett_ = FLSettings()
        if not sett_.readBoolEntry("ebcomportamiento/ActionsMenuRed", False):
            for toolbar_action in self.root.findall("toolbars//action"):
                self.toolbar.append(toolbar_action.get("name"))
                if not self.prj._DGI.localDesktop():
                    self.prj._DGI.mainForm().mainWindow.loadToolBarsAction(
                        toolbar_action.get("name"))
        else:
            # FIXME: cargar solo las actions de los menus
            sett_.writeEntry("ebcomportamiento/ActionsMenuRed", False)
Exemple #7
0
def setStyle(n):
    style_ = styleMapper.mapping(n).text()
    if style_:
        sett_ = FLSettings()
        sett_.writeEntry("application/style", style_)
        QtWidgets.QApplication.setStyle(style_)