From 7b2b7fada573f1ae50f62320e8e54b6adfe47d99 Mon Sep 17 00:00:00 2001 From: Keith Edmunds Date: Wed, 17 Aug 2022 12:52:09 +0100 Subject: [PATCH] WIP: replace notes TableWidgetItem with TextEdit --- app/playlists.py | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/app/playlists.py b/app/playlists.py index a5f0e14..6a29e1f 100644 --- a/app/playlists.py +++ b/app/playlists.py @@ -6,12 +6,18 @@ from collections import namedtuple from datetime import datetime, timedelta from typing import List, Optional -from PyQt5.QtCore import QEvent, QModelIndex, Qt, pyqtSignal +from PyQt5.QtCore import ( + pyqtSignal, + QEvent, + QModelIndex, + QSize, + Qt, +) from PyQt5.QtGui import ( QBrush, QColor, QFont, - QDropEvent + QDropEvent, ) from PyQt5.QtWidgets import ( QAbstractItemDelegate, @@ -88,10 +94,14 @@ class NoSelectDelegate(QStyledItemDelegate): editor.selectionChanged.disconnect(deselect) editor.deselect() editor.selectionChanged.connect(deselect) - textedit = QTextEdit(parent) - textedit.setPlainText(editor.text()) + # self.old_editor = editor + # textedit = QTextEdit(parent) + # textedit.setPlainText(editor.text()) return textedit + # def destroyEditor(self, editor, index): + # self.old_editor.setText(editor.toPlainText()) + # super().destroyEditor(self, self.old_editor, index) class PlaylistTab(QTableWidget): # Qt.UserRoles @@ -584,8 +594,12 @@ class PlaylistTab(QTableWidget): # As we have track info, any notes should be contained in # the notes column - notes_item = QTableWidgetItem(row_data.note) - self.setItem(row, columns['row_notes'].idx, notes_item) + temp_item = QTableWidgetItem() + self.setItem(row, columns['row_notes'].idx, temp_item) + notes_item = QTextEdit(row_data.note) + minimum_size = QSize(25, 25) + notes_item.setMinimumSize(minimum_size) + self.setCellWidget(row, columns['row_notes'].idx, notes_item) last_playtime = Playdates.last_played(session, row_data.track.id) last_played_str = get_relative_date(last_playtime)