Revision: 4778
http://sourceforge.net/p/mp-plugins/code/4778
Author: doskabouter
Date: 2014-04-01 20:13:04 +0000 (Tue, 01 Apr 2014)
Log Message:
-----------
Remember currently selected bookmark-item
Modified Paths:
--------------
trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/GUIBookmark.cs
Modified: trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/GUIBookmark.cs
===================================================================
--- trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/GUIBookmark.cs 2014-04-01 20:04:56 UTC (rev 4777)
+++ trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/GUIBookmark.cs 2014-04-01 20:13:04 UTC (rev 4778)
@@ -43,6 +43,9 @@
[SkinControlAttribute(3)]
protected GUISortButtonControl btnSortBy = null;
+ BookmarkFolder currentList;
+ BookmarkBase selectedBookmark;
+
public const int BookmarkWindowId = 54537688;
public override int GetID
@@ -62,16 +65,29 @@
MyLog.debug("Init Browse the web bookmarks");
bool result = Load(GUIGraphicsContext.Skin + @"\BrowseTheWebBook.xml");
Bookmarks.Instance.LoadFromXml(Config.GetFolder(MediaPortal.Configuration.Config.Dir.Config) + "\\bookmarks.xml");
+ currentList = Bookmarks.Instance.root;
+ selectedBookmark = null;
return result;
}
protected override void OnPageLoad()
{
- LoadFacade(null);
+ LoadFacade();
Bookmark.InitCachePath();
base.OnPageLoad();
}
+
+ protected override void OnPageDestroy(int newWindowId)
+ {
+ BtwebGuiListItem item = facade.SelectedListItem as BtwebGuiListItem;
+ if (item != null)
+ {
+ selectedBookmark = item.bookmark;
+ }
+ base.OnPageDestroy(newWindowId);
+ }
+
protected override void OnClicked(int controlId, GUIControl control, MediaPortal.GUI.Library.Action.ActionType actionType)
{
if (actionType == MediaPortal.GUI.Library.Action.ActionType.ACTION_SELECT_ITEM)
@@ -81,10 +97,16 @@
{
if (item.IsFolder)
{
- LoadFacade((BookmarkFolder)item.bookmark);
+ if (item.Path == "..")
+ {
+ selectedBookmark = currentList;
+ }
+ currentList = (BookmarkFolder)item.bookmark;
+ LoadFacade();
}
else
{
+ selectedBookmark = item.bookmark;
GUIPlugin.StartupLink = item.Path;
if (GUIWindowManager.GetPreviousActiveWindow() == GUIPlugin.PluginWindowId)
GUIWindowManager.ShowPreviousWindow();
@@ -92,6 +114,7 @@
GUIWindowManager.ActivateWindow(GUIPlugin.PluginWindowId);
}
}
+
}
if (control == btnViewAs)
@@ -118,14 +141,15 @@
}
}
- public void LoadFacade(BookmarkFolder parent)
+ public void LoadFacade()
{
+ BookmarkFolder bmf = currentList;
facade.CurrentLayout = Settings.Instance.View;
facade.Clear();
- if (parent != null)
+ if (bmf.Parent != null)
{
BtwebGuiListItem item = new BtwebGuiListItem();
- item.bookmark = parent.Parent;
+ item.bookmark = bmf.Parent;
item.IsFolder = true;
item.Label = "..";
item.Path = "..";
@@ -134,7 +158,7 @@
facade.Add(item);
}
- BookmarkFolder bmf = parent == null ? Bookmarks.Instance.root : parent;
+ facade.SelectedListItemIndex = 0;
foreach (BookmarkBase bookmark in bmf.Items)
{
@@ -157,9 +181,11 @@
}
facade.Add(item);
+ if (bookmark == selectedBookmark)
+ facade.SelectedListItemIndex = facade.Count - 1;
}
+
GUIPropertyManager.SetProperty("#itemcount", facade.Count.ToString());
- facade.SelectedListItemIndex = 0;
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|