mirror of
https://github.com/ankitects/anki.git
synced 2025-09-24 16:56:36 -04:00
profile renaming
This commit is contained in:
parent
0a65d7abe0
commit
65072ad43c
3 changed files with 43 additions and 0 deletions
17
aqt/main.py
17
aqt/main.py
|
@ -104,6 +104,7 @@ class AnkiQt(QMainWindow):
|
||||||
d.connect(f.login, SIGNAL("clicked()"), self.onOpenProfile)
|
d.connect(f.login, SIGNAL("clicked()"), self.onOpenProfile)
|
||||||
d.connect(f.quit, SIGNAL("clicked()"), lambda: sys.exit(0))
|
d.connect(f.quit, SIGNAL("clicked()"), lambda: sys.exit(0))
|
||||||
d.connect(f.add, SIGNAL("clicked()"), self.onAddProfile)
|
d.connect(f.add, SIGNAL("clicked()"), self.onAddProfile)
|
||||||
|
d.connect(f.rename, SIGNAL("clicked()"), self.onRenameProfile)
|
||||||
d.connect(f.delete_2, SIGNAL("clicked()"), self.onRemProfile)
|
d.connect(f.delete_2, SIGNAL("clicked()"), self.onRemProfile)
|
||||||
d.connect(d, SIGNAL("rejected()"), lambda: d.close())
|
d.connect(d, SIGNAL("rejected()"), lambda: d.close())
|
||||||
d.connect(f.profiles, SIGNAL("currentRowChanged(int)"),
|
d.connect(f.profiles, SIGNAL("currentRowChanged(int)"),
|
||||||
|
@ -155,6 +156,22 @@ class AnkiQt(QMainWindow):
|
||||||
self.pm.create(name)
|
self.pm.create(name)
|
||||||
self.refreshProfilesList()
|
self.refreshProfilesList()
|
||||||
|
|
||||||
|
def onRenameProfile(self):
|
||||||
|
name = getOnlyText("New name:", default=self.pm.name)
|
||||||
|
if not self.openProfile():
|
||||||
|
return showWarning(_("Invalid password."))
|
||||||
|
if not name:
|
||||||
|
return
|
||||||
|
if name == self.pm.name:
|
||||||
|
return
|
||||||
|
if name in self.pm.profiles():
|
||||||
|
return showWarning("Name exists.")
|
||||||
|
if not re.match("^[A-Za-z0-9 ]+$", name):
|
||||||
|
return showWarning(
|
||||||
|
"Only numbers, letters and spaces can be used.")
|
||||||
|
self.pm.rename(name)
|
||||||
|
self.refreshProfilesList()
|
||||||
|
|
||||||
def onRemProfile(self):
|
def onRemProfile(self):
|
||||||
profs = self.pm.profiles()
|
profs = self.pm.profiles()
|
||||||
if len(profs) < 2:
|
if len(profs) < 2:
|
||||||
|
|
|
@ -152,6 +152,16 @@ computer.""")
|
||||||
self.db.execute("delete from profiles where name = ?", name)
|
self.db.execute("delete from profiles where name = ?", name)
|
||||||
self.db.commit()
|
self.db.commit()
|
||||||
|
|
||||||
|
def rename(self, name):
|
||||||
|
oldFolder = self.profileFolder()
|
||||||
|
# update name
|
||||||
|
self.db.execute("update profiles set name = ? where name = ?",
|
||||||
|
name, self.name)
|
||||||
|
# rename folder
|
||||||
|
self.name = name
|
||||||
|
os.rename(oldFolder, self.profileFolder())
|
||||||
|
self.db.commit()
|
||||||
|
|
||||||
# Folder handling
|
# Folder handling
|
||||||
######################################################################
|
######################################################################
|
||||||
|
|
||||||
|
|
|
@ -60,6 +60,13 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="rename">
|
||||||
|
<property name="text">
|
||||||
|
<string>Rename</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QPushButton" name="delete_2">
|
<widget class="QPushButton" name="delete_2">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -93,6 +100,15 @@
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
|
<tabstops>
|
||||||
|
<tabstop>profiles</tabstop>
|
||||||
|
<tabstop>passEdit</tabstop>
|
||||||
|
<tabstop>login</tabstop>
|
||||||
|
<tabstop>add</tabstop>
|
||||||
|
<tabstop>rename</tabstop>
|
||||||
|
<tabstop>delete_2</tabstop>
|
||||||
|
<tabstop>quit</tabstop>
|
||||||
|
</tabstops>
|
||||||
<resources/>
|
<resources/>
|
||||||
<connections/>
|
<connections/>
|
||||||
</ui>
|
</ui>
|
||||||
|
|
Loading…
Reference in a new issue