Beispiel #1
0
 def getText(self,
             multimsg=True,
             multiline=False,
             title="Enter text here",
             text="",
             max=1024):
     try:
         x = QDialog()
         x.setAttribute(Qt.WA_DeleteOnClose)
         if multiline:
             clipboard = QApplication.clipboard().text()
             _message = QInputDialog.getMultiLineText(
                 x, title, text, clipboard)
         else:
             _message = QInputDialog.getText(x, title, text,
                                             QLineEdit.Normal, "", self.ok)
         if multimsg:
             return [
                 _message[i:i + max] for i in range(0, len(_message), max)
             ]
         else:
             return _message[:max]
     except:
         from traceback import format_exc
         ts3lib.logMessage(format_exc(), ts3defines.LogLevel.LogLevel_ERROR,
                           "pyTSon", 0)
Beispiel #2
0
 def onMenuItemEvent(self, schid, atype, menuItemID, selectedItemID):
     if atype == PluginMenuType.PLUGIN_MENU_TYPE_GLOBAL:
         if menuItemID == 0:
             error, ownid = ts3.getClientID(schid)
             if error == ERROR_ok:
                 error, meta = ts3.getClientVariableAsString(schid, ownid, ClientProperties.CLIENT_META_DATA)
                 if error == ERROR_ok:
                     x = QWidget()
                     _meta = QInputDialog.getMultiLineText(x, "Change own Meta Data", "Meta Data:", meta)
                     if _meta == meta: return
                     error = ts3.setClientSelfVariableAsString(schid, ClientProperties.CLIENT_META_DATA, _meta)
                     if not error == ERROR_ok:
                         _t = QMessageBox(QMessageBox.Critical, "Error #%s"%error, "Unable to set own meta data!");_t.show()
         elif menuItemID == 1:
             error, ownid = ts3.getClientID(schid)
             if error == ERROR_ok:
                 error, flag = ts3.getClientVariableAsString(schid, ownid, ClientPropertiesRare.CLIENT_FLAG_AVATAR)
                 ts3.printMessageToCurrentTab("Your current avatar flag is: %s"%flag)
                 if error == ERROR_ok:
                     x = QWidget()
                     _flag = QInputDialog.getText(x, "Change own Avatar Flag", "Avatar File MD5:")
                     if _flag == "x" or _flag.strip() == flag.strip(): return
                     error = ts3.setClientSelfVariableAsString(schid, ClientPropertiesRare.CLIENT_FLAG_AVATAR, _flag)
                     error2 = ts3.flushClientSelfUpdates(schid)
                     if not error == ERROR_ok or not error2 == ERROR_ok:
                         _t = QMessageBox(QMessageBox.Critical, "Error", "Unable to set own avatar flag!");_t.show()
Beispiel #3
0
 def configure(self, qParentWidget):
     try:
         # Start QDialog method +
         if not self.dlg:
             self.dlg = SettingsDialog(self)
         self.dlg.show()
         self.dlg.raise_()
         self.dlg.activateWindow()
         # End QDialog method -
         # Start getValues method +
         d = dict()
         d['api'] = (ValueType.string, "Example String:",
                     self.cfg['general']['example string'], None, 1)
         widgets = getValues(None, self.name + " Settings", d,
                             self.configDialogClosed)
         # End getValues method -
         # Start QInputDialog method +
         result = QInputDialog.getText(
             qParentWidget, self.name + " Settings", "Example String:",
             QLineEdit.Normal, self.cfg['general']['example string'])
         if not result: return
         self.cfg.set('general', 'api', result)
         with open(self.ini, 'w') as configfile:
             self.cfg.write(configfile)
         # End QInputDialog method -
     except:
         from traceback import format_exc
         logMessage(format_exc(), ts3defines.LogLevel.LogLevel_ERROR,
                    "PyTSon", 0)
Beispiel #4
0
 def onMenuItemEvent(self, schid, atype, menuItemID, selectedItemID):
     if atype == ts3defines.PluginMenuType.PLUGIN_MENU_TYPE_CHANNEL:
         if menuItemID == 0:
             self.channel = selectedItemID
             ts3lib.printMessageToCurrentTab('[{:%Y-%m-%d %H:%M:%S}] '.format(datetime.now())+" Set target channel to [color=yellow]"+str(self.channel)+"[/color]")
         elif menuItemID == 1:
             (e, cgid) = ts3lib.getServerVariableAsUInt64(schid, ts3defines.VirtualServerPropertiesRare.VIRTUALSERVER_DEFAULT_CHANNEL_GROUP)
             x = QDialog()
             x.setAttribute(Qt.WA_DeleteOnClose)
             dbid = QInputDialog.getInt(x, "Manually change channel group", "Enter DBID", QLineEdit.Normal)
             if self.channel == 0:
                 (e, ownID) = ts3lib.getClientID(schid)
                 (e, self.channel) = ts3lib.getChannelOfClient(schid, ownID)
             name = "DBID: %s"%dbid
             if self.debug:
                 ts3lib.printMessageToCurrentTab("toggle: {0} | debug: {1} | channel: {2} | groups: {3} | dbid: {4} | name: {5}".format(self.toggle,self.debug,self.channel,self.groups,dbid,name))
                 ts3lib.printMessageToCurrentTab("schid: {0} | cgid: {1} | dbid: {2}".format(schid,cgid,dbid))
             if not self.dlg: self.dlg = ChannelGroupDialog(schid, cgid, dbid, name, self.channel, self.groups)
             self.dlg.show();self.dlg.raise_();self.dlg.activateWindow()
     elif atype == ts3defines.PluginMenuType.PLUGIN_MENU_TYPE_CLIENT:
         if menuItemID == 0:
             if self.channel == 0:
                 (e, ownID) = ts3lib.getClientID(schid)
                 (e, self.channel) = ts3lib.getChannelOfClient(schid, ownID)
             (e, dbid) = ts3lib.getClientVariableAsUInt64(schid, selectedItemID, ts3defines.ClientPropertiesRare.CLIENT_DATABASE_ID)
             (e, cgid) = ts3lib.getClientVariableAsUInt64(schid, selectedItemID, ts3defines.ClientPropertiesRare.CLIENT_CHANNEL_GROUP_ID)
             (e, name) = ts3lib.getClientVariableAsString(schid, selectedItemID, ts3defines.ClientProperties.CLIENT_NICKNAME)
             if self.debug: ts3lib.printMessageToCurrentTab("toggle: {0} | debug: {1} | channel: {2} | groups: {3} | dbid: {4} | name: {5}".format(self.toggle,self.debug,self.channel,self.groups,dbid,name))
             if not self.dlg: self.dlg = ChannelGroupDialog(schid, cgid, dbid, name, self.channel, self.groups)
             self.dlg.show();self.dlg.raise_();self.dlg.activateWindow()
Beispiel #5
0
def inputInt(title="", label="", val=0, min=-2147483647, max=2147483647, step=1):
    x = QDialog()
    x.setAttribute(Qt.WA_DeleteOnClose)
    ok = BoolResult()
    i = QInputDialog.getInt(x, title, label, val, min, max, step, ok)
    if ok: return i
    else: return False
Beispiel #6
0
    def on_siteaddButton_clicked(self):
        pkg = QInputDialog.getText(self, self._tr("Install site package"),
                                   self._tr("Package name[==version]")).strip()

        if pkg != "":
            self.installer = InstallDialog(self.host, self)
            self.installer.show()
            self.installer.installPackage(pkg)
            self.reloadSite()
Beispiel #7
0
def inputBox(parent, title, text, default=""):
    """
    :param default:
    :param title:
    :param text:
    :return:
    """
    x = QWidget(parent)
    x.setAttribute(Qt.WA_DeleteOnClose)
    ok = BoolResult()
    text = QInputDialog.getText(x, title, text, QLineEdit.Normal, default, ok)
    if ok: return text
    else: return False
Beispiel #8
0
 def sendMessage(self, schid, targetMode, toID):
     x = QWidget()
     clipboard = QApplication.clipboard().text();
     _message = QInputDialog.getMultiLineText(x, "Enter long text here", "", clipboard)
     message = [_message[i:i + self.maxsize] for i in range(0, len(_message), self.maxsize)]
     if targetMode == ts3defines.TextMessageTargetMode.TextMessageTarget_CHANNEL:
         for msg in message:
             error = ts3lib.requestSendChannelTextMsg(schid, "\n"+msg, toID)
             if not error == ts3defines.ERROR_ok: _t = QMessageBox(QMessageBox.Critical, "Error #%s"%error,"Unable to send message to #%s!"%toID);_t.show();return
     elif targetMode == ts3defines.TextMessageTargetMode.TextMessageTarget_CLIENT:
         for msg in message:
             error = ts3lib.requestSendPrivateTextMsg(schid, "\n"+msg, toID)
             if not error == ts3defines.ERROR_ok: _t = QMessageBox(QMessageBox.Critical, "Error #%s"%error,"Unable to send message to #%s!"%toID);_t.show();return
Beispiel #9
0
 def onMenuItemEvent(self, schid, atype, menuItemID, selectedItemID):
     if atype == ts3defines.PluginMenuType.PLUGIN_MENU_TYPE_GLOBAL:
         if menuItemID == 0:
             schid = ts3.getCurrentServerConnectionHandlerID()
             error, ownid = ts3.getClientID(schid)
             if error == ts3defines.ERROR_ok:
                 error, meta = ts3.getClientVariableAsString(schid, ownid, ts3defines.ClientProperties.CLIENT_META_DATA)
                 if error == ts3defines.ERROR_ok:
                     x = QWidget()
                     meta = QInputDialog.getMultiLineText(x, "Change own Meta Data", "Meta Data:", meta)
                     error = ts3.setClientSelfVariableAsString(schid, ts3defines.ClientProperties.CLIENT_META_DATA, meta)
                     if not error == ts3defines.ERROR_ok:
                         _t = QMessageBox(QMessageBox.Critical, "Error", "Unable to set own meta data!");t.show()
Beispiel #10
0
def inputBox(title, text, default=""):
    """
    :param default:
    :param title:
    :param text:
    :return:
    """
    x = QWidget()
    x.setAttribute(Qt.WA_DeleteOnClose)
    ok = BoolResult()
    if not default: default = QApplication.clipboard().text()
    text = QInputDialog.getText(x, title, text, QLineEdit.Normal, default, ok) # QDir.Home.dirName()
    if ok: return text
    else: return False
Beispiel #11
0
 def onMenuItemEvent(self, schid, atype, menuItemID, channel):
     if atype == ts3defines.PluginMenuType.PLUGIN_MENU_TYPE_CHANNEL and menuItemID == 0:
         try:
             x = QWidget()
             x.setAttribute(Qt.WA_DeleteOnClose)
             password = QInputDialog.getText(x, "Enter Channel Password",
                                             "Password:"******"clients: {0}".format(clients))
             (error, maxclients) = ts3lib.getChannelVariableAsUInt64(
                 schid, channel,
                 ts3defines.ChannelProperties.CHANNEL_MAXCLIENTS)
             if self.debug:
                 ts3lib.printMessageToCurrentTab(
                     "error: {0} | maxclients: {1}".format(
                         error, maxclients))
             (error, maxfamilyclients) = ts3lib.getChannelVariableAsUInt64(
                 schid, channel,
                 ts3defines.ChannelProperties.CHANNEL_MAXFAMILYCLIENTS)
             if self.debug:
                 ts3lib.printMessageToCurrentTab(
                     "error: {0} | maxfamilyclients: {1}".format(
                         error, maxfamilyclients))
             if clients < maxclients and clients < maxfamilyclients:
                 (error, ownID) = ts3lib.getClientID(schid)
                 ts3lib.requestClientMove(schid, ownID, channel, password)
                 return True
             (error, name) = ts3lib.getChannelVariableAsString(
                 schid, channel, ts3defines.ChannelProperties.CHANNEL_NAME)
             self.schid = schid
             self.channel = channel
             self.password = password
             self.cname = name
             if password == "":
                 ts3lib.printMessageToCurrentTab(
                     "Queued for channel [url=channelid://{0}]{1}[/url]. [color=red]{2}[/color] client(s) remaining."
                     .format(channel, name, maxclients - clients + 1))
             else:
                 ts3lib.printMessageToCurrentTab(
                     "Queued for channel [url=channelid://{0}]{1}[/url] with password \"{2}\". [color=red]{3}[/color] client(s) remaining."
                     .format(channel, name, password,
                             maxclients - clients + 1))
         except:
             from traceback import format_exc
             ts3lib.logMessage(format_exc(),
                               ts3defines.LogLevel.LogLevel_ERROR, "pyTSon",
                               0)
Beispiel #12
0
def inputInt(title="", label="", val=0, min=-2147483647, max=2147483647, step=1):
    """
    :param title:
    :param label:
    :param val:
    :param min:
    :param max:
    :param step:
    :return:
    """
    x = QWidget()
    x.setAttribute(Qt.WA_DeleteOnClose)
    ok = BoolResult()
    i = QInputDialog.getInt(x, title, label, val, min, max, step, ok)
    if ok: return i
    else: return False
Beispiel #13
0
 def on_pageLabel_clicked(self, event):
     try:
         page = QInputDialog.getInt(self, "Goto Page", "Page:")
         if page > 0:
             if self.cooldown_page:
                 self.status.setText("You have to wait "+str(self.cooldown_time_page/1000)+" second(s) before switching pages!")
                 palette = QPalette()
                 palette.setColor(QPalette.Foreground,Qt.red)
                 self.status.setPalette(palette)
                 return
             self.page = page
             self.listServers()
             if not self.cooldown:
                 self.cooldown_page = True
                 self.previous.setEnabled(False)
                 self.next.setEnabled(False)
                 QTimer.singleShot(self.cooldown_time_page, self.disable_cooldown_page)
     except:
         ts3.logMessage(traceback.format_exc(), ts3defines.LogLevel.LogLevel_ERROR, "pyTSon", 0)
Beispiel #14
0
    def createFolder(self):
        if self.readonly:
            return

        ok = BoolResult()
        dirname = QInputDialog.getText(self, self._tr("Create Folder"),
                                       self._tr("Folder name:"),
                                       QLineEdit.Normal, "", ok)

        if not ok or dirname == "":
            return

        self.createretcode = ts3lib.createReturnCode()
        err = ts3lib.requestCreateDirectory(self.schid, self.cid,
                                            self.password,
                                            joinpath(self.path, dirname),
                                            self.createretcode)

        if err != ERROR_ok:
            self.showError(self._tr("Error creating directory"), err)
Beispiel #15
0
    def on_repositoryList_doubleClicked(self, item):
        name = item.data(Qt.UserRole)
        try:
            rep = self.replist[name]
        except:
            QMessageBox.critical(self, self._tr("Internal error"),
                                 self._tr("Can't find repository {name} in "
                                          "list").format(name=name))
            return

        ok = BoolResult()
        newurl = QInputDialog.getText(self,
                                      self._tr("Change url of repository "
                                               "{name}").format(name=name),
                                      self._tr("Url:"), QLineEdit.Normal,
                                      rep["url"], ok)

        if ok:
            rep["url"] = newurl
            rep["origin"] = "local"
Beispiel #16
0
 def onMenuItemEvent(self, schid, atype, menuItemID, selectedItemID):
     if atype == ts3defines.PluginMenuType.PLUGIN_MENU_TYPE_GLOBAL:
         if menuItemID == 0:
             schid = ts3.getCurrentServerConnectionHandlerID()
             error, ownid = ts3.getClientID(schid)
             if error == ts3defines.ERROR_ok:
                 error, meta = ts3.getClientVariableAsString(
                     schid, ownid,
                     ts3defines.ClientProperties.CLIENT_META_DATA)
                 if error == ts3defines.ERROR_ok:
                     x = QWidget()
                     meta = QInputDialog.getMultiLineText(
                         x, "Change own Meta Data", "Meta Data:", meta)
                     error = ts3.setClientSelfVariableAsString(
                         schid,
                         ts3defines.ClientProperties.CLIENT_META_DATA, meta)
                     if not error == ts3defines.ERROR_ok:
                         _t = QMessageBox(QMessageBox.Critical, "Error",
                                          "Unable to set own meta data!")
                         t.show()
Beispiel #17
0
    def createFolder(self):
        if self.readonly:
            return

        ok = BoolResult()
        dirname = QInputDialog.getText(self, self._tr("Create Folder"),
                                       self._tr("Folder name:"),
                                       QLineEdit.Normal, "", ok)

        if not ok or dirname == "":
            return

        self.createretcode = ts3lib.createReturnCode()
        err = ts3lib.requestCreateDirectory(self.schid, self.cid,
                                            self.password,
                                            joinpath(self.path, dirname),
                                            self.createretcode)

        if err != ERROR_ok:
            self.showError(self._tr("Error creating directory"), err)
Beispiel #18
0
 def on_serverList_doubleClicked(self):
     try:
         row = self.serverList.selectedItems()[0].row()
         name = self.serverList.item(row, 0).text()
         ip = self.serverList.item(row, 5).text()
         haspw = True if self.serverList.item(row,
                                              4).text() == "Yes" else False
         if haspw:
             x = QWidget()
             x.setAttribute(Qt.WA_DeleteOnClose)
             password = QInputDialog.getText(x, "Enter Server Password",
                                             "Password:"******"": return
         err, tab = ts3.guiConnect(
             ts3defines.PluginConnectTab.
             PLUGIN_CONNECT_TAB_NEW_IF_CURRENT_CONNECTED, name, ip,
             password if haspw else "", "TeamspeakUser", "", "", "", "", "",
             "", "", "", "")
         # print('item: {0} | row: {1} | item2: {2} |item2_column: {3} | text: {4}'.format(item, row, item2, item2.column(), item2.text()))
         # item.
         # item.setData(Qt.UserRole, 22);
     except:
         print(traceback.format_exc())
Beispiel #19
0
def inputBox(title, text):
    x = QWidget()
    x.setAttribute(Qt.WA_DeleteOnClose)
    return QInputDialog.getText(x, title, text)
Beispiel #20
0
def inputBox(title, text):
    x = QDialog()
    x.setAttribute(Qt.WA_DeleteOnClose)
    (text, ok) = QInputDialog.getText(x, title, text)
    if ok: return text
    else: return False