|
From: <hap...@us...> - 2007-04-02 15:31:02
|
Revision: 278
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=278&view=rev
Author: happytalk
Date: 2007-04-02 08:30:59 -0700 (Mon, 02 Apr 2007)
Log Message:
-----------
Now also remembers position when displaying genres/years/search results etc.
Modified Paths:
--------------
trunk/plugins/MyFilms/MesFilms.cs
Modified: trunk/plugins/MyFilms/MesFilms.cs
===================================================================
--- trunk/plugins/MyFilms/MesFilms.cs 2007-04-02 14:22:48 UTC (rev 277)
+++ trunk/plugins/MyFilms/MesFilms.cs 2007-04-02 15:30:59 UTC (rev 278)
@@ -419,7 +419,7 @@
WStrSortSens = " ASC";
BtnSrtBy.IsAscending = true;
StrActors = keyboard.Text;
- getSelectFromDivx("Actors like '*" + keyboard.Text + "*'", WStrSort, WStrSortSens, keyboard.Text, "");
+ getSelectFromDivx("Actors like '*" + keyboard.Text + "*'", WStrSort, WStrSortSens, keyboard.Text, true, "");
}
else
return false;
@@ -473,7 +473,7 @@
if (!boolselect)
GetFilmList();
else
- getSelectFromDivx(StrTitle1.ToString() + " not like ''", StrSort, StrSortSens, "*", "");
+ getSelectFromDivx(StrTitle1.ToString() + " not like ''", StrSort, StrSortSens, "*", true, "");
return true;
}
if (iControl == (int)Controls.CTRL_BtnViewAs)
@@ -556,15 +556,15 @@
{
StrSelect = "Actors like '*" + StrActors + "*'";
StrTxtSelect = "Selection";
- getSelectFromDivx("Actors like '*" + StrActors + "*'", WStrSort, WStrSortSens, StrActors, "");
+ getSelectFromDivx("Actors like '*" + StrActors + "*'", WStrSort, WStrSortSens, StrActors, true, "");
}
else
{
SelItem = NewString.StripChars(@"[]", StrTxtSelect);
if (WStrSort == "DateAdded")
- getSelectFromDivx(StrTitle1.ToString() + " not like ''", "Date", " DESC", "*", SelItem);
+ getSelectFromDivx(StrTitle1.ToString() + " not like ''", "Date", " DESC", "*", true, SelItem);
else
- getSelectFromDivx(StrTitle1.ToString() + " not like ''", WStrSort, WStrSortSens, "*", SelItem);
+ getSelectFromDivx(StrTitle1.ToString() + " not like ''", WStrSort, WStrSortSens, "*", true, SelItem);
StrSelect = "";
}
}
@@ -872,7 +872,7 @@
if (!boolselect)
GetFilmList();
else
- getSelectFromDivx(StrTitle1.ToString() + " not like ''", WStrSort, StrSortSens, "*", "");
+ getSelectFromDivx(StrTitle1.ToString() + " not like ''", WStrSort, StrSortSens, "*", true, "");
return;
}
private void affich_overlay()
@@ -986,8 +986,9 @@
/// <param name="WStrSortSens">Asc/Desc. Ascending or descending sort order</param>
/// <param name="NewWstar">Entries must contain this string to be included</param>
/// <param name="p">Position in string to begin search/replacing from</param>
+ /// <param name="ClearIndex">Reset Selected Item Index</param>
/// <param name="SelItem">Select entry matching this string if not empty</param>
- private void getSelectFromDivx(string WstrSelect, string WStrSort, string WStrSortSens, string NewWstar, string SelItem)
+ private void getSelectFromDivx(string WstrSelect, string WStrSort, string WStrSortSens, string NewWstar, bool ClearIndex, string SelItem)
{
GUIListItem item = new GUIListItem();
string champselect = "";
@@ -1002,7 +1003,7 @@
BtnSrtBy.Label = GUILocalizeStrings.Get(103);
boolselect = true;
boolreturn = true;
- l_index = 0;
+ if (ClearIndex) l_index = 0;
lsCtlFilm.Clear();
foreach (DataRow enr in LectureDonn\xE9es(WstrSelect, WStrSort, WStrSortSens))
@@ -1045,7 +1046,7 @@
item.Label = champselect.ToString();
item.Label2 = Wnb_enr.ToString();
lsCtlFilm.Add(item);
- if (item.Label == SelItem) l_index = lsCtlFilm.Count - 1; //test if this item is one to select
+ if (SelItem != "" && item.Label == SelItem) l_index = lsCtlFilm.Count - 1; //test if this item is one to select
}
else
Wnb_enr = 0;
@@ -1059,6 +1060,9 @@
StrSelect = WstrSelect;
StrFilmSelect = "";
+ if ((l_index > lsCtlFilm.Count - 1) || (l_index < 0)) //check index within bounds, will be unless xml file heavily edited
+ l_index = 0;
+
GUIControl.SelectItemControl(GetID, (int)Controls.CTRL_List, (int)l_index);
GUIPropertyManager.SetProperty("#nbobjects", lsCtlFilm.Count.ToString() + " " + GUILocalizeStrings.Get(127));
}
@@ -1090,7 +1094,7 @@
xmlwriter.SetValue(CurrentConfig, "CurrentSortMethod", CurrentSortMethod.ToString());
xmlwriter.SetValue(CurrentConfig, "StrSortSens", StrSortSens.ToString());
xmlwriter.SetValue(CurrentConfig, "Selection", StrTxtSelect);
- xmlwriter.SetValue(CurrentConfig, "IndexItem", (lsCtlFilm.SelectedListItemIndex > -1) ? lsCtlFilm.SelectedListItem.ItemId.ToString() : "-1"); //may need to check if there is no item selected and so save -1
+ xmlwriter.SetValue(CurrentConfig, "IndexItem", (lsCtlFilm.SelectedListItemIndex > -1) ? ((boolselect) ? lsCtlFilm.SelectedListItemIndex.ToString() : lsCtlFilm.SelectedListItem.ItemId.ToString()) : "-1"); //may need to check if there is no item selected and so save -1
xmlwriter.SetValueAsBool(CurrentConfig, "boolselect", boolselect);
xmlwriter.SetValue(CurrentConfig, "WStrSort", WStrSort);
xmlwriter.SetValue(CurrentConfig, "Wstar", Wstar);
@@ -1252,12 +1256,12 @@
// TxtSelect.HorizontalAlignment = MediaPortal.Drawing.HorizontalAlignment.Right;
BtnSrtBy.SortChanged += new SortEventHandler(SortChanged);
if (boolselect)
- getSelectFromDivx(StrSelect, WStrSort, " ASC", Wstar, "");
+ getSelectFromDivx(StrSelect, WStrSort, " ASC", Wstar, false, ""); // preserve index from last time
else
if (!(LoadDfltSlct))
GetFilmList(l_index);
else
- {
+ {
if ((StrViewDfltItem.Length == 0) || (StrViewDfltItem == "(none)"))
{
StrSelect = StrTitle1.ToString() + " not like ''";
@@ -1333,7 +1337,7 @@
WStrSortSens = " DESC";
BtnSrtBy.IsAscending = false;
boolreturn = true;
- getSelectFromDivx(StrTitle1.ToString() + " not like ''", WStrSort, WStrSortSens, "*", "");
+ getSelectFromDivx(StrTitle1.ToString() + " not like ''", WStrSort, WStrSortSens, "*", true, "");
return;
}
if (choice_view == "Category")
@@ -1342,7 +1346,7 @@
WStrSort = "CATEGORY";
WStrSortSens = " ASC";
BtnSrtBy.IsAscending = true;
- getSelectFromDivx(StrTitle1.ToString() + " not like ''", WStrSort, WStrSortSens, "*", "");
+ getSelectFromDivx(StrTitle1.ToString() + " not like ''", WStrSort, WStrSortSens, "*", true, "");
return;
}
if (choice_view == "Country")
@@ -1351,7 +1355,7 @@
WStrSort = "COUNTRY";
WStrSortSens = " ASC";
BtnSrtBy.IsAscending = true;
- getSelectFromDivx(StrTitle1.ToString() + " not like ''", WStrSort, WStrSortSens, "*", "");
+ getSelectFromDivx(StrTitle1.ToString() + " not like ''", WStrSort, WStrSortSens, "*", true, "");
return;
}
if (choice_view == "Storage")
@@ -1377,9 +1381,9 @@
WStrSortSens = " ASC";
BtnSrtBy.IsAscending = true;
if (WStrSort == "DateAdded")
- getSelectFromDivx(StrTitle1.ToString() + " not like ''", "Date", " DESC", "*", "");
+ getSelectFromDivx(StrTitle1.ToString() + " not like ''", "Date", " DESC", "*", true, "");
else
- getSelectFromDivx(StrTitle1.ToString() + " not like ''", WStrSort, WStrSortSens, "*", "");
+ getSelectFromDivx(StrTitle1.ToString() + " not like ''", WStrSort, WStrSortSens, "*", true, "");
return;
}
if (choice_view == "View2")
@@ -1389,9 +1393,9 @@
WStrSortSens = " ASC";
BtnSrtBy.IsAscending = true;
if (WStrSort == "DateAdded")
- getSelectFromDivx(StrTitle1.ToString() + " not like ''", "Date", " DESC", "*", "");
+ getSelectFromDivx(StrTitle1.ToString() + " not like ''", "Date", " DESC", "*", true, "");
else
- getSelectFromDivx(StrTitle1.ToString() + " not like ''", WStrSort, WStrSortSens, "*", "");
+ getSelectFromDivx(StrTitle1.ToString() + " not like ''", WStrSort, WStrSortSens, "*", true, "");
return;
}
if (choice_view == "Config")
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|