The branch, master has been updated
via 7f43434b7a4875fb026ef95e3d06053843c27e15 (commit)
via fc785d4129d1614837eb1d178515f397b3d454a8 (commit)
via ea10198055067fa068a921336c79dac75a971e39 (commit)
from d1d265eed8b0b1748fe675068929e5c9a9329622 (commit)
https://github.com/xbmc/xbmc/commit/7f43434b7a4875fb026ef95e3d06053843c27e15
commit 7f43434b7a4875fb026ef95e3d06053843c27e15
Merge: d1d265e fc785d4
Author: Jonathan Marshall <jmarshall@...>
Date: Sun Aug 7 19:40:04 2011 +1200
Merge branch 'context_fixes'
* context_fixes:
reduce the contextmenu clutter in addon listings. Fixes #11442
add CFileItem/URIUtils::IsScript and refactor current conditions to use the function
https://github.com/xbmc/xbmc/commit/fc785d4129d1614837eb1d178515f397b3d454a8
commit fc785d4129d1614837eb1d178515f397b3d454a8
Author: Jonathan Marshall <jmarshall@...>
Date: Sun Aug 7 19:34:12 2011 +1200
reduce the contextmenu clutter in addon listings. Fixes #11442
diff --git a/xbmc/music/windows/GUIWindowMusicBase.cpp b/xbmc/music/windows/GUIWindowMusicBase.cpp
index d066054..d363a2d 100644
--- a/xbmc/music/windows/GUIWindowMusicBase.cpp
+++ b/xbmc/music/windows/GUIWindowMusicBase.cpp
@@ -880,7 +880,7 @@ void CGUIWindowMusicBase::GetContextButtons(int itemNumber, CContextButtons &but
{
buttons.Add(CONTEXT_BUTTON_LASTFM_UNBAN_ITEM, 15296); //unban
}
- else if (item->CanQueue())
+ else if (item->CanQueue() && !item->IsAddonsPath() && !item->IsScript())
{
buttons.Add(CONTEXT_BUTTON_QUEUE_ITEM, 13347); //queue
diff --git a/xbmc/music/windows/GUIWindowMusicNav.cpp b/xbmc/music/windows/GUIWindowMusicNav.cpp
index 4cb2562..4a14920 100644
--- a/xbmc/music/windows/GUIWindowMusicNav.cpp
+++ b/xbmc/music/windows/GUIWindowMusicNav.cpp
@@ -439,7 +439,7 @@ void CGUIWindowMusicNav::GetContextButtons(int itemNumber, CContextButtons &butt
else if (!inPlaylists && (dir.HasAlbumInfo(item->m_strPath)||
dir.IsArtistDir(item->m_strPath) ) &&
!dir.IsAllItem(item->m_strPath) && !item->IsParentFolder() &&
- !item->IsLastFM() &&
+ !item->IsLastFM() && !item->IsPlugin() && !item->IsScript() &&
!item->m_strPath.Left(14).Equals("musicsearch://"))
{
if (dir.IsArtistDir(item->m_strPath))
diff --git a/xbmc/video/windows/GUIWindowVideoNav.cpp b/xbmc/video/windows/GUIWindowVideoNav.cpp
index d497dc9..3a82313 100644
--- a/xbmc/video/windows/GUIWindowVideoNav.cpp
+++ b/xbmc/video/windows/GUIWindowVideoNav.cpp
@@ -968,7 +968,7 @@ void CGUIWindowVideoNav::GetContextButtons(int itemNumber, CContextButtons &butt
else
buttons.Add(CONTEXT_BUTTON_UPDATE_TVSHOW, 13349);
}
- if (!item->IsPlugin() && !item->IsLiveTV() && !item->IsAddonsPath() &&
+ if (!item->IsPlugin() && !item->IsScript() && !item->IsLiveTV() && !item->IsAddonsPath() &&
item->m_strPath != "sources://video/" && item->m_strPath != "special://videoplaylists/")
{
if (item->m_bIsFolder)
diff --git a/xbmc/windows/GUIMediaWindow.cpp b/xbmc/windows/GUIMediaWindow.cpp
index d652c21..9ba2705 100644
--- a/xbmc/windows/GUIMediaWindow.cpp
+++ b/xbmc/windows/GUIMediaWindow.cpp
@@ -1403,7 +1403,8 @@ void CGUIMediaWindow::GetContextButtons(int itemNumber, CContextButtons &buttons
return;
// TODO: FAVOURITES Conditions on masterlock and localisation
- if (!item->IsParentFolder() && !item->m_strPath.Equals("add") && !item->m_strPath.Equals("newplaylist://") && !item->m_strPath.Left(19).Equals("newsmartplaylist://"))
+ if (!item->IsParentFolder() && !item->m_strPath.Equals("add") && !item->m_strPath.Equals("newplaylist://") &&
+ !item->m_strPath.Left(19).Equals("newsmartplaylist://") && !item->IsAddonsPath())
{
if (CFavourites::IsFavourite(item.get(), GetID()))
buttons.Add(CONTEXT_BUTTON_ADD_FAVOURITE, 14077); // Remove Favourite
https://github.com/xbmc/xbmc/commit/ea10198055067fa068a921336c79dac75a971e39
commit ea10198055067fa068a921336c79dac75a971e39
Author: Jonathan Marshall <jmarshall@...>
Date: Sun Aug 7 19:32:44 2011 +1200
add CFileItem/URIUtils::IsScript and refactor current conditions to use the function
diff --git a/xbmc/Favourites.cpp b/xbmc/Favourites.cpp
index 1527812..ff94f58 100644
--- a/xbmc/Favourites.cpp
+++ b/xbmc/Favourites.cpp
@@ -173,7 +173,7 @@ CStdString CFavourites::GetExecutePath(const CFileItem *item, int contextWindow)
if (item->m_bIsFolder && (g_advancedSettings.m_playlistAsFolders ||
!(item->IsSmartPlayList() || item->IsPlayList())))
execute.Format("ActivateWindow(%i,%s)", contextWindow, Paramify(item->m_strPath));
- else if (item->m_strPath.Left(9).Equals("script://"))
+ else if (item->IsScript())
execute.Format("RunScript(%s)", Paramify(item->m_strPath.Mid(9)));
else if (contextWindow == WINDOW_PROGRAMS)
execute.Format("RunXBE(%s)", Paramify(item->m_strPath));
diff --git a/xbmc/FileItem.cpp b/xbmc/FileItem.cpp
index da7654d..eb5894d 100644
--- a/xbmc/FileItem.cpp
+++ b/xbmc/FileItem.cpp
@@ -736,6 +736,11 @@ bool CFileItem::IsPlugin() const
return URIUtils::IsPlugin(m_strPath);
}
+bool CFileItem::IsScript() const
+{
+ return URIUtils::IsScript(m_strPath);
+}
+
bool CFileItem::IsAddonsPath() const
{
return URIUtils::IsAddonsPath(m_strPath);
diff --git a/xbmc/FileItem.h b/xbmc/FileItem.h
index 7c2cadd..9a41058 100644
--- a/xbmc/FileItem.h
+++ b/xbmc/FileItem.h
@@ -99,6 +99,7 @@ public:
bool IsPythonScript() const;
bool IsXBE() const;
bool IsPlugin() const;
+ bool IsScript() const;
bool IsAddonsPath() const;
bool IsShortCut() const;
bool IsNFO() const;
diff --git a/xbmc/music/windows/GUIWindowMusicNav.cpp b/xbmc/music/windows/GUIWindowMusicNav.cpp
index e78c4a4..4cb2562 100644
--- a/xbmc/music/windows/GUIWindowMusicNav.cpp
+++ b/xbmc/music/windows/GUIWindowMusicNav.cpp
@@ -526,7 +526,7 @@ void CGUIWindowMusicNav::GetContextButtons(int itemNumber, CContextButtons &butt
&& (item->IsPlayList() || item->IsSmartPlayList()))
buttons.Add(CONTEXT_BUTTON_DELETE, 117);
- if (item->IsPlugin() || item->m_strPath.Left(9).Equals("script://") || m_vecItems->IsPlugin())
+ if (item->IsPlugin() || item->IsScript() || m_vecItems->IsPlugin())
buttons.Add(CONTEXT_BUTTON_PLUGIN_SETTINGS, 1045);
}
// noncontextual buttons
diff --git a/xbmc/music/windows/GUIWindowMusicSongs.cpp b/xbmc/music/windows/GUIWindowMusicSongs.cpp
index 492cf95..379e815 100644
--- a/xbmc/music/windows/GUIWindowMusicSongs.cpp
+++ b/xbmc/music/windows/GUIWindowMusicSongs.cpp
@@ -375,7 +375,7 @@ void CGUIWindowMusicSongs::GetContextButtons(int itemNumber, CContextButtons &bu
buttons.Add(CONTEXT_BUTTON_SCAN, 13352);
}
}
- if (item->IsPlugin() || item->m_strPath.Left(9).Equals("script://") || m_vecItems->IsPlugin())
+ if (item->IsPlugin() || item->IsScript() || m_vecItems->IsPlugin())
buttons.Add(CONTEXT_BUTTON_PLUGIN_SETTINGS, 1045);
}
if (!m_vecItems->IsVirtualDirectoryRoot())
diff --git a/xbmc/pictures/GUIWindowPictures.cpp b/xbmc/pictures/GUIWindowPictures.cpp
index 7ee0630..12d2e55 100644
--- a/xbmc/pictures/GUIWindowPictures.cpp
+++ b/xbmc/pictures/GUIWindowPictures.cpp
@@ -444,7 +444,7 @@ void CGUIWindowPictures::GetContextButtons(int itemNumber, CContextButtons &butt
}
}
- if (item->IsPlugin() || item->m_strPath.Left(9).Equals("script://") || m_vecItems->IsPlugin())
+ if (item->IsPlugin() || item->IsScript() || m_vecItems->IsPlugin())
buttons.Add(CONTEXT_BUTTON_PLUGIN_SETTINGS, 1045);
buttons.Add(CONTEXT_BUTTON_GOTO_ROOT, 20128);
diff --git a/xbmc/programs/GUIWindowPrograms.cpp b/xbmc/programs/GUIWindowPrograms.cpp
index 989c51c..6f33f49 100644
--- a/xbmc/programs/GUIWindowPrograms.cpp
+++ b/xbmc/programs/GUIWindowPrograms.cpp
@@ -150,7 +150,7 @@ void CGUIWindowPrograms::GetContextButtons(int itemNumber, CContextButtons &butt
}
}
- if (item->IsPlugin() || item->m_strPath.Left(9).Equals("script://") || m_vecItems->IsPlugin())
+ if (item->IsPlugin() || item->IsScript() || m_vecItems->IsPlugin())
buttons.Add(CONTEXT_BUTTON_PLUGIN_SETTINGS, 1045);
buttons.Add(CONTEXT_BUTTON_GOTO_ROOT, 20128); // Go to Root
diff --git a/xbmc/utils/URIUtils.cpp b/xbmc/utils/URIUtils.cpp
index 5b9e65c..47b3877 100644
--- a/xbmc/utils/URIUtils.cpp
+++ b/xbmc/utils/URIUtils.cpp
@@ -576,6 +576,12 @@ bool URIUtils::IsPlugin(const CStdString& strFile)
return url.GetProtocol().Equals("plugin");
}
+bool URIUtils::IsScript(const CStdString& strFile)
+{
+ CURL url(strFile);
+ return url.GetProtocol().Equals("script");
+}
+
bool URIUtils::IsAddonsPath(const CStdString& strFile)
{
CURL url(strFile);
diff --git a/xbmc/utils/URIUtils.h b/xbmc/utils/URIUtils.h
index 14475b1..9bc4a59 100644
--- a/xbmc/utils/URIUtils.h
+++ b/xbmc/utils/URIUtils.h
@@ -73,6 +73,7 @@ public:
static bool IsOnDVD(const CStdString& strFile);
static bool IsOnLAN(const CStdString& strFile);
static bool IsPlugin(const CStdString& strFile);
+ static bool IsScript(const CStdString& strFile);
static bool IsRAR(const CStdString& strFile);
static bool IsRemote(const CStdString& strFile);
static bool IsSmb(const CStdString& strFile);
diff --git a/xbmc/video/windows/GUIWindowVideoBase.cpp b/xbmc/video/windows/GUIWindowVideoBase.cpp
index a91256b..b697625 100644
--- a/xbmc/video/windows/GUIWindowVideoBase.cpp
+++ b/xbmc/video/windows/GUIWindowVideoBase.cpp
@@ -1075,7 +1075,7 @@ void CGUIWindowVideoBase::GetContextButtons(int itemNumber, CContextButtons &but
if (item->IsVideoDb() && item->HasVideoInfoTag())
path = item->GetVideoInfoTag()->m_strFileNameAndPath;
- if (!item->IsPlugin() && !item->IsAddonsPath() && !item->IsLiveTV())
+ if (!item->IsPlugin() && !item->IsScript() && !item->IsAddonsPath() && !item->IsLiveTV())
{
if (URIUtils::IsStack(path))
{
diff --git a/xbmc/video/windows/GUIWindowVideoNav.cpp b/xbmc/video/windows/GUIWindowVideoNav.cpp
index 54ac181..d497dc9 100644
--- a/xbmc/video/windows/GUIWindowVideoNav.cpp
+++ b/xbmc/video/windows/GUIWindowVideoNav.cpp
@@ -1063,7 +1063,7 @@ void CGUIWindowVideoNav::GetContextButtons(int itemNumber, CContextButtons &butt
}
}
}
- if (item->IsPlugin() || item->m_strPath.Left(9).Equals("script://") || m_vecItems->IsPlugin())
+ if (item->IsPlugin() || item->IsScript() || m_vecItems->IsPlugin())
buttons.Add(CONTEXT_BUTTON_PLUGIN_SETTINGS, 1045);
}
}
diff --git a/xbmc/windows/GUIMediaWindow.cpp b/xbmc/windows/GUIMediaWindow.cpp
index e141b23..d652c21 100644
--- a/xbmc/windows/GUIMediaWindow.cpp
+++ b/xbmc/windows/GUIMediaWindow.cpp
@@ -870,10 +870,10 @@ bool CGUIMediaWindow::OnClick(int iItem)
delete pFileDirectory;
}
- CURL url(pItem->m_strPath);
- if (url.GetProtocol() == "script")
+ if (pItem->IsScript())
{
// execute the script
+ CURL url(pItem->m_strPath);
AddonPtr addon;
if (CAddonMgr::Get().GetAddon(url.GetHostName(), addon))
{
-----------------------------------------------------------------------
Summary of changes:
xbmc/Favourites.cpp | 2 +-
xbmc/FileItem.cpp | 5 +++++
xbmc/FileItem.h | 1 +
xbmc/music/windows/GUIWindowMusicBase.cpp | 2 +-
xbmc/music/windows/GUIWindowMusicNav.cpp | 4 ++--
xbmc/music/windows/GUIWindowMusicSongs.cpp | 2 +-
xbmc/pictures/GUIWindowPictures.cpp | 2 +-
xbmc/programs/GUIWindowPrograms.cpp | 2 +-
xbmc/utils/URIUtils.cpp | 6 ++++++
xbmc/utils/URIUtils.h | 1 +
xbmc/video/windows/GUIWindowVideoBase.cpp | 2 +-
xbmc/video/windows/GUIWindowVideoNav.cpp | 4 ++--
xbmc/windows/GUIMediaWindow.cpp | 7 ++++---
13 files changed, 27 insertions(+), 13 deletions(-)
hooks/post-receive
--
[xbmc/xbmc]
|