aboutsummaryrefslogtreecommitdiff
path: root/xbmc/dialogs/GUIDialogSmartPlaylistEditor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'xbmc/dialogs/GUIDialogSmartPlaylistEditor.cpp')
-rw-r--r--xbmc/dialogs/GUIDialogSmartPlaylistEditor.cpp56
1 files changed, 32 insertions, 24 deletions
diff --git a/xbmc/dialogs/GUIDialogSmartPlaylistEditor.cpp b/xbmc/dialogs/GUIDialogSmartPlaylistEditor.cpp
index 24a0675c40..ddfd0d9d0a 100644
--- a/xbmc/dialogs/GUIDialogSmartPlaylistEditor.cpp
+++ b/xbmc/dialogs/GUIDialogSmartPlaylistEditor.cpp
@@ -31,6 +31,8 @@
#include <utility>
+using namespace KODI;
+
#define CONTROL_HEADING 2
#define CONTROL_RULE_LIST 10
#define CONTROL_NAME 12
@@ -209,7 +211,8 @@ void CGUIDialogSmartPlaylistEditor::OnRuleList(int item)
OnRuleAdd();
else
{
- CSmartPlaylistRule rule = *std::static_pointer_cast<CSmartPlaylistRule>(m_playlist.m_ruleCombination.m_rules[item]);
+ auto rule = *std::static_pointer_cast<PLAYLIST::CSmartPlaylistRule>(
+ m_playlist.m_ruleCombination.m_rules[item]);
if (CGUIDialogSmartPlaylistRule::EditRule(rule, m_playlist.GetType()))
*m_playlist.m_ruleCombination.m_rules[item] = rule;
}
@@ -268,10 +271,11 @@ void CGUIDialogSmartPlaylistEditor::OnCancel()
void CGUIDialogSmartPlaylistEditor::OnMatch()
{
// toggle between AND and OR setting
- if (m_playlist.m_ruleCombination.GetType() == CSmartPlaylistRuleCombination::CombinationOr)
- m_playlist.m_ruleCombination.SetType(CSmartPlaylistRuleCombination::CombinationAnd);
+ if (m_playlist.m_ruleCombination.GetType() ==
+ PLAYLIST::CSmartPlaylistRuleCombination::CombinationOr)
+ m_playlist.m_ruleCombination.SetType(PLAYLIST::CSmartPlaylistRuleCombination::CombinationAnd);
else
- m_playlist.m_ruleCombination.SetType(CSmartPlaylistRuleCombination::CombinationOr);
+ m_playlist.m_ruleCombination.SetType(PLAYLIST::CSmartPlaylistRuleCombination::CombinationOr);
UpdateButtons();
}
@@ -327,12 +331,12 @@ void CGUIDialogSmartPlaylistEditor::OnType()
m_playlist.SetType(ConvertType(allowedTypes[newSelected]));
// Remove any invalid grouping left over when changing the type
- Field currentGroup = CSmartPlaylistRule::TranslateGroup(m_playlist.GetGroup().c_str());
+ Field currentGroup = PLAYLIST::CSmartPlaylistRule::TranslateGroup(m_playlist.GetGroup().c_str());
if (currentGroup != FieldNone && currentGroup != FieldUnknown)
{
- std::vector<Field> groups = CSmartPlaylistRule::GetGroups(m_playlist.GetType());
+ std::vector<Field> groups = PLAYLIST::CSmartPlaylistRule::GetGroups(m_playlist.GetType());
if (std::find(groups.begin(), groups.end(), currentGroup) == groups.end())
- m_playlist.SetGroup(CSmartPlaylistRule::TranslateGroup(FieldUnknown));
+ m_playlist.SetGroup(PLAYLIST::CSmartPlaylistRule::TranslateGroup(FieldUnknown));
}
UpdateButtons();
@@ -340,7 +344,7 @@ void CGUIDialogSmartPlaylistEditor::OnType()
void CGUIDialogSmartPlaylistEditor::OnOrder()
{
- std::vector<SortBy> orders = CSmartPlaylistRule::GetOrders(m_playlist.GetType());
+ std::vector<SortBy> orders = PLAYLIST::CSmartPlaylistRule::GetOrders(m_playlist.GetType());
CGUIDialogSelect* dialog = CServiceBroker::GetGUI()->GetWindowManager().GetWindow<CGUIDialogSelect>(WINDOW_DIALOG_SELECT);
dialog->Reset();
for (auto order: orders)
@@ -366,22 +370,22 @@ void CGUIDialogSmartPlaylistEditor::OnOrderDirection()
void CGUIDialogSmartPlaylistEditor::OnGroupBy()
{
- std::vector<Field> groups = CSmartPlaylistRule::GetGroups(m_playlist.GetType());
- Field currentGroup = CSmartPlaylistRule::TranslateGroup(m_playlist.GetGroup().c_str());
+ std::vector<Field> groups = PLAYLIST::CSmartPlaylistRule::GetGroups(m_playlist.GetType());
+ Field currentGroup = PLAYLIST::CSmartPlaylistRule::TranslateGroup(m_playlist.GetGroup().c_str());
CGUIDialogSelect* dialog = CServiceBroker::GetGUI()->GetWindowManager().GetWindow<CGUIDialogSelect>(WINDOW_DIALOG_SELECT);
dialog->Reset();
for (auto group : groups)
- dialog->Add(CSmartPlaylistRule::GetLocalizedGroup(group));
+ dialog->Add(PLAYLIST::CSmartPlaylistRule::GetLocalizedGroup(group));
dialog->SetHeading(CVariant{ 21458 });
- dialog->SetSelected(CSmartPlaylistRule::GetLocalizedGroup(currentGroup));
+ dialog->SetSelected(PLAYLIST::CSmartPlaylistRule::GetLocalizedGroup(currentGroup));
dialog->Open();
int newSelected = dialog->GetSelectedItem();
// check if selection has changed
if (!dialog->IsConfirmed() || newSelected < 0 || groups[newSelected] == currentGroup)
return;
- m_playlist.SetGroup(CSmartPlaylistRule::TranslateGroup(groups[newSelected]));
+ m_playlist.SetGroup(PLAYLIST::CSmartPlaylistRule::TranslateGroup(groups[newSelected]));
- if (m_playlist.IsGroupMixed() && !CSmartPlaylistRule::CanGroupMix(currentGroup))
+ if (m_playlist.IsGroupMixed() && !PLAYLIST::CSmartPlaylistRule::CanGroupMix(currentGroup))
m_playlist.SetGroupMixed(false);
UpdateButtons();
@@ -407,7 +411,8 @@ void CGUIDialogSmartPlaylistEditor::UpdateButtons()
UpdateRuleControlButtons();
- if (m_playlist.m_ruleCombination.GetType() == CSmartPlaylistRuleCombination::CombinationOr)
+ if (m_playlist.m_ruleCombination.GetType() ==
+ PLAYLIST::CSmartPlaylistRuleCombination::CombinationOr)
SET_CONTROL_LABEL2(CONTROL_MATCH, g_localizeStrings.Get(21426)); // one or more of the rules
else
SET_CONTROL_LABEL2(CONTROL_MATCH, g_localizeStrings.Get(21425)); // all of the rules
@@ -424,7 +429,8 @@ void CGUIDialogSmartPlaylistEditor::UpdateButtons()
for (const auto& rule: m_playlist.m_ruleCombination.m_rules)
{
CFileItemPtr item(new CFileItem("", false));
- item->SetLabel(std::static_pointer_cast<CSmartPlaylistRule>(rule)->GetLocalizedRule());
+ item->SetLabel(
+ std::static_pointer_cast<PLAYLIST::CSmartPlaylistRule>(rule)->GetLocalizedRule());
m_ruleLabels->Add(item);
}
CFileItemPtr item(new CFileItem("", false));
@@ -447,9 +453,10 @@ void CGUIDialogSmartPlaylistEditor::UpdateButtons()
SET_CONTROL_LABEL2(CONTROL_TYPE, GetLocalizedType(ConvertType(m_playlist.GetType())));
// setup groups
- std::vector<Field> groups = CSmartPlaylistRule::GetGroups(m_playlist.GetType());
- Field currentGroup = CSmartPlaylistRule::TranslateGroup(m_playlist.GetGroup().c_str());
- SET_CONTROL_LABEL2(CONTROL_GROUP_BY, CSmartPlaylistRule::GetLocalizedGroup(currentGroup));
+ std::vector<Field> groups = PLAYLIST::CSmartPlaylistRule::GetGroups(m_playlist.GetType());
+ Field currentGroup = PLAYLIST::CSmartPlaylistRule::TranslateGroup(m_playlist.GetGroup().c_str());
+ SET_CONTROL_LABEL2(CONTROL_GROUP_BY,
+ PLAYLIST::CSmartPlaylistRule::GetLocalizedGroup(currentGroup));
if (m_playlist.IsGroupMixed())
CONTROL_SELECT(CONTROL_GROUP_MIXED);
else
@@ -458,7 +465,7 @@ void CGUIDialogSmartPlaylistEditor::UpdateButtons()
// disable the group controls if there's no group
// or only one group which can't be mixed
if (groups.empty() ||
- (groups.size() == 1 && !CSmartPlaylistRule::CanGroupMix(groups[0])))
+ (groups.size() == 1 && !PLAYLIST::CSmartPlaylistRule::CanGroupMix(groups[0])))
{
CONTROL_DISABLE(CONTROL_GROUP_BY);
CONTROL_DISABLE(CONTROL_GROUP_MIXED);
@@ -466,7 +473,8 @@ void CGUIDialogSmartPlaylistEditor::UpdateButtons()
else
{
CONTROL_ENABLE(CONTROL_GROUP_BY);
- CONTROL_ENABLE_ON_CONDITION(CONTROL_GROUP_MIXED, CSmartPlaylistRule::CanGroupMix(currentGroup));
+ CONTROL_ENABLE_ON_CONDITION(CONTROL_GROUP_MIXED,
+ PLAYLIST::CSmartPlaylistRule::CanGroupMix(currentGroup));
}
}
@@ -601,7 +609,7 @@ void CGUIDialogSmartPlaylistEditor::OnRuleRemove(int item)
void CGUIDialogSmartPlaylistEditor::OnRuleAdd()
{
- CSmartPlaylistRule rule;
+ PLAYLIST::CSmartPlaylistRule rule;
if (CGUIDialogSmartPlaylistRule::EditRule(rule,m_playlist.GetType()))
m_playlist.m_ruleCombination.AddRule(rule);
UpdateButtons();
@@ -613,7 +621,7 @@ bool CGUIDialogSmartPlaylistEditor::NewPlaylist(const std::string &type)
if (!editor) return false;
editor->m_path = "";
- editor->m_playlist = CSmartPlaylist();
+ editor->m_playlist = PLAYLIST::CSmartPlaylist();
editor->m_mode = type;
editor->Initialize();
editor->Open();
@@ -631,7 +639,7 @@ bool CGUIDialogSmartPlaylistEditor::EditPlaylist(const std::string &path, const
if (URIUtils::PathEquals(path, CServiceBroker::GetSettingsComponent()->GetProfileManager()->GetUserDataItem("PartyMode-Video.xsp")))
editor->m_mode = "partyvideo";
- CSmartPlaylist playlist;
+ PLAYLIST::CSmartPlaylist playlist;
bool loaded(playlist.Load(path));
if (!loaded)
{ // failed to load