Use Qt Designer for metadata boxes.

This commit is contained in:
Lukáš Lalinský
2006-09-14 22:50:58 +02:00
parent 596a82c288
commit ef01c98df3
3 changed files with 345 additions and 92 deletions

View File

@@ -27,121 +27,77 @@ class MetadataBox(QtGui.QGroupBox):
QtGui.QGroupBox.__init__(self, title)
self.metadata = None
self.readOnly = readOnly
self.setupUi()
def setupUi(self):
self.gridlayout = QtGui.QGridLayout()
self.gridlayout.setSpacing(2)
from picard.ui.ui_metadata import Ui_Form
self.ui = Ui_Form()
self.ui.setupUi(self)
self.titleEdit = QtGui.QLineEdit(self)
self.titleEdit.setReadOnly(self.readOnly)
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.artistEdit = QtGui.QLineEdit(self)
self.artistEdit.setReadOnly(self.readOnly)
self.albumEdit = QtGui.QLineEdit(self)
self.albumEdit.setReadOnly(self.readOnly)
self.trackNumEdit = QtGui.QLineEdit(self)
self.trackNumEdit.setReadOnly(self.readOnly)
sizePolicy = self.trackNumEdit.sizePolicy()
sizePolicy.setHorizontalStretch(2)
self.trackNumEdit.setSizePolicy(sizePolicy)
self.lengthEdit = QtGui.QLineEdit(self)
self.lengthEdit.setReadOnly(True)
sizePolicy = self.lengthEdit.sizePolicy()
sizePolicy.setHorizontalStretch(2)
self.lengthEdit.setSizePolicy(sizePolicy)
self.dateEdit = QtGui.QLineEdit(self)
self.dateEdit.setReadOnly(self.readOnly)
self.dateEdit.setInputMask("0000-00-00")
sizePolicy = self.dateEdit.sizePolicy()
sizePolicy.setHorizontalStretch(4)
self.dateEdit.setSizePolicy(sizePolicy)
self.gridlayout.addWidget(QtGui.QLabel(_("Title:")), 0, 0, QtCore.Qt.AlignRight)
self.gridlayout.addWidget(self.titleEdit, 0, 1, 1, 6)
self.gridlayout.addWidget(QtGui.QLabel(_("Artist:")), 1, 0, QtCore.Qt.AlignRight)
self.gridlayout.addWidget(self.artistEdit, 1, 1, 1, 6)
self.gridlayout.addWidget(QtGui.QLabel(_("Album:")), 2, 0, QtCore.Qt.AlignRight)
self.gridlayout.addWidget(self.albumEdit, 2, 1, 1, 6)
self.gridlayout.addWidget(QtGui.QLabel(_("Track#:")), 3, 0, QtCore.Qt.AlignRight)
self.gridlayout.addWidget(self.trackNumEdit, 3, 1)
self.gridlayout.addWidget(QtGui.QLabel(_("Time:")), 3, 2, QtCore.Qt.AlignRight)
self.gridlayout.addWidget(self.lengthEdit, 3, 3)
self.gridlayout.addWidget(QtGui.QLabel(_("Date:")), 3, 4, QtCore.Qt.AlignRight)
self.gridlayout.addWidget(self.dateEdit, 3, 5)
self.lookupButton = QtGui.QPushButton(_("Lookup"), self)
self.connect(self.lookupButton, QtCore.SIGNAL("clicked()"), self.lookup)
self.gridlayout.addWidget(self.lookupButton, 3, 6)
self.vbox = QtGui.QVBoxLayout(self)
self.vbox.addLayout(self.gridlayout, 0)
self.vbox.addStretch(1)
self.connect(self.titleEdit, QtCore.SIGNAL("editingFinished()"),
self.connect(self.ui.lookup, QtCore.SIGNAL("clicked()"), self.lookup)
self.connect(self.ui.title, QtCore.SIGNAL("editingFinished()"),
self.update_metadata_title)
self.connect(self.albumEdit, QtCore.SIGNAL("editingFinished()"),
self.connect(self.ui.album, QtCore.SIGNAL("editingFinished()"),
self.update_metadata_album)
self.connect(self.artistEdit, QtCore.SIGNAL("editingFinished()"),
self.connect(self.ui.artist, QtCore.SIGNAL("editingFinished()"),
self.update_metadata_artist)
self.connect(self.trackNumEdit, QtCore.SIGNAL("editingFinished()"),
self.connect(self.ui.tracknumber, QtCore.SIGNAL("editingFinished()"),
self.update_metadata_tracknum)
self.connect(self.dateEdit, QtCore.SIGNAL("editingFinished()"),
self.connect(self.ui.date, QtCore.SIGNAL("editingFinished()"),
self.update_metadata_date)
self.disable()
def enable(self, album):
if not album:
self.titleEdit.setDisabled(False)
self.trackNumEdit.setDisabled(False)
self.ui.title.setDisabled(False)
self.ui.tracknumber.setDisabled(False)
else:
self.titleEdit.setDisabled(True)
self.trackNumEdit.setDisabled(True)
self.artistEdit.setDisabled(False)
self.albumEdit.setDisabled(False)
self.lengthEdit.setDisabled(False)
self.dateEdit.setDisabled(False)
self.lookupButton.setDisabled(False)
self.ui.title.setDisabled(True)
self.ui.tracknumber.setDisabled(True)
self.ui.artist.setDisabled(False)
self.ui.album.setDisabled(False)
self.ui.length.setDisabled(False)
self.ui.date.setDisabled(False)
self.ui.lookup.setDisabled(False)
def disable(self):
self.titleEdit.setDisabled(True)
self.artistEdit.setDisabled(True)
self.albumEdit.setDisabled(True)
self.trackNumEdit.setDisabled(True)
self.lengthEdit.setDisabled(True)
self.dateEdit.setDisabled(True)
self.lookupButton.setDisabled(True)
self.ui.title.setDisabled(True)
self.ui.artist.setDisabled(True)
self.ui.album.setDisabled(True)
self.ui.tracknumber.setDisabled(True)
self.ui.length.setDisabled(True)
self.ui.date.setDisabled(True)
self.ui.lookup.setDisabled(True)
def clear(self):
self.titleEdit.clear()
self.artistEdit.clear()
self.albumEdit.clear()
self.lengthEdit.clear()
self.trackNumEdit.clear()
self.dateEdit.clear()
self.ui.title.clear()
self.ui.artist.clear()
self.ui.album.clear()
self.ui.length.clear()
self.ui.tracknumber.clear()
self.ui.date.clear()
def setMetadata(self, metadata, album=False, file_id=None):
self.metadata = metadata
self.file_id = file_id
if metadata:
text = metadata.get(u"TITLE", u"")
self.titleEdit.setText(text)
self.ui.title.setText(text)
text = metadata.get(u"ARTIST", u"")
self.artistEdit.setText(text)
self.ui.artist.setText(text)
text = metadata.get(u"ALBUM", u"")
self.albumEdit.setText(text)
self.ui.album.setText(text)
text = metadata.get(u"TRACKNUMBER", u"")
self.trackNumEdit.setText(text)
self.ui.tracknumber.setText(text)
text = format_time(metadata.get("~#length", 0))
self.lengthEdit.setText(text)
self.ui.length.setText(text)
text = metadata.get(u"DATE", u"")
self.dateEdit.setText(text)
self.ui.date.setText(text)
self.enable(album)
else:
self.clear()
@@ -156,17 +112,17 @@ class MetadataBox(QtGui.QGroupBox):
self.emit(QtCore.SIGNAL("file_updated(int)"), self.file_id)
def update_metadata_title(self):
self.update_metadata(self.titleEdit, "title")
self.update_metadata(self.ui.title, "title")
def update_metadata_album(self):
self.update_metadata(self.albumEdit, "album")
self.update_metadata(self.ui.album, "album")
def update_metadata_artist(self):
self.update_metadata(self.artistEdit, "artist")
self.update_metadata(self.ui.artist, "artist")
def update_metadata_tracknum(self):
self.update_metadata(self.trackNumEdit, "tracknumber")
self.update_metadata(self.ui.tracknumber, "tracknumber")
def update_metadata_date(self):
self.update_metadata(self.dateEdit, "date")
self.update_metadata(self.ui.date, "date")

121
picard/ui/ui_metadata.py Normal file
View File

@@ -0,0 +1,121 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'metadata.ui'
#
# Created: Thu Sep 14 22:48:35 2006
# by: PyQt4 UI code generator 4.0
# E:\projects\picard-qt\ui\compile.py
#
# WARNING! All changes made in this file will be lost!
import sys
from PyQt4 import QtCore, QtGui
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(QtCore.QSize(QtCore.QRect(0,0,326,111).size()).expandedTo(Form.minimumSizeHint()))
self.vboxlayout = QtGui.QVBoxLayout(Form)
self.vboxlayout.setMargin(9)
self.vboxlayout.setSpacing(6)
self.vboxlayout.setObjectName("vboxlayout")
self.gridlayout = QtGui.QGridLayout()
self.gridlayout.setMargin(0)
self.gridlayout.setSpacing(2)
self.gridlayout.setObjectName("gridlayout")
self.title = QtGui.QLineEdit(Form)
self.title.setObjectName("title")
self.gridlayout.addWidget(self.title,0,1,1,6)
self.lookup = QtGui.QPushButton(Form)
self.lookup.setObjectName("lookup")
self.gridlayout.addWidget(self.lookup,3,6,1,1)
self.artist = QtGui.QLineEdit(Form)
self.artist.setObjectName("artist")
self.gridlayout.addWidget(self.artist,1,1,1,6)
self.length = QtGui.QLineEdit(Form)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Policy(7),QtGui.QSizePolicy.Policy(0))
sizePolicy.setHorizontalStretch(2)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.length.sizePolicy().hasHeightForWidth())
self.length.setSizePolicy(sizePolicy)
self.length.setMinimumSize(QtCore.QSize(35,0))
self.length.setReadOnly(True)
self.length.setObjectName("length")
self.gridlayout.addWidget(self.length,3,3,1,1)
self.label = QtGui.QLabel(Form)
self.label.setObjectName("label")
self.gridlayout.addWidget(self.label,0,0,1,1)
self.label_6 = QtGui.QLabel(Form)
self.label_6.setObjectName("label_6")
self.gridlayout.addWidget(self.label_6,3,4,1,1)
self.label_2 = QtGui.QLabel(Form)
self.label_2.setObjectName("label_2")
self.gridlayout.addWidget(self.label_2,1,0,1,1)
self.album = QtGui.QLineEdit(Form)
self.album.setObjectName("album")
self.gridlayout.addWidget(self.album,2,1,1,6)
self.tracknumber = QtGui.QLineEdit(Form)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Policy(7),QtGui.QSizePolicy.Policy(0))
sizePolicy.setHorizontalStretch(2)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.tracknumber.sizePolicy().hasHeightForWidth())
self.tracknumber.setSizePolicy(sizePolicy)
self.tracknumber.setMinimumSize(QtCore.QSize(25,0))
self.tracknumber.setObjectName("tracknumber")
self.gridlayout.addWidget(self.tracknumber,3,1,1,1)
self.label_4 = QtGui.QLabel(Form)
self.label_4.setObjectName("label_4")
self.gridlayout.addWidget(self.label_4,3,0,1,1)
self.date = QtGui.QLineEdit(Form)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Policy(7),QtGui.QSizePolicy.Policy(0))
sizePolicy.setHorizontalStretch(5)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.date.sizePolicy().hasHeightForWidth())
self.date.setSizePolicy(sizePolicy)
self.date.setMinimumSize(QtCore.QSize(65,0))
self.date.setObjectName("date")
self.gridlayout.addWidget(self.date,3,5,1,1)
self.label_5 = QtGui.QLabel(Form)
self.label_5.setObjectName("label_5")
self.gridlayout.addWidget(self.label_5,3,2,1,1)
self.label_3 = QtGui.QLabel(Form)
self.label_3.setObjectName("label_3")
self.gridlayout.addWidget(self.label_3,2,0,1,1)
self.vboxlayout.addLayout(self.gridlayout)
self.label.setBuddy(self.title)
self.label_6.setBuddy(self.date)
self.label_2.setBuddy(self.artist)
self.label_4.setBuddy(self.tracknumber)
self.label_5.setBuddy(self.length)
self.label_3.setBuddy(self.album)
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
self.lookup.setText(_("Lookup"))
self.label.setText(_("Title:"))
self.label_6.setText(_("Date:"))
self.label_2.setText(_("Artist:"))
self.label_4.setText(_("Track:"))
self.date.setInputMask(_("0000-00-00; "))
self.label_5.setText(_("Length:"))
self.label_3.setText(_("Album:"))

176
ui/metadata.ui Normal file
View File

@@ -0,0 +1,176 @@
<ui version="4.0" >
<author></author>
<comment></comment>
<exportmacro></exportmacro>
<class>Form</class>
<widget class="QGroupBox" name="Form" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>326</width>
<height>111</height>
</rect>
</property>
<property name="title" >
<string/>
</property>
<layout class="QVBoxLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<layout class="QGridLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>2</number>
</property>
<item row="0" column="1" colspan="6" >
<widget class="QLineEdit" name="title" />
</item>
<item row="3" column="6" >
<widget class="QPushButton" name="lookup" >
<property name="text" >
<string>Lookup</string>
</property>
</widget>
</item>
<item row="1" column="1" colspan="6" >
<widget class="QLineEdit" name="artist" />
</item>
<item row="3" column="3" >
<widget class="QLineEdit" name="length" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>7</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>2</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<size>
<width>35</width>
<height>0</height>
</size>
</property>
<property name="readOnly" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="0" >
<widget class="QLabel" name="label" >
<property name="text" >
<string>Title:</string>
</property>
<property name="buddy" >
<cstring>title</cstring>
</property>
</widget>
</item>
<item row="3" column="4" >
<widget class="QLabel" name="label_6" >
<property name="text" >
<string>Date:</string>
</property>
<property name="buddy" >
<cstring>date</cstring>
</property>
</widget>
</item>
<item row="1" column="0" >
<widget class="QLabel" name="label_2" >
<property name="text" >
<string>Artist:</string>
</property>
<property name="buddy" >
<cstring>artist</cstring>
</property>
</widget>
</item>
<item row="2" column="1" colspan="6" >
<widget class="QLineEdit" name="album" />
</item>
<item row="3" column="1" >
<widget class="QLineEdit" name="tracknumber" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>7</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>2</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<size>
<width>25</width>
<height>0</height>
</size>
</property>
</widget>
</item>
<item row="3" column="0" >
<widget class="QLabel" name="label_4" >
<property name="text" >
<string>Track:</string>
</property>
<property name="buddy" >
<cstring>tracknumber</cstring>
</property>
</widget>
</item>
<item row="3" column="5" >
<widget class="QLineEdit" name="date" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>7</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>5</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<size>
<width>65</width>
<height>0</height>
</size>
</property>
<property name="inputMask" >
<string>0000-00-00; </string>
</property>
</widget>
</item>
<item row="3" column="2" >
<widget class="QLabel" name="label_5" >
<property name="text" >
<string>Length:</string>
</property>
<property name="buddy" >
<cstring>length</cstring>
</property>
</widget>
</item>
<item row="2" column="0" >
<widget class="QLabel" name="label_3" >
<property name="text" >
<string>Album:</string>
</property>
<property name="buddy" >
<cstring>album</cstring>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<pixmapfunction></pixmapfunction>
<resources/>
<connections/>
</ui>