Copy escaped track path
This commit is contained in:
parent
568dc1ef68
commit
5ba70c9c6f
@ -15,7 +15,7 @@ from PyQt5.QtGui import (
|
|||||||
)
|
)
|
||||||
from PyQt5.QtWidgets import (
|
from PyQt5.QtWidgets import (
|
||||||
QAbstractItemView,
|
QAbstractItemView,
|
||||||
# QApplication,
|
QApplication,
|
||||||
# QInputDialog,
|
# QInputDialog,
|
||||||
# QLineEdit,
|
# QLineEdit,
|
||||||
QMainWindow,
|
QMainWindow,
|
||||||
@ -266,6 +266,9 @@ class PlaylistTab(QTableWidget):
|
|||||||
act_info.triggered.connect(
|
act_info.triggered.connect(
|
||||||
lambda: self._info_row(track_id)
|
lambda: self._info_row(track_id)
|
||||||
)
|
)
|
||||||
|
act_copypath = self.menu.addAction("Copy track path")
|
||||||
|
act_copypath.triggered.connect(
|
||||||
|
lambda: self._copy_path(row_number))
|
||||||
|
|
||||||
self.menu.addSeparator()
|
self.menu.addSeparator()
|
||||||
|
|
||||||
@ -1140,24 +1143,27 @@ class PlaylistTab(QTableWidget):
|
|||||||
|
|
||||||
assert self.menu
|
assert self.menu
|
||||||
self.menu.exec_(self.mapToGlobal(pos))
|
self.menu.exec_(self.mapToGlobal(pos))
|
||||||
#
|
|
||||||
# def _copy_path(self, row: int) -> None:
|
def _copy_path(self, row: int) -> None:
|
||||||
# """
|
"""
|
||||||
# If passed row is track row, copy the track path to the clipboard.
|
If passed row has a track, copy the track path, single-quoted,
|
||||||
# Otherwise, return None.
|
to the clipboard. Otherwise, return None.
|
||||||
# """
|
"""
|
||||||
#
|
|
||||||
# log.debug(f"_copy_path({row})")
|
track_id = self._get_row_track_id(row)
|
||||||
#
|
if track_id is None:
|
||||||
# if row in self._get_notes_rows():
|
return
|
||||||
# return None
|
|
||||||
#
|
with Session() as session:
|
||||||
# with Session() as session:
|
track = session.get(Tracks, track_id)
|
||||||
# track: Optional[Tracks] = self._get_row_track_object(row, session)
|
if track:
|
||||||
# if track:
|
# Escape single quotes and spaces in name
|
||||||
# cb = QApplication.clipboard()
|
path = track.path
|
||||||
# cb.clear(mode=cb.Clipboard)
|
pathq = path.replace("'", "\\'")
|
||||||
# cb.setText(track.path, mode=cb.Clipboard)
|
pathqs = pathq.replace(" ", "\\ ")
|
||||||
|
cb = QApplication.clipboard()
|
||||||
|
cb.clear(mode=cb.Clipboard)
|
||||||
|
cb.setText(pathqs, mode=cb.Clipboard)
|
||||||
#
|
#
|
||||||
# def _cell_changed(self, row: int, column: int) -> None:
|
# def _cell_changed(self, row: int, column: int) -> None:
|
||||||
# """Called when cell content has changed"""
|
# """Called when cell content has changed"""
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user