mirror of
https://github.com/fergalmoran/picard.git
synced 2026-04-02 02:25:16 +00:00
Metadata boxes.
This commit is contained in:
@@ -84,21 +84,21 @@ class MainWindow(QtGui.QMainWindow):
|
||||
self.splitter.addWidget(self.fileTreeView)
|
||||
self.splitter.addWidget(self.albumTreeView)
|
||||
|
||||
self.orig_metadataBox = MetadataBox(self, _("Local Metadata"), True)
|
||||
self.orig_metadataBox.disable()
|
||||
self.serverMetadataBox = MetadataBox(self, _("Server Metadata"), False)
|
||||
self.serverMetadataBox.disable()
|
||||
self.orig_metadata_box = MetadataBox(self, _("Original Metadata"), True)
|
||||
self.orig_metadata_box.disable()
|
||||
self.metadata_box = MetadataBox(self, _("New Metadata"), False)
|
||||
self.metadata_box.disable()
|
||||
|
||||
self.connect(self.orig_metadataBox, QtCore.SIGNAL("file_updated(int)"), self, QtCore.SIGNAL("file_updated(int)"))
|
||||
self.connect(self.serverMetadataBox, QtCore.SIGNAL("file_updated(int)"), self, QtCore.SIGNAL("file_updated(int)"))
|
||||
self.connect(self.orig_metadata_box, QtCore.SIGNAL("file_updated(int)"), self, QtCore.SIGNAL("file_updated(int)"))
|
||||
self.connect(self.metadata_box, QtCore.SIGNAL("file_updated(int)"), self, QtCore.SIGNAL("file_updated(int)"))
|
||||
|
||||
self.coverArtBox = CoverArtBox(self)
|
||||
if not self.show_cover_art_action.isChecked():
|
||||
self.coverArtBox.hide()
|
||||
|
||||
bottomLayout = QtGui.QHBoxLayout()
|
||||
bottomLayout.addWidget(self.orig_metadataBox, 1)
|
||||
bottomLayout.addWidget(self.serverMetadataBox, 1)
|
||||
bottomLayout.addWidget(self.orig_metadata_box, 1)
|
||||
bottomLayout.addWidget(self.metadata_box, 1)
|
||||
bottomLayout.addWidget(self.coverArtBox, 0)
|
||||
|
||||
mainLayout = QtGui.QVBoxLayout()
|
||||
@@ -395,33 +395,33 @@ class MainWindow(QtGui.QMainWindow):
|
||||
self.update_actions()
|
||||
|
||||
orig_metadata = None
|
||||
serverMetadata = None
|
||||
isAlbum = False
|
||||
metadata = None
|
||||
is_album = False
|
||||
statusBar = u""
|
||||
file = None
|
||||
if len(objects) == 1:
|
||||
obj = objects[0]
|
||||
if isinstance(obj, File):
|
||||
orig_metadata = obj.orig_metadata
|
||||
serverMetadata = obj.metadata
|
||||
metadata = obj.metadata
|
||||
statusBar = obj.filename
|
||||
file = obj
|
||||
elif isinstance(obj, Track):
|
||||
if obj.linked_file:
|
||||
orig_metadata = obj.linked_file.orig_metadata
|
||||
serverMetadata = obj.linked_file.metadata
|
||||
metadata = obj.linked_file.metadata
|
||||
statusBar = obj.linked_file.filename
|
||||
file = obj.linked_file
|
||||
else:
|
||||
orig_metadata = obj.metadata
|
||||
serverMetadata = obj.metadata
|
||||
metadata = obj.metadata
|
||||
elif isinstance(obj, Album):
|
||||
orig_metadata = obj.metadata
|
||||
serverMetadata = obj.metadata
|
||||
isAlbum = True
|
||||
metadata = obj.metadata
|
||||
is_album = True
|
||||
|
||||
self.orig_metadataBox.setMetadata(orig_metadata, isAlbum)
|
||||
self.serverMetadataBox.setMetadata(serverMetadata, isAlbum, file=file)
|
||||
self.orig_metadata_box.set_metadata(orig_metadata, is_album)
|
||||
self.metadata_box.set_metadata(metadata, is_album, file=file)
|
||||
self.setStatusBarMessage(statusBar)
|
||||
|
||||
def showCoverArt(self):
|
||||
|
||||
@@ -23,37 +23,37 @@ from picard.util import format_time
|
||||
|
||||
class MetadataBox(QtGui.QGroupBox):
|
||||
|
||||
def __init__(self, parent, title, readOnly=False):
|
||||
def __init__(self, parent, title, read_only=False):
|
||||
QtGui.QGroupBox.__init__(self, title)
|
||||
self.metadata = None
|
||||
self.readOnly = readOnly
|
||||
self.read_only = read_only
|
||||
|
||||
from picard.ui.ui_metadata import Ui_Form
|
||||
self.ui = Ui_Form()
|
||||
self.ui.setupUi(self)
|
||||
|
||||
self.ui.title.setReadOnly(self.readOnly)
|
||||
self.ui.artist.setReadOnly(self.readOnly)
|
||||
self.ui.album.setReadOnly(self.readOnly)
|
||||
self.ui.tracknumber.setReadOnly(self.readOnly)
|
||||
self.ui.date.setReadOnly(self.readOnly)
|
||||
self.ui.title.setReadOnly(self.read_only)
|
||||
self.ui.artist.setReadOnly(self.read_only)
|
||||
self.ui.album.setReadOnly(self.read_only)
|
||||
self.ui.tracknumber.setReadOnly(self.read_only)
|
||||
self.ui.date.setReadOnly(self.read_only)
|
||||
|
||||
self.connect(self.ui.lookup, QtCore.SIGNAL("clicked()"), self.lookup)
|
||||
self.connect(self.ui.title, QtCore.SIGNAL("editingFinished()"),
|
||||
self.connect(self.ui.title, QtCore.SIGNAL("textEdited(QString)"),
|
||||
self.update_metadata_title)
|
||||
self.connect(self.ui.album, QtCore.SIGNAL("editingFinished()"),
|
||||
self.connect(self.ui.album, QtCore.SIGNAL("textEdited(QString)"),
|
||||
self.update_metadata_album)
|
||||
self.connect(self.ui.artist, QtCore.SIGNAL("editingFinished()"),
|
||||
self.connect(self.ui.artist, QtCore.SIGNAL("textEdited(QString)"),
|
||||
self.update_metadata_artist)
|
||||
self.connect(self.ui.tracknumber, QtCore.SIGNAL("editingFinished()"),
|
||||
self.connect(self.ui.tracknumber, QtCore.SIGNAL("textEdited(QString)"),
|
||||
self.update_metadata_tracknum)
|
||||
self.connect(self.ui.date, QtCore.SIGNAL("editingFinished()"),
|
||||
self.connect(self.ui.date, QtCore.SIGNAL("textEdited(QString)"),
|
||||
self.update_metadata_date)
|
||||
|
||||
self.disable()
|
||||
|
||||
def enable(self, album):
|
||||
if not album:
|
||||
def enable(self, is_album):
|
||||
if not is_album:
|
||||
self.ui.title.setDisabled(False)
|
||||
self.ui.tracknumber.setDisabled(False)
|
||||
else:
|
||||
@@ -82,23 +82,17 @@ class MetadataBox(QtGui.QGroupBox):
|
||||
self.ui.tracknumber.clear()
|
||||
self.ui.date.clear()
|
||||
|
||||
def setMetadata(self, metadata, album=False, file=None):
|
||||
def set_metadata(self, metadata, is_album=False, file=None):
|
||||
self.metadata = metadata
|
||||
self.file = file
|
||||
if metadata:
|
||||
text = metadata.get(u"TITLE", u"")
|
||||
self.ui.title.setText(text)
|
||||
text = metadata.get(u"ARTIST", u"")
|
||||
self.ui.artist.setText(text)
|
||||
text = metadata.get(u"ALBUM", u"")
|
||||
self.ui.album.setText(text)
|
||||
text = metadata.get(u"TRACKNUMBER", u"")
|
||||
self.ui.tracknumber.setText(text)
|
||||
text = format_time(metadata.get("~#length", 0))
|
||||
self.ui.length.setText(text)
|
||||
text = metadata.get(u"DATE", u"")
|
||||
self.ui.date.setText(text)
|
||||
self.enable(album)
|
||||
self.ui.title.setText(metadata["title"])
|
||||
self.ui.artist.setText(metadata["artist"])
|
||||
self.ui.album.setText(metadata["album"])
|
||||
self.ui.tracknumber.setText(metadata["tracknumber"])
|
||||
self.ui.length.setText(format_time(metadata.get("~#length", 0)))
|
||||
self.ui.date.setText(metadata["date"])
|
||||
self.enable(is_album)
|
||||
else:
|
||||
self.clear()
|
||||
self.disable()
|
||||
@@ -107,22 +101,23 @@ class MetadataBox(QtGui.QGroupBox):
|
||||
"""Tell the tagger to lookup the metadata."""
|
||||
self.tagger.lookup(self.metadata)
|
||||
|
||||
def update_metadata(self, edit, name):
|
||||
self.metadata[name] = unicode(edit.text())
|
||||
self.file.update()
|
||||
def update_metadata(self, name, text):
|
||||
if self.metadata and self.file:
|
||||
self.metadata[name] = unicode(text)
|
||||
self.file.update()
|
||||
|
||||
def update_metadata_title(self):
|
||||
self.update_metadata(self.ui.title, "title")
|
||||
def update_metadata_title(self, text):
|
||||
self.update_metadata("title", text)
|
||||
|
||||
def update_metadata_album(self):
|
||||
self.update_metadata(self.ui.album, "album")
|
||||
def update_metadata_album(self, text):
|
||||
self.update_metadata("album", text)
|
||||
|
||||
def update_metadata_artist(self):
|
||||
self.update_metadata(self.ui.artist, "artist")
|
||||
def update_metadata_artist(self, text):
|
||||
self.update_metadata("artist", text)
|
||||
|
||||
def update_metadata_tracknum(self):
|
||||
self.update_metadata(self.ui.tracknumber, "tracknumber")
|
||||
|
||||
def update_metadata_date(self):
|
||||
self.update_metadata(self.ui.date, "date")
|
||||
def update_metadata_tracknum(self, text):
|
||||
self.update_metadata("tracknumber", text)
|
||||
|
||||
def update_metadata_date(self, text):
|
||||
self.update_metadata("date", text)
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
# Form implementation generated from reading ui file 'metadata.ui'
|
||||
#
|
||||
# Created: Thu Sep 14 22:48:35 2006
|
||||
# Created: Sun Sep 17 11:57:21 2006
|
||||
# by: PyQt4 UI code generator 4.0
|
||||
# E:\projects\picard-qt\ui\compile.py
|
||||
#
|
||||
@@ -109,6 +109,12 @@ class Ui_Form(object):
|
||||
|
||||
self.retranslateUi(Form)
|
||||
QtCore.QMetaObject.connectSlotsByName(Form)
|
||||
Form.setTabOrder(self.title,self.artist)
|
||||
Form.setTabOrder(self.artist,self.album)
|
||||
Form.setTabOrder(self.album,self.tracknumber)
|
||||
Form.setTabOrder(self.tracknumber,self.length)
|
||||
Form.setTabOrder(self.length,self.date)
|
||||
Form.setTabOrder(self.date,self.lookup)
|
||||
|
||||
def retranslateUi(self, Form):
|
||||
self.lookup.setText(_("Lookup"))
|
||||
|
||||
@@ -171,6 +171,15 @@
|
||||
</layout>
|
||||
</widget>
|
||||
<pixmapfunction></pixmapfunction>
|
||||
<tabstops>
|
||||
<tabstop>title</tabstop>
|
||||
<tabstop>artist</tabstop>
|
||||
<tabstop>album</tabstop>
|
||||
<tabstop>tracknumber</tabstop>
|
||||
<tabstop>length</tabstop>
|
||||
<tabstop>date</tabstop>
|
||||
<tabstop>lookup</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
Reference in New Issue
Block a user