* moved ui and app logic into 1 main file * typing and reorganization * batch metadata editor window start * track number functionality
48 lines
1.4 KiB
Python
48 lines
1.4 KiB
Python
from PyQt5.QtWidgets import (
|
|
QDialog,
|
|
QFrame,
|
|
QVBoxLayout,
|
|
QLabel,
|
|
QLineEdit,
|
|
QPushButton,
|
|
)
|
|
from PyQt5.QtGui import QFont
|
|
from mutagen.id3 import ID3
|
|
|
|
|
|
class MetadataWindow(QDialog):
|
|
def __init__(self, songs: ID3 | dict):
|
|
super(MetadataWindow, self).__init__()
|
|
self.setWindowTitle("Edit metadata")
|
|
self.setMinimumSize(400, 400)
|
|
layout = QVBoxLayout()
|
|
|
|
label = QLabel("Edit metadata")
|
|
label.setFont(QFont("Sans", weight=QFont.Bold))
|
|
layout.addWidget(label)
|
|
|
|
# Labels and categories and stuff
|
|
separator = QFrame()
|
|
separator.setFrameShape(QFrame.HLine)
|
|
layout.addWidget(separator)
|
|
category_label = QLabel("Edit metadata")
|
|
category_label.setFont(QFont("Sans", weight=QFont.Bold)) # bold category
|
|
category_label.setStyleSheet("text-transform:uppercase;") # uppercase category
|
|
|
|
# Editable fields
|
|
label = QLabel("Title")
|
|
input_field = QLineEdit({songs["TPE1"]})
|
|
layout.addWidget(label)
|
|
layout.addWidget(input_field)
|
|
|
|
# Save button
|
|
save_button = QPushButton("Save")
|
|
save_button.clicked.connect(self.save)
|
|
layout.addWidget(save_button)
|
|
self.setLayout(layout)
|
|
|
|
def save(self):
|
|
"""Save changes made to metadata for each song in dict"""
|
|
pass
|
|
self.close()
|