diff --git a/picard/ui/tageditor.py b/picard/ui/tageditor.py
index 4e55ac0cf..43f8fd659 100644
--- a/picard/ui/tageditor.py
+++ b/picard/ui/tageditor.py
@@ -76,6 +76,7 @@ class TagEditor(QtGui.QDialog):
self.connect(self.ui.buttonbox, QtCore.SIGNAL('rejected()'), self, QtCore.SLOT('reject()'))
self.connect(self.ui.tags_add, QtCore.SIGNAL('clicked()'), self.add_tag)
+ self.connect(self.ui.tags_edit, QtCore.SIGNAL('clicked()'), self.edit_tag)
self.connect(self.ui.tags_delete, QtCore.SIGNAL('clicked()'), self.delete_tag)
self.connect(self.ui.tags, QtCore.SIGNAL("itemActivated (QTreeWidgetItem*, int)"), self.edit_tag)
@@ -152,7 +153,23 @@ class TagEditor(QtGui.QDialog):
file.metadata.update(metadata)
file.update()
- def edit_tag(self, item, column):
+ def add_tag(self):
+ dialog = EditTagDialog('', None, self)
+ if dialog.exec_():
+ name = dialog.name
+ value = dialog.value
+ item = QtGui.QTreeWidgetItem(self.ui.tags)
+ item.setText(0, display_tag_name(name))
+ item.setData(0, QtCore.Qt.UserRole, QtCore.QVariant(name))
+ item.setText(1, value)
+ self.changed.add(name)
+
+ def edit_tag(self, item=None, column=None):
+ if item is None:
+ items = self.ui.tags.selectedItems()
+ if not items:
+ return
+ item = items[0]
name = unicode(item.data(0, QtCore.Qt.UserRole).toString())
value = item.text(1)
dialog = EditTagDialog(name, value, self)
@@ -168,17 +185,6 @@ class TagEditor(QtGui.QDialog):
item.setText(1, value)
self.changed.add(name)
- def add_tag(self):
- dialog = EditTagDialog('', None, self)
- if dialog.exec_():
- name = dialog.name
- value = dialog.value
- item = QtGui.QTreeWidgetItem(self.ui.tags)
- item.setText(0, display_tag_name(name))
- item.setData(0, QtCore.Qt.UserRole, QtCore.QVariant(name))
- item.setText(1, value)
- self.changed.add(name)
-
def delete_tag(self):
items = self.ui.tags.selectedItems()
for item in items:
diff --git a/picard/ui/ui_tageditor.py b/picard/ui/ui_tageditor.py
index 295c918cf..a03dd3c8d 100644
--- a/picard/ui/ui_tageditor.py
+++ b/picard/ui/ui_tageditor.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'ui/tageditor.ui'
#
-# Created: Sat May 26 20:06:01 2007
+# Created: Sun May 27 12:02:19 2007
# by: PyQt4 UI code generator 4.1
#
# WARNING! All changes made in this file will be lost!
@@ -45,6 +45,10 @@ class Ui_TagEditorDialog(object):
self.tags_add.setObjectName("tags_add")
self.hboxlayout.addWidget(self.tags_add)
+ self.tags_edit = QtGui.QPushButton(self.tab_4)
+ self.tags_edit.setObjectName("tags_edit")
+ self.hboxlayout.addWidget(self.tags_edit)
+
self.tags_delete = QtGui.QPushButton(self.tab_4)
self.tags_delete.setObjectName("tags_delete")
self.hboxlayout.addWidget(self.tags_delete)
@@ -108,7 +112,8 @@ class Ui_TagEditorDialog(object):
self.tags.headerItem().setText(0,_(u"Name"))
self.tags.headerItem().setText(1,_(u"Value"))
self.tags_add.setText(_(u"&Add..."))
- self.tags_delete.setText(_(u"Delete"))
+ self.tags_edit.setText(_(u"&Edit..."))
+ self.tags_delete.setText(_(u"&Delete"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_4), _(u"&Metadata"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _(u"A&rtwork"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_5), _(u"&Info"))
diff --git a/ui/tageditor.ui b/ui/tageditor.ui
index 5e629f335..5ec3ef34f 100644
--- a/ui/tageditor.ui
+++ b/ui/tageditor.ui
@@ -64,10 +64,17 @@
+ -
+
+
+ &Edit...
+
+
+
-
- Delete
+ &Delete