summaryrefslogtreecommitdiffstats
path: root/module
diff options
context:
space:
mode:
authorGravatar mkaay <mkaay@mkaay.de> 2010-11-06 15:40:51 +0100
committerGravatar mkaay <mkaay@mkaay.de> 2010-11-06 15:40:51 +0100
commit61ce51a657527e6b05e3d6432fd0c3b068bc4306 (patch)
tree0f74ae9901d68be0029b2b46b90e6359b61e47df /module
parentaccount editing + fixes (diff)
downloadpyload-61ce51a657527e6b05e3d6432fd0c3b068bc4306.tar.xz
missing file...
Diffstat (limited to 'module')
-rw-r--r--module/gui/AccountEdit.py91
1 files changed, 91 insertions, 0 deletions
diff --git a/module/gui/AccountEdit.py b/module/gui/AccountEdit.py
new file mode 100644
index 000000000..820d994d6
--- /dev/null
+++ b/module/gui/AccountEdit.py
@@ -0,0 +1,91 @@
+# -*- coding: utf-8 -*-
+"""
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License,
+ or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, see <http://www.gnu.org/licenses/>.
+
+ @author: mkaay
+"""
+
+from PyQt4.QtCore import *
+from PyQt4.QtGui import *
+
+from os.path import join
+
+class AccountEdit(QWidget):
+ def __init__(self):
+ QMainWindow.__init__(self)
+
+ self.setWindowTitle(_("Edit account"))
+ self.setWindowIcon(QIcon(join(pypath, "icons","logo.png")))
+
+ self.setLayout(QGridLayout())
+ l = self.layout()
+
+ typeLabel = QLabel(_("Type"))
+ loginLabel = QLabel(_("Login"))
+ passwordLabel = QLabel(_("New password"))
+ changePw = QCheckBox()
+ changePw.setChecked(False)
+ self.changePw = changePw
+ password = QLineEdit()
+ password.setEnabled(False)
+ password.setEchoMode(QLineEdit.Password)
+ self.password = password
+ login = QLineEdit()
+ self.login = login
+ acctype = QComboBox()
+ self.acctype = acctype
+
+ save = QPushButton(_("Save"))
+
+ self.connect(changePw, SIGNAL("toggled(bool)"), password, SLOT("setEnabled(bool)"))
+
+ l.addWidget(typeLabel, 0, 0)
+ l.addWidget(loginLabel, 1, 0)
+ l.addWidget(passwordLabel, 2, 0)
+ l.addWidget(changePw, 2, 1)
+ l.addWidget(password, 2, 2)
+ l.addWidget(login, 1, 1, 1, 2)
+ l.addWidget(acctype, 0, 1, 1, 2)
+ l.addWidget(save, 3, 0, 1, 3)
+
+ self.connect(save, SIGNAL("clicked()"), self.slotSave)
+
+ def slotSave(self):
+ data = {"login": str(self.login.text()), "acctype": str(self.acctype.currentText()), "password": False}
+ if self.changePw.isChecked():
+ data["password"] = str(self.password.text())
+ self.emit(SIGNAL("done"), data)
+
+ @staticmethod
+ def newAccount(types):
+ w = AccountEdit()
+ w.setWindowTitle(_("Create account"))
+
+ w.changePw.setChecked(True)
+ w.password.setEnabled(True)
+
+ w.acctype.addItems(types)
+
+ return w
+
+ @staticmethod
+ def editAccount(types, base):
+ w = AccountEdit()
+
+ w.acctype.addItems(types)
+ w.acctype.setCurrentIndex(types.index(base["type"]))
+
+ w.login.setText(base["login"])
+
+ return w