mirror of
https://github.com/ankitects/anki.git
synced 2025-09-24 08:46:37 -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.quit, SIGNAL("clicked()"), lambda: sys.exit(0))
|
||||
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(d, SIGNAL("rejected()"), lambda: d.close())
|
||||
d.connect(f.profiles, SIGNAL("currentRowChanged(int)"),
|
||||
|
@ -155,6 +156,22 @@ class AnkiQt(QMainWindow):
|
|||
self.pm.create(name)
|
||||
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):
|
||||
profs = self.pm.profiles()
|
||||
if len(profs) < 2:
|
||||
|
|
|
@ -152,6 +152,16 @@ computer.""")
|
|||
self.db.execute("delete from profiles where name = ?", name)
|
||||
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
|
||||
######################################################################
|
||||
|
||||
|
|
|
@ -60,6 +60,13 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="rename">
|
||||
<property name="text">
|
||||
<string>Rename</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="delete_2">
|
||||
<property name="text">
|
||||
|
@ -93,6 +100,15 @@
|
|||
</item>
|
||||
</layout>
|
||||
</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/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
|
Loading…
Reference in a new issue