mirror of
https://github.com/fergalmoran/picard.git
synced 2026-02-22 15:44:59 +00:00
Use Qt Designer for metadata boxes.
This commit is contained in:
@@ -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
121
picard/ui/ui_metadata.py
Normal 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
176
ui/metadata.ui
Normal 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>
|
||||
Reference in New Issue
Block a user