aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Blake <oak99sky@yahoo.co.uk>2019-05-24 12:22:38 +0100
committerGitHub <noreply@github.com>2019-05-24 12:22:38 +0100
commitdcf4f30da48309821427d5cbb24f8331ee0cdf13 (patch)
tree6ff5a185eb469029ef595965ac6e956cb4a1ba2f
parentb124c119fdbe8df99a1455b291d66f57de10c980 (diff)
parent09787a0dddcb4778c9e2647007b1a741a4236ca9 (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.po5
-rw-r--r--xbmc/music/dialogs/GUIDialogVisualisationPresetList.cpp27
-rw-r--r--xbmc/music/dialogs/GUIDialogVisualisationPresetList.h1
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;
};