Exemple #1
0
 def setupList(self, addons):
     try:
         self.tbl_addons.clear()
         self.tbl_addons.setRowCount(len(addons))
         row = 0
         for addon in addons:
             try:
                 if addon == None or addon.text == None: continue
                 _type = "Other";
                 try:
                     _type = addon.attrib["t"].title()
                 except: pass
                 item = QTableWidgetItem(_type)
                 item.setFlags(Qt.ItemIsEnabled | ~Qt.ItemIsEditable)
                 self.tbl_addons.setItem(row, 0, item)
                 item = QTableWidgetItem(addon.text)
                 if len(list(addon)):
                     font = QFont()
                     font.setBold(True)
                     item.setFont(font)
                     # item.setData(Qt.UserRole, addon.text)
                     if addon.text == "pyTSon": self.pytson = addon
                     elif addon.text == "Lua": self.lua = addon
                 item.setFlags(Qt.ItemIsEnabled | ~Qt.ItemIsEditable)
                 self.tbl_addons.setItem(row, 1, item)
                 if PluginHost.cfg.getboolean("general", "verbose"): ts3.printMessageToCurrentTab("%i [color=red]%s"%(row, xml.tostring(addon).decode("utf-8")))
                 try:
                     item = QTableWidgetItem(addon.attrib["v"])
                     item.setFlags(Qt.ItemIsEnabled | ~Qt.ItemIsEditable)
                     self.tbl_addons.setItem(row, 2, item)
                 except: ts3.logMessage("Addon %s does not have any version." % (addon.text), ts3defines.LogLevel.LogLevel_WARNING, "Addon List", 0)
                 try:
                     item = QTableWidgetItem(addon.attrib["a"])
                     item.setFlags(Qt.ItemIsEnabled | ~Qt.ItemIsEditable)
                     self.tbl_addons.setItem(row, 3, item)
                 except: ts3.logMessage("Addon %s does not have any author." % (addon.text), ts3defines.LogLevel.LogLevel_WARNING, "Addon List", 0)
                 row += 1
             except: from traceback import format_exc;ts3.logMessage("Error parsing addon %s:\n%s"%(addon.text,format_exc()), ts3defines.LogLevel.LogLevel_ERROR, "{c}.{f}".format(c=self.__class__,f=__name__), 0);continue
         self.tbl_addons.setRowCount(row)
         self.tbl_addons.sortItems(0)
         self.tbl_addons.setHorizontalHeaderLabels(["Type","Name","Version","Author","API"])
     except:
         try: from traceback import format_exc;ts3.logMessage("addonList: "+format_exc(), ts3defines.LogLevel.LogLevel_ERROR, "pyTSon", 0)
         except:
             try: from traceback import format_exc;print("addonList: "+format_exc())
             except: print("addonList: Unknown Error")
Exemple #2
0
    def updateUi(self):
        if self.Key:
            # Set the logged in user to bold.
            Font = QFont()
            Font.setBold(True)
            self.settingsDialog.group_account.widget_user.label_username.setFont(Font)
            
            # Show the username display and hide the login button.
            self.settingsDialog.group_account.widget_user.show()
            self.settingsDialog.group_account.widget_loggedIn.show()
            self.settingsDialog.group_account.button_authenticate.hide()

            # Hide the username and password input fields.
            self.settingsDialog.group_account.label_username.hide()
            self.settingsDialog.group_account.input_username.hide()

            self.settingsDialog.group_account.label_password.hide()
            self.settingsDialog.group_account.input_password.hide()

            # Inject the username into the display.
            self.settingsDialog.group_account.widget_user.label_username.setText(self.Username)
        else:
            # Hide the username display and show the login button.
            self.settingsDialog.group_account.widget_user.hide()
            self.settingsDialog.group_account.widget_loggedIn.hide()
            self.settingsDialog.group_account.button_authenticate.show()

            self.settingsDialog.group_account.label_username.show()
            self.settingsDialog.group_account.input_username.show()

            self.settingsDialog.group_account.label_password.show()
            self.settingsDialog.group_account.input_password.show()

            # Hide the upload and clipboard configuration
            self.settingsDialog.group_upload.hide()
            self.settingsDialog.group_clipboard.hide()
        
        # Inject the default image title into the name field.
        self.settingsDialog.group_upload.input_name.setText(self.Format)

        self.settingsDialog.adjustSize()
Exemple #3
0
    def setupValues(self):
        if self.cfg.getboolean("general", "differentApi", fallback=False):
            self.differentApiButton.setChecked(Qt.Checked)
        else:
            self.differentApiButton.setChecked(Qt.Unchecked)
        self.requiredApiEdit.setText(pytson.getCurrentApiVersion())

        if self.cfg.getboolean("general", "loadAllMenus", fallback=False):
            self.loadMenusButton.setChecked(Qt.Checked)
        else:
            self.loadMenusButton.setChecked(Qt.Unchecked)

        bgcolor = QColor(self.cfg.get("console", "backgroundColor")).name()
        self.bgColorButton.setStyleSheet("background-color: %s;" % bgcolor)
        txtcolor = QColor(self.cfg.get("console", "textColor")).name()
        self.textColorButton.setStyleSheet("background-color: %s;" % txtcolor)

        f = QFont(self.cfg.get("console", "fontFamily"))
        self.fontFamilyCombo.setCurrentFont(f)
        self.fontSizeSpin.setValue(self.cfg.getint("console", "fontSize"))

        if self.cfg.getboolean("console", "tabcomplete"):
            self.tabcompleteButton.setChecked(True)
            self.spacesButton.setEnabled(False)
            self.tabwidthSpin.setEnabled(False)
            self.tabwidthLabel.setEnabled(False)
        else:
            self.tabcompleteButton.setChecked(False)

        self.spacesButton.setChecked(self.cfg.getboolean("console", "spaces"))
        self.tabwidthSpin.setValue(self.cfg.getint("console", "tabwidth"))

        self.scriptEdit.setText(self.cfg.get("console", "startup"))
        self.silentButton.setChecked(self.cfg.getboolean("console",
                                                         "silentStartup"))

        self.languageCombo.addItem("Default", "en_US")
        for loc in pytson.locales():
            qloc = QLocale(loc)
            self.languageCombo.addItem(qloc.nativeLanguageName(), loc)

            if self.cfg.get("general", "language") == loc:
                self.languageCombo.setCurrentIndex(self.languageCombo.count - 1)

        if self.cfg.get("general", "language") == "inherited":
            self.languageButton.setChecked(True)
            self.languageCombo.setEnabled(False)

        if self.cfg.getboolean("general", "verbose"):
            self.verboseButton.setChecked(True)

        self.setupList()
        self.reloadSite()
Exemple #4
0
 def showScriptingConsole(cls):
     if not cls.shell:
         cls.verboseLog(cls._tr("Creating scripting console"),
                        "pyTSon.PluginHost.showScriptingConsole")
         tabcomp = cls.cfg.getboolean("console", "tabcomplete")
         spaces = cls.cfg.getboolean("console", "spaces")
         tabwidth = cls.cfg.getint("console", "tabwidth")
         font = QFont(cls.cfg.get("console", "fontFamily"),
                      cls.cfg.getint("console", "fontSize"))
         bgcolor = QColor(cls.cfg.get("console", "backgroundColor"))
         txtcolor = QColor(cls.cfg.get("console", "textColor"))
         w = cls.cfg.getint("console", "width")
         h = cls.cfg.getint("console", "height")
         startup = cls.cfg.get("console", "startup")
         silent = cls.cfg.getboolean("console", "silentStartup")
         cls.shell = PythonConsole(tabcomp, spaces, tabwidth, font, bgcolor,
                                   txtcolor, w, h, startup, silent)
         cls.shell.connect("destroyed()", cls.scriptingConsoleDestroyed)
     cls.shell.show()
Exemple #5
0
def defaultFont():
    if sys.platform.startswith("win"):
        return QFont("Courier", 12)
    else:
        return QFont("Monospace", 12)