diff options
author | Dave Blake <oak99sky@yahoo.co.uk> | 2019-05-24 12:22:38 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-24 12:22:38 +0100 |
commit | dcf4f30da48309821427d5cbb24f8331ee0cdf13 (patch) | |
tree | 6ff5a185eb469029ef595965ac6e956cb4a1ba2f | |
parent | b124c119fdbe8df99a1455b291d66f57de10c980 (diff) | |
parent | 09787a0dddcb4778c9e2647007b1a741a4236ca9 (diff) |
Merge pull request #16060 from DaveTBlake/novizblankdialog_v18
[GUI]Fix blank Visualisation Preset List dialog - Backport
-rw-r--r-- | addons/resource.language.en_gb/resources/strings.po | 5 | ||||
-rw-r--r-- | xbmc/music/dialogs/GUIDialogVisualisationPresetList.cpp | 27 | ||||
-rw-r--r-- | xbmc/music/dialogs/GUIDialogVisualisationPresetList.h | 1 |
3 files changed, 27 insertions, 6 deletions
diff --git a/addons/resource.language.en_gb/resources/strings.po b/addons/resource.language.en_gb/resources/strings.po index 3442589698..9c9161a993 100644 --- a/addons/resource.language.en_gb/resources/strings.po +++ b/addons/resource.language.en_gb/resources/strings.po @@ -5097,6 +5097,7 @@ msgstr "" #empty string with id 10121 #: xbmc/guilib/WindowIDs.h +#: xbmc/music/dialogs/GUIDialogVisualisationPresetList.cpp msgctxt "#10122" msgid "Visualization preset list" msgstr "" @@ -6879,8 +6880,9 @@ msgctxt "#13388" msgid "Preset" msgstr "" +#: xbmc/music/dialogs/GUIDialogVisualisationPresetList.cpp msgctxt "#13389" -msgid "There are no presets available\nfor this visualisation" +msgid "There are no presets available for this visualisation" msgstr "" msgctxt "#13390" @@ -6970,6 +6972,7 @@ msgctxt "#13406" msgid "Picture information" msgstr "" +#: xbmc/music/dialogs/GUIDialogVisualisationPresetList.cpp msgctxt "#13407" msgid "{0:s} presets" msgstr "" diff --git a/xbmc/music/dialogs/GUIDialogVisualisationPresetList.cpp b/xbmc/music/dialogs/GUIDialogVisualisationPresetList.cpp index fd8d765023..3b8ee4faa8 100644 --- a/xbmc/music/dialogs/GUIDialogVisualisationPresetList.cpp +++ b/xbmc/music/dialogs/GUIDialogVisualisationPresetList.cpp @@ -29,7 +29,7 @@ bool CGUIDialogVisualisationPresetList::OnMessage(CGUIMessage &message) switch (message.GetMessage()) { case GUI_MSG_VISUALISATION_UNLOADING: - SetVisualisation(nullptr); + ClearVisualisation(); break; } return CGUIDialogSelect::OnMessage(message); @@ -41,11 +41,23 @@ void CGUIDialogVisualisationPresetList::OnSelect(int idx) m_viz->SetPreset(idx); } +void CGUIDialogVisualisationPresetList::ClearVisualisation() +{ + m_viz = nullptr; + Reset(); +} + void CGUIDialogVisualisationPresetList::SetVisualisation(CGUIVisualisationControl* vis) { m_viz = vis; Reset(); - if (m_viz) + if (!m_viz) + { // No viz, but show something if this dialog activated + SetHeading(CVariant{ 10122 }); + CFileItem item(g_localizeStrings.Get(13389)); + Add(item); + } + else { SetUseDetails(false); SetMultiSelection(false); @@ -61,6 +73,12 @@ void CGUIDialogVisualisationPresetList::SetVisualisation(CGUIVisualisationContro } SetSelected(m_viz->GetActivePreset()); } + else + { // Viz does not have any presets + // "There are no presets available for this visualisation" + CFileItem item(g_localizeStrings.Get(13389)); + Add(item); + } } } @@ -68,13 +86,12 @@ void CGUIDialogVisualisationPresetList::OnInitWindow() { CGUIMessage msg(GUI_MSG_GET_VISUALISATION, 0, 0); CServiceBroker::GetGUI()->GetWindowManager().SendMessage(msg); - if (msg.GetPointer()) - SetVisualisation(static_cast<CGUIVisualisationControl*>(msg.GetPointer())); + SetVisualisation(static_cast<CGUIVisualisationControl*>(msg.GetPointer())); CGUIDialogSelect::OnInitWindow(); } void CGUIDialogVisualisationPresetList::OnDeinitWindow(int nextWindowID) { - SetVisualisation(nullptr); + ClearVisualisation(); CGUIDialogSelect::OnDeinitWindow(nextWindowID); } diff --git a/xbmc/music/dialogs/GUIDialogVisualisationPresetList.h b/xbmc/music/dialogs/GUIDialogVisualisationPresetList.h index b44a872722..c832163d20 100644 --- a/xbmc/music/dialogs/GUIDialogVisualisationPresetList.h +++ b/xbmc/music/dialogs/GUIDialogVisualisationPresetList.h @@ -26,6 +26,7 @@ protected: void OnSelect(int idx) override; private: + void ClearVisualisation(); void SetVisualisation(CGUIVisualisationControl *addon); CGUIVisualisationControl* m_viz = nullptr; }; |