Add support for episode subtitle and HTML shownotes
This commit is contained in:
parent
5e15f13bb3
commit
a3fc3fe3c0
4 changed files with 48 additions and 23 deletions
3
main.py
3
main.py
|
@ -155,6 +155,7 @@ class gPotherSide:
|
|||
return {
|
||||
'id': episode.id,
|
||||
'title': episode.trimmed_title,
|
||||
'subtitle': episode.subtitle,
|
||||
'progress': episode.download_progress(),
|
||||
'downloadState': episode.state,
|
||||
'isNew': episode.is_new,
|
||||
|
@ -352,7 +353,7 @@ class gPotherSide:
|
|||
|
||||
return {
|
||||
'title': episode.trimmed_title,
|
||||
'description': util.remove_html_tags(episode.description),
|
||||
'description': episode.description_html or episode.description,
|
||||
'metadata': ' | '.join(self._format_metadata(episode)),
|
||||
'link': episode.link if episode.link != episode.url else '',
|
||||
'chapters': getattr(episode, 'chapters', []),
|
||||
|
|
|
@ -136,7 +136,7 @@ SlidePage {
|
|||
font.pixelSize: 30 * pgst.scalef
|
||||
wrapMode: Text.WordWrap
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -171,9 +171,7 @@ Item {
|
|||
color: titleLabel.color
|
||||
}
|
||||
|
||||
PLabel {
|
||||
id: titleLabel
|
||||
|
||||
Column {
|
||||
anchors {
|
||||
left: parent.left
|
||||
leftMargin: 2 * Constants.layout.padding * pgst.scalef
|
||||
|
@ -182,29 +180,54 @@ Item {
|
|||
verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
elide: Text.ElideRight
|
||||
text: title
|
||||
PLabel {
|
||||
id: titleLabel
|
||||
|
||||
color: {
|
||||
if (episodeItem.isPlaying) {
|
||||
return Constants.colors.playback;
|
||||
} else if (progress > 0) {
|
||||
return Constants.colors.download;
|
||||
} else if (episodeItem.opened) {
|
||||
return Constants.colors.highlight;
|
||||
} else if (isNew) {
|
||||
return Constants.colors.fresh;
|
||||
} else {
|
||||
return Constants.colors.text;
|
||||
anchors {
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
}
|
||||
|
||||
elide: Text.ElideRight
|
||||
text: title
|
||||
|
||||
color: {
|
||||
if (episodeItem.isPlaying) {
|
||||
return Constants.colors.playback;
|
||||
} else if (progress > 0) {
|
||||
return Constants.colors.download;
|
||||
} else if (episodeItem.opened) {
|
||||
return Constants.colors.highlight;
|
||||
} else if (isNew) {
|
||||
return Constants.colors.fresh;
|
||||
} else {
|
||||
return Constants.colors.text;
|
||||
}
|
||||
}
|
||||
|
||||
opacity: {
|
||||
if (downloadState == Constants.state.deleted && !isNew && progress <= 0) {
|
||||
return 0.3;
|
||||
} else {
|
||||
return 1.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
opacity: {
|
||||
if (downloadState == Constants.state.deleted && !isNew && progress <= 0) {
|
||||
return 0.3;
|
||||
} else {
|
||||
return 1.0;
|
||||
PLabel {
|
||||
id: subtitleLabel
|
||||
|
||||
anchors {
|
||||
left: titleLabel.left
|
||||
right: titleLabel.right
|
||||
}
|
||||
|
||||
text: subtitle
|
||||
font.pixelSize: 20 * pgst.scalef
|
||||
|
||||
visible: subtitle !== ''
|
||||
elide: Text.ElideRight
|
||||
opacity: titleLabel.opacity
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,5 +26,6 @@ Text {
|
|||
font.pixelSize: 30 * pgst.scalef
|
||||
font.family: Constants.font
|
||||
color: Constants.colors.text
|
||||
onLinkActivated: Qt.openUrlExternally(link)
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue