You can subscribe to this list here.
| 2007 |
Jan
(36) |
Feb
(79) |
Mar
(123) |
Apr
(95) |
May
(119) |
Jun
(172) |
Jul
(124) |
Aug
(100) |
Sep
(83) |
Oct
(52) |
Nov
(97) |
Dec
(87) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2008 |
Jan
(131) |
Feb
(80) |
Mar
(163) |
Apr
(178) |
May
(73) |
Jun
(54) |
Jul
(106) |
Aug
(118) |
Sep
(50) |
Oct
(125) |
Nov
(100) |
Dec
(99) |
| 2009 |
Jan
(104) |
Feb
(99) |
Mar
(68) |
Apr
(81) |
May
(52) |
Jun
(87) |
Jul
(67) |
Aug
(33) |
Sep
(27) |
Oct
(37) |
Nov
(60) |
Dec
(116) |
| 2010 |
Jan
(82) |
Feb
(79) |
Mar
(38) |
Apr
(50) |
May
(45) |
Jun
(53) |
Jul
(23) |
Aug
(86) |
Sep
(22) |
Oct
(96) |
Nov
(97) |
Dec
(73) |
| 2011 |
Jan
(24) |
Feb
(45) |
Mar
(28) |
Apr
(31) |
May
(42) |
Jun
(25) |
Jul
|
Aug
(12) |
Sep
(28) |
Oct
(13) |
Nov
(43) |
Dec
(13) |
| 2012 |
Jan
(62) |
Feb
(28) |
Mar
(6) |
Apr
(16) |
May
(7) |
Jun
|
Jul
(16) |
Aug
(2) |
Sep
(1) |
Oct
(4) |
Nov
(1) |
Dec
(3) |
| 2013 |
Jan
(5) |
Feb
|
Mar
(34) |
Apr
(9) |
May
(6) |
Jun
(10) |
Jul
(32) |
Aug
(8) |
Sep
(11) |
Oct
(35) |
Nov
(24) |
Dec
(22) |
| 2014 |
Jan
(44) |
Feb
(9) |
Mar
(9) |
Apr
(15) |
May
(25) |
Jun
(34) |
Jul
(16) |
Aug
(11) |
Sep
(7) |
Oct
(6) |
Nov
(1) |
Dec
(12) |
| 2015 |
Jan
(33) |
Feb
(19) |
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(5) |
|
From: <che...@us...> - 2007-04-08 17:34:46
|
Revision: 297
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=297&view=rev
Author: chef_koch
Date: 2007-04-08 10:34:44 -0700 (Sun, 08 Apr 2007)
Log Message:
-----------
import phonebook from FRITZ!Box Monitor is now possible
Modified Paths:
--------------
trunk/plugins/FritzBox/Caller.cs
trunk/plugins/FritzBox/FritzBox.cs
trunk/plugins/FritzBox/FritzBoxSetupFrom.cs
trunk/plugins/FritzBox/FritzBoxSetupFrom.resx
Modified: trunk/plugins/FritzBox/Caller.cs
===================================================================
--- trunk/plugins/FritzBox/Caller.cs 2007-04-08 11:07:48 UTC (rev 296)
+++ trunk/plugins/FritzBox/Caller.cs 2007-04-08 17:34:44 UTC (rev 297)
@@ -31,17 +31,59 @@
{
public class Caller
{
+ string _id;
+ string _name;
+ bool _show;
- public readonly string callerId;
- public readonly string name;
- public readonly bool show;
-
- public Caller(string CallerId, string Name, bool Show)
+ public Caller()
{
- this.callerId = CallerId;
- this.name = Name;
- this.show = Show;
+ this._id = "";
+ this._name = "";
+ this._show = false;
}
+ public Caller(string id, string name, bool show)
+ {
+ this._id = id;
+ this._name = name;
+ this._show = show;
+ }
+
+ public string ID
+ {
+ get
+ {
+ return _id;
+ }
+ set
+ {
+ _id = value;
+ }
+ }
+
+ public string Name
+ {
+ get
+ {
+ return _name;
+ }
+ set
+ {
+ _name = value;
+ }
+ }
+
+ public bool Show
+ {
+ get
+ {
+ return _show;
+ }
+ set
+ {
+ _show = value;
+ }
+ }
+
}
}
Modified: trunk/plugins/FritzBox/FritzBox.cs
===================================================================
--- trunk/plugins/FritzBox/FritzBox.cs 2007-04-08 11:07:48 UTC (rev 296)
+++ trunk/plugins/FritzBox/FritzBox.cs 2007-04-08 17:34:44 UTC (rev 297)
@@ -56,8 +56,6 @@
private bool _fritzBoxDisabled = false;
- public List<Caller> phonebook = new List<Caller>();
-
// notify settings
private int _timeout = -1; // autoclose the dialog after the timeout expired
private bool _closeOnTimeout = false;
@@ -84,6 +82,8 @@
public static bool _showUnknownCaller = true;
public static bool _saveUnknownCaller = true;
+ public static List<Caller> phonebook = new List<Caller>();
+
#endregion
FritzBoxWatch FritzBoxWatch;
@@ -155,38 +155,74 @@
Log.Info("FRITZ!Box: saveUnknownCaller = {0}", _saveUnknownCaller.ToString());
}
}
+
+ LoadPhonebook();
+ }
+ private void SaveSettings()
+ {
+ if (_extensiveLogging)
+ Log.Info("FRITZ!Box: SaveSettings");
+
+ using (MediaPortal.Profile.Settings xmlwriter = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "MediaPortal.xml")))
+ {
+ xmlwriter.SetValue("fritzbox", "lastVersion", _version.Replace(".", string.Empty));
+ }
+
+ SavePhonebook();
+ }
+ #endregion
+
+ #region Phonebook
+ public static void LoadPhonebook()
+ {
if ((_lastVersion < 0220) && (!File.Exists(Config.GetFile(Config.Dir.Config, "fritzbox.xml"))))
+ {
UpdateTo0220();
- else
- using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "fritzbox.xml")))
+ return;
+ }
+
+ using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "fritzbox.xml")))
+ {
+ int countCaller = xmlreader.GetValueAsInt("phonebook", "count", 0);
+
+ for (int i = 0; i < countCaller; i++)
{
- int countCaller = xmlreader.GetValueAsInt("phonebook", "count", 0);
+ Caller caller = new Caller();
- for (int i = 0; i < countCaller; i++)
- {
- string strCallerId = xmlreader.GetValueAsString("phonebook", string.Format("callerID{0}", i.ToString()), "");
- string strName = xmlreader.GetValueAsString("phonebook", string.Format("name{0}", i.ToString()), "");
- bool bShow = xmlreader.GetValueAsBool("phonebook", string.Format("show{0}", i.ToString()), false);
+ caller.ID = xmlreader.GetValueAsString("phonebook", string.Format("callerID{0}", i.ToString()), "");
+ caller.Name = xmlreader.GetValueAsString("phonebook", string.Format("name{0}", i.ToString()), "");
+ caller.Show = xmlreader.GetValueAsBool("phonebook", string.Format("show{0}", i.ToString()), false);
- if (strCallerId == "") continue;
- if (strCallerId == null) continue;
- if (strName == "") continue;
- if (strName == null) continue;
+ phonebook.Add(caller);
- Caller caller = new Caller(strCallerId, strName, bShow);
- phonebook.Add(caller);
-
- if (_extensiveLogging)
- Log.Debug("FRITZ!Box: caller loaded: {0} {1} {2}", caller.callerId, caller.name, caller.show);
- }
+ if (_extensiveLogging)
+ Log.Debug("FRITZ!Box: caller loaded: {0} {1} {2}", caller.ID, caller.Name, caller.Show);
}
+ }
if (_extensiveLogging)
Log.Debug("FRITZ!Box: imported {0} callers", phonebook.Count.ToString());
}
- private void UpdateTo0220()
+ public static void SavePhonebook()
{
+ using (MediaPortal.Profile.Settings xmlwriter = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "fritzbox.xml")))
+ {
+ xmlwriter.SetValue("phonebook", "count", phonebook.Count);
+
+ for (int i = 0; i < phonebook.Count; i++)
+ {
+ Caller caller = phonebook[i];
+
+ xmlwriter.SetValue("phonebook", string.Format("callerID{0}", i.ToString()), caller.ID);
+ xmlwriter.SetValue("phonebook", string.Format("name{0}", i.ToString()), caller.Name);
+ xmlwriter.SetValueAsBool("phonebook", string.Format("show{0}", i.ToString()), caller.Show);
+ }
+ }
+ }
+
+ public static void UpdateTo0220()
+ {
char[] charSeparators = new char[] { ';' };
using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "MediaPortal.xml")))
@@ -194,46 +230,62 @@
string[] strLCallerId = xmlreader.GetValueAsString("fritzbox", "phonebookCallerId", "").Split(charSeparators, StringSplitOptions.RemoveEmptyEntries);
string[] strLName = xmlreader.GetValueAsString("fritzbox", "phonebookName", "").Split(charSeparators, StringSplitOptions.RemoveEmptyEntries);
string[] strLShow = xmlreader.GetValueAsString("fritzbox", "phonebookShow", "").Split(charSeparators, StringSplitOptions.RemoveEmptyEntries);
-
+
for (int i = 0; i <= strLCallerId.GetUpperBound(0); i++)
{
Caller caller = new Caller(strLCallerId[i], strLName[i], bool.Parse(strLShow[i]));
phonebook.Add(caller);
if (_extensiveLogging)
- Log.Debug("FRITZ!Box: caller loaded: {0} {1} {2}", caller.callerId, caller.name, caller.show);
+ Log.Debug("FRITZ!Box: caller loaded: {0} {1} {2}", caller.ID, caller.Name, caller.Show);
}
}
}
- private void SaveSettings()
+ public static void ImportFritzBoxMonitor(string filepath)
{
- if (_extensiveLogging)
- Log.Info("FRITZ!Box: SaveSettings");
-
- using (MediaPortal.Profile.Settings xmlwriter = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "MediaPortal.xml")))
+ try
{
- xmlwriter.SetValue("fritzbox", "lastVersion", _version.Replace(".", string.Empty));
- }
+ // Create an instance of StreamReader to read from a file.
+ // The using statement also closes the StreamReader.
+ using (StreamReader sr = new StreamReader(filepath))
+ {
+ string line;
+ // Read and display lines from the file until the end of
+ // the file is reached.
+ while ((line = sr.ReadLine()) != null)
+ {
+ string[] ar = line.Split(char.Parse(";"));
- using (MediaPortal.Profile.Settings xmlwriter = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "fritzbox.xml")))
- {
- xmlwriter.SetValue("phonebook", "count", phonebook.Count);
+ Caller caller = new Caller();
- for (int i = 0; i < phonebook.Count; i++)
- {
- Caller caller = phonebook[i];
+ caller.ID = ar[2];
+ caller.Name = String.Format("{0} {1}", ar[0], ar[1]);
+ caller.Show = true;
- xmlwriter.SetValue("phonebook", string.Format("callerID{0}", i.ToString()), caller.callerId);
- xmlwriter.SetValue("phonebook", string.Format("name{0}", i.ToString()), caller.name);
- xmlwriter.SetValueAsBool("phonebook", string.Format("show{0}", i.ToString()), caller.show);
+ if (!CallerExists(caller))
+ phonebook.Add(caller);
+ }
}
}
+ catch (Exception e)
+ {
+ // Let the user know what went wrong.
+ Log.Error("The file could not be read: {0}", e.Message);
+ }
}
+
+ public static bool CallerExists(Caller caller)
+ {
+ for (int i = 0; i < phonebook.Count; i++)
+ {
+ if (phonebook[i].ID == caller.ID)
+ return true;
+ }
+ return false;
+ }
#endregion
-
-
public bool IsFritzBoxConnected(string fritzBoxAddress, string fritzBoxPort)
{
TcpClient TcpClient;
@@ -334,16 +386,16 @@
{
Caller caller = phonebook[i];
- if (caller.callerId.Equals(callerId))
+ if (caller.ID.Equals(callerId))
{
- Log.Info("Caller is identified by phonebook as {0}.", caller.name);
+ Log.Info("Caller is identified by phonebook as {0}.", caller.Name);
foundCaller = true;
- if (caller.show)
+ if (caller.Show)
{
Log.Info("Caller is accepted by phonebook and dialog will be shown.");
- DialogOnIncomingCall(caller.name, msn);
+ DialogOnIncomingCall(caller.Name, msn);
}
else
{
Modified: trunk/plugins/FritzBox/FritzBoxSetupFrom.cs
===================================================================
--- trunk/plugins/FritzBox/FritzBoxSetupFrom.cs 2007-04-08 11:07:48 UTC (rev 296)
+++ trunk/plugins/FritzBox/FritzBoxSetupFrom.cs 2007-04-08 17:34:44 UTC (rev 297)
@@ -86,6 +86,8 @@
private MediaPortal.UserInterface.Controls.MPComboBox comboBoxMSNs;
private MediaPortal.UserInterface.Controls.MPCheckBox checkBoxShowMsnOnHeading;
private PictureBox pictureBox1;
+ private MediaPortal.UserInterface.Controls.MPButton mpImportFBMonitor;
+ private OpenFileDialog openFileDialog;
/// <summary>
/// Erforderliche Designervariable.
@@ -133,6 +135,7 @@
this.tabGeneral = new System.Windows.Forms.TabPage();
this.checkBoxExtensiveLogging = new MediaPortal.UserInterface.Controls.MPCheckBox();
this.mpGroupBox1 = new MediaPortal.UserInterface.Controls.MPGroupBox();
+ this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.buttonTest = new MediaPortal.UserInterface.Controls.MPButton();
this.textBoxPort = new MediaPortal.UserInterface.Controls.MPTextBox();
this.textBoxAddress = new MediaPortal.UserInterface.Controls.MPTextBox();
@@ -171,10 +174,12 @@
this.buttonCancel = new MediaPortal.UserInterface.Controls.MPButton();
this.buttonSave = new MediaPortal.UserInterface.Controls.MPButton();
this.labelVersion = new MediaPortal.UserInterface.Controls.MPLabel();
- this.pictureBox1 = new System.Windows.Forms.PictureBox();
+ this.mpImportFBMonitor = new MediaPortal.UserInterface.Controls.MPButton();
+ this.openFileDialog = new System.Windows.Forms.OpenFileDialog();
this.tabControlFritzBoxSettings.SuspendLayout();
this.tabGeneral.SuspendLayout();
this.mpGroupBox1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.tabIncoming.SuspendLayout();
this.groupBoxPhonebook.SuspendLayout();
this.groupBoxNotify.SuspendLayout();
@@ -183,7 +188,6 @@
this.tabPhonebook.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxCaller)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dataGridView)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.SuspendLayout();
//
// tabControlFritzBoxSettings
@@ -242,6 +246,16 @@
this.mpGroupBox1.TabStop = false;
this.mpGroupBox1.Text = "connection";
//
+ // pictureBox1
+ //
+ this.pictureBox1.Image = global::FritzBox.Properties.Resources.FritzBoxIconTransparent;
+ this.pictureBox1.Location = new System.Drawing.Point(6, 20);
+ this.pictureBox1.Name = "pictureBox1";
+ this.pictureBox1.Size = new System.Drawing.Size(97, 99);
+ this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
+ this.pictureBox1.TabIndex = 2;
+ this.pictureBox1.TabStop = false;
+ //
// buttonTest
//
this.buttonTest.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
@@ -318,6 +332,7 @@
//
this.groupBoxPhonebook.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
+ this.groupBoxPhonebook.Controls.Add(this.mpImportFBMonitor);
this.groupBoxPhonebook.Controls.Add(this.checkBoxSaveUnknownCaller);
this.groupBoxPhonebook.Controls.Add(this.checkBoxShowUnknownCaller);
this.groupBoxPhonebook.Controls.Add(this.checkBoxUsePhonebook);
@@ -685,15 +700,16 @@
this.labelVersion.TabIndex = 13;
this.labelVersion.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
- // pictureBox1
+ // mpImportFBMonitor
//
- this.pictureBox1.Image = global::FritzBox.Properties.Resources.FritzBoxIconTransparent;
- this.pictureBox1.Location = new System.Drawing.Point(6, 20);
- this.pictureBox1.Name = "pictureBox1";
- this.pictureBox1.Size = new System.Drawing.Size(97, 99);
- this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
- this.pictureBox1.TabIndex = 2;
- this.pictureBox1.TabStop = false;
+ this.mpImportFBMonitor.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.mpImportFBMonitor.Location = new System.Drawing.Point(355, 20);
+ this.mpImportFBMonitor.Name = "mpImportFBMonitor";
+ this.mpImportFBMonitor.Size = new System.Drawing.Size(150, 23);
+ this.mpImportFBMonitor.TabIndex = 3;
+ this.mpImportFBMonitor.Text = "Import FRITZ!Box Monitor";
+ this.mpImportFBMonitor.UseVisualStyleBackColor = true;
+ this.mpImportFBMonitor.Click += new System.EventHandler(this.mpImportFBMonitor_Click);
//
// FritzBoxSetupForm
//
@@ -715,6 +731,7 @@
this.tabGeneral.PerformLayout();
this.mpGroupBox1.ResumeLayout(false);
this.mpGroupBox1.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.tabIncoming.ResumeLayout(false);
this.groupBoxPhonebook.ResumeLayout(false);
this.groupBoxPhonebook.PerformLayout();
@@ -727,7 +744,6 @@
this.tabPhonebook.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxCaller)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dataGridView)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.ResumeLayout(false);
}
@@ -778,50 +794,11 @@
checkBoxShowUnknownCaller.Enabled = checkBoxUsePhonebook.Checked;
checkBoxSaveUnknownCaller.Enabled = checkBoxUsePhonebook.Checked;
}
-
- if ((FritzBox._lastVersion < 0220) && (!File.Exists(Config.GetFile(Config.Dir.Config, "fritzbox.xml"))))
- UpdateTo0220();
- else
- using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "fritzbox.xml")))
- {
- int countCaller = xmlreader.GetValueAsInt("phonebook", "count", 0);
-
- for (int i = 0; i < countCaller; i++)
- {
- string strCallerId = xmlreader.GetValueAsString("phonebook", string.Format("callerID{0}", i.ToString()), "");
- string strName = xmlreader.GetValueAsString("phonebook", string.Format("name{0}", i.ToString()), "");
- bool bShow = xmlreader.GetValueAsBool("phonebook", string.Format("show{0}", i.ToString()), false);
-
- if (strCallerId == "") continue;
- if (strCallerId == null) continue;
- if (strName == "") continue;
- if (strName == null) continue;
-
- dataGridView.Rows.Add(strCallerId, strName, bShow);
- }
- }
+
+ FritzBox.LoadPhonebook();
+ RefreshDataGridView();
}
- private void UpdateTo0220()
- {
- using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "MediaPortal.xml")))
- {
- string strCallerId = xmlreader.GetValueAsString("fritzbox", "phonebookCallerId", "");
- string strName = xmlreader.GetValueAsString("fritzbox", "phonebookName", "");
- string strShow = xmlreader.GetValueAsString("fritzbox", "phonebookShow", "");
-
- if (strCallerId != "")
- {
- string[] strListCallerId = strCallerId.Split(';');
- string[] strListName = strName.Split(';');
- string[] strListShow = strShow.Split(';');
-
- for (int i = 0; i < strListCallerId.GetUpperBound(0); i++)
- dataGridView.Rows.Add(strListCallerId[i], strListName[i], bool.Parse(strListShow[i]));
- }
- }
- }
-
private void SaveSettings()
{
Log.Info("FRITZ!Box: SaveSettings");
@@ -858,21 +835,8 @@
xmlwriter.SetValueAsBool("fritzbox", "saveUnknownCaller", checkBoxSaveUnknownCaller.Checked);
}
- using (MediaPortal.Profile.Settings xmlwriter = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "fritzbox.xml")))
- {
- xmlwriter.SetValue("phonebook", "count", dataGridView.RowCount - 1);
-
- for (int i = 0; i < dataGridView.RowCount - 1; i++)
- {
- string strCallerId = dataGridView.Rows[i].Cells[0].Value.ToString();
- string strName = dataGridView.Rows[i].Cells[1].Value.ToString();
- bool strShow = bool.Parse(dataGridView.Rows[i].Cells[2].Value.ToString());
-
- xmlwriter.SetValue("phonebook", string.Format("callerID{0}", i.ToString()), strCallerId);
- xmlwriter.SetValue("phonebook", string.Format("name{0}", i.ToString()), strName);
- xmlwriter.SetValueAsBool("phonebook", string.Format("show{0}", i.ToString()), strShow);
- }
- }
+ SaveDataGridView();
+ FritzBox.SavePhonebook();
}
private void buttonSave_Click(object sender, EventArgs e)
@@ -1020,13 +984,6 @@
MessageBox.Show("CallerID is empty. Please type in the correct CallerID.");
return false;
}
-
- if (textBoxCallerId.Text.Contains(";"))
- {
- textBoxCallerId.Focus();
- MessageBox.Show("CallerID: A ';' ist not allowed.");
- return false;
- }
if (dataGridView.Rows[dataGridView.NewRowIndex].Selected)
for (int i = 0; i < dataGridView.Rows.Count - 1; i++)
@@ -1049,13 +1006,6 @@
return false;
}
- if (textBoxCallerName.Text.Contains(";"))
- {
- textBoxCallerName.Focus();
- MessageBox.Show("Name: A ';' ist not allowed.");
- return false;
- }
-
return true;
}
@@ -1086,5 +1036,40 @@
pictureBoxCaller.ImageLocation = MediaPortal.Util.Utils.GetCoverArt(Thumbs.Yac, textBoxCallerName.Text);
}
}
+
+ private void mpImportFBMonitor_Click(object sender, EventArgs e)
+ {
+ if (openFileDialog.ShowDialog() == DialogResult.OK)
+ {
+ FritzBox.ImportFritzBoxMonitor(openFileDialog.FileName);
+ RefreshDataGridView();
+ }
+ }
+
+ private void RefreshDataGridView()
+ {
+ dataGridView.Rows.Clear();
+
+ for (int i = 0; i < FritzBox.phonebook.Count; i++)
+ {
+ dataGridView.Rows.Add(FritzBox.phonebook[i].ID, FritzBox.phonebook[i].Name, FritzBox.phonebook[i].Show);
+ }
+ }
+
+ private void SaveDataGridView()
+ {
+ FritzBox.phonebook.Clear();
+
+ for (int i = 0; i < dataGridView.RowCount - 1; i++)
+ {
+ Caller caller = new Caller();
+
+ caller.ID = dataGridView.Rows[i].Cells[0].Value.ToString();
+ caller.Name = dataGridView.Rows[i].Cells[1].Value.ToString();
+ caller.Show = bool.Parse(dataGridView.Rows[i].Cells[2].Value.ToString());
+
+ FritzBox.phonebook.Add(caller);
+ }
+ }
}
}
\ No newline at end of file
Modified: trunk/plugins/FritzBox/FritzBoxSetupFrom.resx
===================================================================
--- trunk/plugins/FritzBox/FritzBoxSetupFrom.resx 2007-04-08 11:07:48 UTC (rev 296)
+++ trunk/plugins/FritzBox/FritzBoxSetupFrom.resx 2007-04-08 17:34:44 UTC (rev 297)
@@ -126,6 +126,9 @@
<metadata name="colShow.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
+ <metadata name="openFileDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <che...@us...> - 2007-04-08 11:08:00
|
Revision: 296
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=296&view=rev
Author: chef_koch
Date: 2007-04-08 04:07:48 -0700 (Sun, 08 Apr 2007)
Log Message:
-----------
phonebook entries are now saved in own fritzbox.xml
Modified Paths:
--------------
trunk/plugins/FritzBox/FritzBox.cs
trunk/plugins/FritzBox/FritzBoxSetupFrom.cs
Modified: trunk/plugins/FritzBox/FritzBox.cs
===================================================================
--- trunk/plugins/FritzBox/FritzBox.cs 2007-04-07 14:39:22 UTC (rev 295)
+++ trunk/plugins/FritzBox/FritzBox.cs 2007-04-08 11:07:48 UTC (rev 296)
@@ -74,8 +74,9 @@
#endregion
#region public Variables
-
- public const string _version = "0.2f";
+
+ public const string _version = "0.2.2.0";
+ public static int _lastVersion = 0;
public static bool _extensiveLogging = false;
// phonebook settings
@@ -108,6 +109,8 @@
using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "MediaPortal.xml")))
{
+ _lastVersion = xmlreader.GetValueAsInt("fritzbox", "lastVersion", 0);
+
_extensiveLogging = xmlreader.GetValueAsBool("fritzbox", "extensiveLogging", false);
FritzBoxWatch.fritzBoxAddress = xmlreader.GetValueAsString("fritzbox", "address", "fritz.box");
@@ -117,7 +120,7 @@
_closeOnTimeout = xmlreader.GetValueAsBool("fritzbox", "closeOnTimeout", false);
_timeout = xmlreader.GetValueAsInt("fritzbox", "timeout", 10);
- if ( (!_closeOnTimeout) || (_timeout == 0) )
+ if ((!_closeOnTimeout) || (_timeout == 0))
_timeout = -1;
_filterMSNs = xmlreader.GetValueAsBool("fritzbox", "filterMSNs", false);
@@ -132,12 +135,12 @@
// media settings
_stopMedia = xmlreader.GetValueAsBool("fritzbox", "stopMedia", true);
_resumeMedia = xmlreader.GetValueAsBool("fritzbox", "resumeMedia", true);
-
+
// phonebook settings
_usePhonebook = xmlreader.GetValueAsBool("fritzbox", "usePhonebook", true);
_showUnknownCaller = xmlreader.GetValueAsBool("fritzbox", "showUnknownCaller", true);
_saveUnknownCaller = xmlreader.GetValueAsBool("fritzbox", "saveUnknownCaller", true);
-
+
if (_extensiveLogging)
{
Log.Info("FRITZ!Box: closeOnTimeout = {0}", _closeOnTimeout.ToString());
@@ -151,26 +154,55 @@
Log.Info("FRITZ!Box: showUnknownCaller = {0}", _showUnknownCaller.ToString());
Log.Info("FRITZ!Box: saveUnknownCaller = {0}", _saveUnknownCaller.ToString());
}
+ }
- if (_usePhonebook)
+ if ((_lastVersion < 0220) && (!File.Exists(Config.GetFile(Config.Dir.Config, "fritzbox.xml"))))
+ UpdateTo0220();
+ else
+ using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "fritzbox.xml")))
{
- string[] strLCallerId = xmlreader.GetValueAsString("fritzbox", "phonebookCallerId", "").Split(charSeparators, StringSplitOptions.RemoveEmptyEntries);
- string[] strLName = xmlreader.GetValueAsString("fritzbox", "phonebookName", "").Split(charSeparators, StringSplitOptions.RemoveEmptyEntries);
- string[] strLShow = xmlreader.GetValueAsString("fritzbox", "phonebookShow", "").Split(charSeparators, StringSplitOptions.RemoveEmptyEntries);
+ int countCaller = xmlreader.GetValueAsInt("phonebook", "count", 0);
- for (int i = 0; i <= strLCallerId.GetUpperBound(0); i++)
+ for (int i = 0; i < countCaller; i++)
{
- Caller caller = new Caller(strLCallerId[i], strLName[i], bool.Parse(strLShow[i]));
+ string strCallerId = xmlreader.GetValueAsString("phonebook", string.Format("callerID{0}", i.ToString()), "");
+ string strName = xmlreader.GetValueAsString("phonebook", string.Format("name{0}", i.ToString()), "");
+ bool bShow = xmlreader.GetValueAsBool("phonebook", string.Format("show{0}", i.ToString()), false);
+
+ if (strCallerId == "") continue;
+ if (strCallerId == null) continue;
+ if (strName == "") continue;
+ if (strName == null) continue;
+
+ Caller caller = new Caller(strCallerId, strName, bShow);
phonebook.Add(caller);
if (_extensiveLogging)
Log.Debug("FRITZ!Box: caller loaded: {0} {1} {2}", caller.callerId, caller.name, caller.show);
}
}
+ if (_extensiveLogging)
+ Log.Debug("FRITZ!Box: imported {0} callers", phonebook.Count.ToString());
+ }
- if (_extensiveLogging)
- Log.Debug("FRITZ!Box: imported {0} callers", phonebook.Count.ToString());
+ private void UpdateTo0220()
+ {
+ char[] charSeparators = new char[] { ';' };
+
+ using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "MediaPortal.xml")))
+ {
+ string[] strLCallerId = xmlreader.GetValueAsString("fritzbox", "phonebookCallerId", "").Split(charSeparators, StringSplitOptions.RemoveEmptyEntries);
+ string[] strLName = xmlreader.GetValueAsString("fritzbox", "phonebookName", "").Split(charSeparators, StringSplitOptions.RemoveEmptyEntries);
+ string[] strLShow = xmlreader.GetValueAsString("fritzbox", "phonebookShow", "").Split(charSeparators, StringSplitOptions.RemoveEmptyEntries);
+ for (int i = 0; i <= strLCallerId.GetUpperBound(0); i++)
+ {
+ Caller caller = new Caller(strLCallerId[i], strLName[i], bool.Parse(strLShow[i]));
+ phonebook.Add(caller);
+
+ if (_extensiveLogging)
+ Log.Debug("FRITZ!Box: caller loaded: {0} {1} {2}", caller.callerId, caller.name, caller.show);
+ }
}
}
@@ -178,27 +210,23 @@
{
if (_extensiveLogging)
Log.Info("FRITZ!Box: SaveSettings");
-
+
using (MediaPortal.Profile.Settings xmlwriter = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "MediaPortal.xml")))
{
- if (_usePhonebook)
+ xmlwriter.SetValue("fritzbox", "lastVersion", _version.Replace(".", string.Empty));
+ }
+
+ using (MediaPortal.Profile.Settings xmlwriter = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "fritzbox.xml")))
+ {
+ xmlwriter.SetValue("phonebook", "count", phonebook.Count);
+
+ for (int i = 0; i < phonebook.Count; i++)
{
- string strCallerId = "";
- string strName = "";
- string strShow = "";
-
- for (int i = 0; i < phonebook.Count; i++)
- {
- Caller caller = phonebook[i];
+ Caller caller = phonebook[i];
- strCallerId += caller.callerId + ";";
- strName += caller.name + ";";
- strShow += caller.show + ";";
- }
-
- xmlwriter.SetValue("fritzbox", "phonebookCallerId", strCallerId);
- xmlwriter.SetValue("fritzbox", "phonebookName", strName);
- xmlwriter.SetValue("fritzbox", "phonebookShow", strShow);
+ xmlwriter.SetValue("phonebook", string.Format("callerID{0}", i.ToString()), caller.callerId);
+ xmlwriter.SetValue("phonebook", string.Format("name{0}", i.ToString()), caller.name);
+ xmlwriter.SetValueAsBool("phonebook", string.Format("show{0}", i.ToString()), caller.show);
}
}
}
Modified: trunk/plugins/FritzBox/FritzBoxSetupFrom.cs
===================================================================
--- trunk/plugins/FritzBox/FritzBoxSetupFrom.cs 2007-04-07 14:39:22 UTC (rev 295)
+++ trunk/plugins/FritzBox/FritzBoxSetupFrom.cs 2007-04-08 11:07:48 UTC (rev 296)
@@ -738,66 +738,97 @@
{
Log.Info("FRITZ!Box: LoadSettings");
- labelVersion.Text = "v" + FritzBox._version;
+ labelVersion.Text = "v" + FritzBox._version;
- using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "MediaPortal.xml")))
- {
- checkBoxExtensiveLogging.Checked = xmlreader.GetValueAsBool("fritzbox", "extensiveLogging", false);
+ using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "MediaPortal.xml")))
+ {
+ FritzBox._lastVersion = xmlreader.GetValueAsInt("fritzbox", "lastVersion", 0);
- textBoxAddress.Text = xmlreader.GetValueAsString("fritzbox", "address", "fritz.box");
- textBoxPort.Text = xmlreader.GetValueAsString("fritzbox", "port", "1012");
+ checkBoxExtensiveLogging.Checked = xmlreader.GetValueAsBool("fritzbox", "extensiveLogging", false);
- // notify settings
- checkBoxCloseOnTimout.Checked = xmlreader.GetValueAsBool("fritzbox", "closeOnTimeout", false);
- numericUpDownTimeout.Value = xmlreader.GetValueAsInt("fritzbox", "timeout", 10);
+ textBoxAddress.Text = xmlreader.GetValueAsString("fritzbox", "address", "fritz.box");
+ textBoxPort.Text = xmlreader.GetValueAsString("fritzbox", "port", "1012");
- numericUpDownTimeout.Enabled = checkBoxCloseOnTimout.Checked;
+ // notify settings
+ checkBoxCloseOnTimout.Checked = xmlreader.GetValueAsBool("fritzbox", "closeOnTimeout", false);
+ numericUpDownTimeout.Value = xmlreader.GetValueAsInt("fritzbox", "timeout", 10);
- checkBoxFilterMSNs.Checked = xmlreader.GetValueAsBool("fritzbox", "filterMSNs", false);
- comboBoxMSNs.Enabled = checkBoxFilterMSNs.Checked;
- buttonMSNsAdd.Enabled = checkBoxFilterMSNs.Checked;
- buttonMSNsRemove.Enabled = checkBoxFilterMSNs.Checked;
- string strMSN = xmlreader.GetValueAsString("fritzbox", "MSN", "");
- char[] charSeparators = new char[] { ';' };
- if (strMSN != "")
- comboBoxMSNs.Items.AddRange(strMSN.Split(charSeparators, StringSplitOptions.RemoveEmptyEntries));
+ numericUpDownTimeout.Enabled = checkBoxCloseOnTimout.Checked;
- checkBoxShowMsnOnHeading.Checked = xmlreader.GetValueAsBool("fritzbox", "showMsnOnHeading", false);
+ checkBoxFilterMSNs.Checked = xmlreader.GetValueAsBool("fritzbox", "filterMSNs", false);
+ comboBoxMSNs.Enabled = checkBoxFilterMSNs.Checked;
+ buttonMSNsAdd.Enabled = checkBoxFilterMSNs.Checked;
+ buttonMSNsRemove.Enabled = checkBoxFilterMSNs.Checked;
+ string strMSN = xmlreader.GetValueAsString("fritzbox", "MSN", "");
+ char[] charSeparators = new char[] { ';' };
+ if (strMSN != "")
+ comboBoxMSNs.Items.AddRange(strMSN.Split(charSeparators, StringSplitOptions.RemoveEmptyEntries));
- // media settings
- checkBoxStopMedia.Checked = xmlreader.GetValueAsBool("fritzbox", "stopMedia", true);
- checkBoxResumeMedia.Checked = xmlreader.GetValueAsBool("fritzbox", "resumeMedia", true);
+ checkBoxShowMsnOnHeading.Checked = xmlreader.GetValueAsBool("fritzbox", "showMsnOnHeading", false);
- // phonebook settings
- checkBoxUsePhonebook.Checked = xmlreader.GetValueAsBool("fritzbox", "usePhonebook", true);
- checkBoxShowUnknownCaller.Checked = xmlreader.GetValueAsBool("fritzbox", "showUnknownCaller", true);
- checkBoxSaveUnknownCaller.Checked = xmlreader.GetValueAsBool("fritzbox", "saveUnknownCaller", true);
+ // media settings
+ checkBoxStopMedia.Checked = xmlreader.GetValueAsBool("fritzbox", "stopMedia", true);
+ checkBoxResumeMedia.Checked = xmlreader.GetValueAsBool("fritzbox", "resumeMedia", true);
- checkBoxShowUnknownCaller.Enabled = checkBoxUsePhonebook.Checked;
- checkBoxSaveUnknownCaller.Enabled = checkBoxUsePhonebook.Checked;
+ // phonebook settings
+ checkBoxUsePhonebook.Checked = xmlreader.GetValueAsBool("fritzbox", "usePhonebook", true);
+ checkBoxShowUnknownCaller.Checked = xmlreader.GetValueAsBool("fritzbox", "showUnknownCaller", true);
+ checkBoxSaveUnknownCaller.Checked = xmlreader.GetValueAsBool("fritzbox", "saveUnknownCaller", true);
+ checkBoxShowUnknownCaller.Enabled = checkBoxUsePhonebook.Checked;
+ checkBoxSaveUnknownCaller.Enabled = checkBoxUsePhonebook.Checked;
+ }
- string strCallerId = xmlreader.GetValueAsString("fritzbox", "phonebookCallerId", "");
- string strName = xmlreader.GetValueAsString("fritzbox", "phonebookName", "");
- string strShow = xmlreader.GetValueAsString("fritzbox", "phonebookShow", "");
+ if ((FritzBox._lastVersion < 0220) && (!File.Exists(Config.GetFile(Config.Dir.Config, "fritzbox.xml"))))
+ UpdateTo0220();
+ else
+ using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "fritzbox.xml")))
+ {
+ int countCaller = xmlreader.GetValueAsInt("phonebook", "count", 0);
- if (strCallerId != "")
+ for (int i = 0; i < countCaller; i++)
{
- string[] strListCallerId = strCallerId.Split(';');
- string[] strListName = strName.Split(';');
- string[] strListShow = strShow.Split(';');
+ string strCallerId = xmlreader.GetValueAsString("phonebook", string.Format("callerID{0}", i.ToString()), "");
+ string strName = xmlreader.GetValueAsString("phonebook", string.Format("name{0}", i.ToString()), "");
+ bool bShow = xmlreader.GetValueAsBool("phonebook", string.Format("show{0}", i.ToString()), false);
- for (int i = 0; i < strListCallerId.GetUpperBound(0); i++)
- dataGridView.Rows.Add(strListCallerId[i], strListName[i], bool.Parse(strListShow[i]));
+ if (strCallerId == "") continue;
+ if (strCallerId == null) continue;
+ if (strName == "") continue;
+ if (strName == null) continue;
+
+ dataGridView.Rows.Add(strCallerId, strName, bShow);
}
}
}
+ private void UpdateTo0220()
+ {
+ using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "MediaPortal.xml")))
+ {
+ string strCallerId = xmlreader.GetValueAsString("fritzbox", "phonebookCallerId", "");
+ string strName = xmlreader.GetValueAsString("fritzbox", "phonebookName", "");
+ string strShow = xmlreader.GetValueAsString("fritzbox", "phonebookShow", "");
+
+ if (strCallerId != "")
+ {
+ string[] strListCallerId = strCallerId.Split(';');
+ string[] strListName = strName.Split(';');
+ string[] strListShow = strShow.Split(';');
+
+ for (int i = 0; i < strListCallerId.GetUpperBound(0); i++)
+ dataGridView.Rows.Add(strListCallerId[i], strListName[i], bool.Parse(strListShow[i]));
+ }
+ }
+ }
+
private void SaveSettings()
{
Log.Info("FRITZ!Box: SaveSettings");
using (MediaPortal.Profile.Settings xmlwriter = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "MediaPortal.xml")))
{
+ xmlwriter.SetValue("fritzbox", "lastVersion", FritzBox._version.Replace(".", string.Empty));
+
xmlwriter.SetValueAsBool("fritzbox", "extensiveLogging", checkBoxExtensiveLogging.Checked);
xmlwriter.SetValue("fritzbox", "address", textBoxAddress.Text);
@@ -825,22 +856,22 @@
xmlwriter.SetValueAsBool("fritzbox", "usePhonebook", checkBoxUsePhonebook.Checked);
xmlwriter.SetValueAsBool("fritzbox", "showUnknownCaller", checkBoxShowUnknownCaller.Checked);
xmlwriter.SetValueAsBool("fritzbox", "saveUnknownCaller", checkBoxSaveUnknownCaller.Checked);
+ }
+ using (MediaPortal.Profile.Settings xmlwriter = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "fritzbox.xml")))
+ {
+ xmlwriter.SetValue("phonebook", "count", dataGridView.RowCount - 1);
- string strCallerId = "";
- string strName = "";
- string strShow = "";
-
for (int i = 0; i < dataGridView.RowCount - 1; i++)
{
- strCallerId += dataGridView.Rows[i].Cells[0].Value.ToString() + ";";
- strName += dataGridView.Rows[i].Cells[1].Value.ToString() + ";";
- strShow += dataGridView.Rows[i].Cells[2].Value.ToString() + ";";
+ string strCallerId = dataGridView.Rows[i].Cells[0].Value.ToString();
+ string strName = dataGridView.Rows[i].Cells[1].Value.ToString();
+ bool strShow = bool.Parse(dataGridView.Rows[i].Cells[2].Value.ToString());
+
+ xmlwriter.SetValue("phonebook", string.Format("callerID{0}", i.ToString()), strCallerId);
+ xmlwriter.SetValue("phonebook", string.Format("name{0}", i.ToString()), strName);
+ xmlwriter.SetValueAsBool("phonebook", string.Format("show{0}", i.ToString()), strShow);
}
-
- xmlwriter.SetValue("fritzbox", "phonebookCallerId", strCallerId);
- xmlwriter.SetValue("fritzbox", "phonebookName", strName);
- xmlwriter.SetValue("fritzbox", "phonebookShow", strShow);
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <an...@us...> - 2007-04-07 14:39:24
|
Revision: 295
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=295&view=rev
Author: and-81
Date: 2007-04-07 07:39:22 -0700 (Sat, 07 Apr 2007)
Log Message:
-----------
Modified Paths:
--------------
trunk/plugins/MCEReplacement/AssemblyInfo.cs
trunk/plugins/MCEReplacement/MCEReplacement.cs
trunk/plugins/MCEReplacement/Win32.cs
Modified: trunk/plugins/MCEReplacement/AssemblyInfo.cs
===================================================================
--- trunk/plugins/MCEReplacement/AssemblyInfo.cs 2007-04-07 09:44:22 UTC (rev 294)
+++ trunk/plugins/MCEReplacement/AssemblyInfo.cs 2007-04-07 14:39:22 UTC (rev 295)
@@ -34,8 +34,8 @@
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
-[assembly: AssemblyVersion("1.0.3.0")]
-[assembly: AssemblyFileVersionAttribute("1.0.3.0")]
+[assembly: AssemblyVersion("1.0.3.1")]
+[assembly: AssemblyFileVersionAttribute("1.0.3.1")]
//
// In order to sign your assembly you must specify a key to use. Refer to the
Modified: trunk/plugins/MCEReplacement/MCEReplacement.cs
===================================================================
--- trunk/plugins/MCEReplacement/MCEReplacement.cs 2007-04-07 09:44:22 UTC (rev 294)
+++ trunk/plugins/MCEReplacement/MCEReplacement.cs 2007-04-07 14:39:22 UTC (rev 295)
@@ -27,7 +27,7 @@
#region Constants
- public const string PluginVersion = "MCE Replacement Plugin 1.0.3.0 for MediaPortal 0.2.2.0 + SVN";
+ public const string PluginVersion = "MCE Replacement Plugin 1.0.3.1 for MediaPortal 0.2.2.0 + SVN";
public const int MessageModeCommand = 0x0018;
@@ -2218,12 +2218,23 @@
try
{
if (proc.MainModule.FileName == commands[0])
+ {
windowHandle = proc.MainWindowHandle;
+ break;
+ }
}
catch
{
}
}
+
+ // if it wasn't an application, try a class
+ if (windowHandle == IntPtr.Zero)
+ windowHandle = Win32.FindWindow(commands[0], null);
+
+ // if still not found, try window title
+ if (windowHandle == IntPtr.Zero)
+ windowHandle = Win32.FindWindow(null, commands[0]);
}
if (windowHandle == IntPtr.Zero)
Modified: trunk/plugins/MCEReplacement/Win32.cs
===================================================================
--- trunk/plugins/MCEReplacement/Win32.cs 2007-04-07 09:44:22 UTC (rev 294)
+++ trunk/plugins/MCEReplacement/Win32.cs 2007-04-07 14:39:22 UTC (rev 295)
@@ -35,11 +35,14 @@
#region Interop
[DllImport("user32")]
- public static extern IntPtr GetForegroundWindow();
+ internal static extern IntPtr GetForegroundWindow();
[DllImport("user32", SetLastError = false)]
- public static extern IntPtr SendMessage(IntPtr windowHandle, int msg, IntPtr wordParam, IntPtr longParam);
+ internal static extern IntPtr SendMessage(IntPtr windowHandle, int msg, IntPtr wordParam, IntPtr longParam);
+ [DllImport("user32", SetLastError = true)]
+ internal static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
+
#endregion Interop
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <du...@us...> - 2007-04-07 09:44:23
|
Revision: 294
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=294&view=rev
Author: dukus
Date: 2007-04-07 02:44:22 -0700 (Sat, 07 Apr 2007)
Log Message:
-----------
Modified Paths:
--------------
trunk/plugins/mpinstaler/MPInstaler/MPInstaler.csproj
trunk/plugins/mpinstaler/MPInstaler/MPinstalerStruct.cs
trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.cs
Added Paths:
-----------
trunk/plugins/mpinstaler/MPInstaler/MPIutils.cs
Modified: trunk/plugins/mpinstaler/MPInstaler/MPInstaler.csproj
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/MPInstaler.csproj 2007-04-07 08:26:43 UTC (rev 293)
+++ trunk/plugins/mpinstaler/MPInstaler/MPInstaler.csproj 2007-04-07 09:44:22 UTC (rev 294)
@@ -189,6 +189,7 @@
<Compile Include="wizard\controlp.Designer.cs">
<DependentUpon>controlp.cs</DependentUpon>
</Compile>
+ <Compile Include="MPIutils.cs" />
<Compile Include="wizard\wizard_1.cs">
<SubType>Form</SubType>
</Compile>
Added: trunk/plugins/mpinstaler/MPInstaler/MPIutils.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/MPIutils.cs (rev 0)
+++ trunk/plugins/mpinstaler/MPInstaler/MPIutils.cs 2007-04-07 09:44:22 UTC (rev 294)
@@ -0,0 +1,22 @@
+using System;
+using System.Diagnostics;
+using System.Collections.Generic;
+using System.Text;
+
+namespace MPInstaler
+{
+ public class MPIutils
+ {
+ public MPIutils()
+ {
+ }
+
+ static public void StartApp(string file)
+ {
+ Process app = new Process();
+ app.StartInfo.FileName = file;
+ app.StartInfo.Arguments = "";
+ app.Start();
+ }
+ }
+}
Modified: trunk/plugins/mpinstaler/MPInstaler/MPinstalerStruct.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/MPinstalerStruct.cs 2007-04-07 08:26:43 UTC (rev 293)
+++ trunk/plugins/mpinstaler/MPInstaler/MPinstalerStruct.cs 2007-04-07 09:44:22 UTC (rev 294)
@@ -707,6 +707,23 @@
else return false;
}
+ public void ExecuteAction()
+ {
+ switch (Place)
+ {
+ case "POSTSETUP":
+ switch (Id)
+ {
+ case 0:
+ MPIutils.StartApp(Config.GetFile(Config.Dir.Base,Command));
+ break;
+ case 1:
+ break;
+ }
+ break;
+ }
+ }
+
override public string ToString()
{
string x_ret = string.Empty;
Modified: trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.cs 2007-04-07 08:26:43 UTC (rev 293)
+++ trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.cs 2007-04-07 09:44:22 UTC (rev 294)
@@ -14,6 +14,7 @@
public int step = 0;
public MPpackageStruct package;
MPInstallHelper inst = new MPInstallHelper();
+ List<ActionInfo> actions = new List<ActionInfo>();
public wizard_1()
{
package = new MPpackageStruct();
@@ -188,6 +189,7 @@
ActionInfo ac = package._intalerStruct.FindAction("POSTSETUP");
if (ac != null)
{
+ actions.Add(ac);
listBox1.Visible = false;
skinlister.Items.Clear();
skinlister.Visible = true;
@@ -244,7 +246,19 @@
private void button_cancel_Click(object sender, EventArgs e)
{
- this.Close();
+ if (step == 7)
+ {
+ foreach (ActionInfo ac in actions)
+ {
+ int i=skinlister.Items.IndexOf(ac.ToString());
+ if (skinlister.GetSelected(i))
+ ac.ExecuteAction();
+ }
+ }
+ else
+ {
+ this.Close();
+ }
}
private void button_back_Click(object sender, EventArgs e)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <du...@us...> - 2007-04-07 08:26:45
|
Revision: 293
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=293&view=rev
Author: dukus
Date: 2007-04-07 01:26:43 -0700 (Sat, 07 Apr 2007)
Log Message:
-----------
post_setup added
Added Paths:
-----------
trunk/plugins/mpinstaler/MPInstaler/post_setup.Designer.cs
trunk/plugins/mpinstaler/MPInstaler/post_setup.cs
trunk/plugins/mpinstaler/MPInstaler/post_setup.resx
Added: trunk/plugins/mpinstaler/MPInstaler/post_setup.Designer.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/post_setup.Designer.cs (rev 0)
+++ trunk/plugins/mpinstaler/MPInstaler/post_setup.Designer.cs 2007-04-07 08:26:43 UTC (rev 293)
@@ -0,0 +1,141 @@
+namespace MPInstaler
+{
+ partial class post_setup
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.comboBox1 = new System.Windows.Forms.ComboBox();
+ this.comboBox2 = new System.Windows.Forms.ComboBox();
+ this.label1 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.button1 = new System.Windows.Forms.Button();
+ this.button2 = new System.Windows.Forms.Button();
+ this.groupBox1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // groupBox1
+ //
+ this.groupBox1.Controls.Add(this.label2);
+ this.groupBox1.Controls.Add(this.label1);
+ this.groupBox1.Controls.Add(this.comboBox2);
+ this.groupBox1.Controls.Add(this.comboBox1);
+ this.groupBox1.Location = new System.Drawing.Point(1, 5);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(308, 94);
+ this.groupBox1.TabIndex = 0;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "After setup";
+ //
+ // comboBox1
+ //
+ this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.comboBox1.FormattingEnabled = true;
+ this.comboBox1.Items.AddRange(new object[] {
+ "Run program",
+ "Configure plugin"});
+ this.comboBox1.Location = new System.Drawing.Point(8, 28);
+ this.comboBox1.Name = "comboBox1";
+ this.comboBox1.Size = new System.Drawing.Size(294, 21);
+ this.comboBox1.TabIndex = 0;
+ this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged);
+ //
+ // comboBox2
+ //
+ this.comboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.comboBox2.FormattingEnabled = true;
+ this.comboBox2.Location = new System.Drawing.Point(6, 67);
+ this.comboBox2.Name = "comboBox2";
+ this.comboBox2.Size = new System.Drawing.Size(296, 21);
+ this.comboBox2.TabIndex = 1;
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Location = new System.Drawing.Point(6, 12);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(37, 13);
+ this.label1.TabIndex = 2;
+ this.label1.Text = "Action";
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Location = new System.Drawing.Point(6, 52);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(38, 13);
+ this.label2.TabIndex = 3;
+ this.label2.Text = "Option";
+ //
+ // button1
+ //
+ this.button1.Location = new System.Drawing.Point(12, 272);
+ this.button1.Name = "button1";
+ this.button1.Size = new System.Drawing.Size(75, 23);
+ this.button1.TabIndex = 1;
+ this.button1.Text = "Ok";
+ this.button1.UseVisualStyleBackColor = true;
+ this.button1.Click += new System.EventHandler(this.button1_Click);
+ //
+ // button2
+ //
+ this.button2.Location = new System.Drawing.Point(226, 272);
+ this.button2.Name = "button2";
+ this.button2.Size = new System.Drawing.Size(75, 23);
+ this.button2.TabIndex = 2;
+ this.button2.Text = "Cancel";
+ this.button2.UseVisualStyleBackColor = true;
+ this.button2.Click += new System.EventHandler(this.button2_Click);
+ //
+ // post_setup
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(313, 307);
+ this.Controls.Add(this.button2);
+ this.Controls.Add(this.button1);
+ this.Controls.Add(this.groupBox1);
+ this.Name = "post_setup";
+ this.Text = "Setup";
+ this.Load += new System.EventHandler(this.post_setup_Load);
+ this.groupBox1.ResumeLayout(false);
+ this.groupBox1.PerformLayout();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.ComboBox comboBox1;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.ComboBox comboBox2;
+ private System.Windows.Forms.Button button1;
+ private System.Windows.Forms.Button button2;
+ }
+}
\ No newline at end of file
Added: trunk/plugins/mpinstaler/MPInstaler/post_setup.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/post_setup.cs (rev 0)
+++ trunk/plugins/mpinstaler/MPInstaler/post_setup.cs 2007-04-07 08:26:43 UTC (rev 293)
@@ -0,0 +1,60 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+
+namespace MPInstaler
+{
+ public partial class post_setup : Form
+ {
+ public MPinstalerStruct _struct;
+ public post_setup()
+ {
+ InitializeComponent();
+ }
+
+ private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ switch (comboBox1.SelectedIndex)
+ {
+ case 0:
+ comboBox2.Items.Clear();
+ comboBox2.Items.Add("MediaPortal.exe");
+ comboBox2.Items.Add("Configuration.exe");
+ break;
+ case 1:
+ comboBox2.Items.Clear();
+ foreach (MPIFileList fl in _struct.FileList)
+ {
+ if (fl.Type == MPinstalerStruct.PLUGIN_TYPE)
+ comboBox2.Items.Add(fl.FileNameShort);
+ }
+ break;
+ }
+ }
+
+ private void button1_Click(object sender, EventArgs e)
+ {
+ _struct.AddAction(new ActionInfo("POSTSETUP",comboBox1.SelectedIndex,comboBox2.Text));
+ this.Close();
+ }
+
+ private void button2_Click(object sender, EventArgs e)
+ {
+ this.Close();
+ }
+
+ private void post_setup_Load(object sender, EventArgs e)
+ {
+ ActionInfo a = _struct.FindAction("POSTSETUP");
+ if (a != null)
+ {
+ comboBox1.SelectedIndex = a.Id;
+ comboBox2.Text = a.Command;
+ }
+ }
+ }
+}
\ No newline at end of file
Added: trunk/plugins/mpinstaler/MPInstaler/post_setup.resx
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/post_setup.resx (rev 0)
+++ trunk/plugins/mpinstaler/MPInstaler/post_setup.resx 2007-04-07 08:26:43 UTC (rev 293)
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+</root>
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <du...@us...> - 2007-04-06 20:59:31
|
Revision: 292
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=292&view=rev
Author: dukus
Date: 2007-04-06 13:57:41 -0700 (Fri, 06 Apr 2007)
Log Message:
-----------
Basic action possibilities added
Modified Paths:
--------------
trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs
trunk/plugins/mpinstaler/MPInstaler/Form1.cs
trunk/plugins/mpinstaler/MPInstaler/MPInstaler.csproj
trunk/plugins/mpinstaler/MPInstaler/MPinstalerStruct.cs
trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.cs
Modified: trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs 2007-04-05 21:28:16 UTC (rev 291)
+++ trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs 2007-04-06 20:57:41 UTC (rev 292)
@@ -104,6 +104,8 @@
this.openToolStripButton = new System.Windows.Forms.ToolStripButton();
this.saveToolStripButton = new System.Windows.Forms.ToolStripButton();
this.toolStripContainer1 = new System.Windows.Forms.ToolStripContainer();
+ this.customizationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.postSetupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.menuStrip1.SuspendLayout();
this.contextMenuStrip1.SuspendLayout();
this.tabPage_Skin.SuspendLayout();
@@ -122,7 +124,8 @@
//
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.fileToolStripMenuItem,
- this.addToolStripMenuItem});
+ this.addToolStripMenuItem,
+ this.customizationToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(675, 24);
@@ -797,6 +800,21 @@
this.toolStripContainer1.TabIndex = 5;
this.toolStripContainer1.Text = "toolStripContainer1";
//
+ // customizationToolStripMenuItem
+ //
+ this.customizationToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.postSetupToolStripMenuItem});
+ this.customizationToolStripMenuItem.Name = "customizationToolStripMenuItem";
+ this.customizationToolStripMenuItem.Size = new System.Drawing.Size(47, 20);
+ this.customizationToolStripMenuItem.Text = "Setup";
+ //
+ // postSetupToolStripMenuItem
+ //
+ this.postSetupToolStripMenuItem.Name = "postSetupToolStripMenuItem";
+ this.postSetupToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
+ this.postSetupToolStripMenuItem.Text = "Post Setup";
+ this.postSetupToolStripMenuItem.Click += new System.EventHandler(this.postSetupToolStripMenuItem_Click);
+ //
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@@ -916,6 +934,8 @@
private System.Windows.Forms.ToolStripButton openToolStripButton;
private System.Windows.Forms.ToolStripButton saveToolStripButton;
private System.Windows.Forms.ToolStripContainer toolStripContainer1;
+ private System.Windows.Forms.ToolStripMenuItem customizationToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem postSetupToolStripMenuItem;
}
}
Modified: trunk/plugins/mpinstaler/MPInstaler/Form1.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/Form1.cs 2007-04-05 21:28:16 UTC (rev 291)
+++ trunk/plugins/mpinstaler/MPInstaler/Form1.cs 2007-04-06 20:57:41 UTC (rev 292)
@@ -529,5 +529,12 @@
{
_struct.Logo = pictureBox1.Image;
}
+
+ private void postSetupToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ post_setup dlg = new post_setup();
+ dlg._struct = this._struct;
+ dlg.ShowDialog();
+ }
}
}
\ No newline at end of file
Modified: trunk/plugins/mpinstaler/MPInstaler/MPInstaler.csproj
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/MPInstaler.csproj 2007-04-05 21:28:16 UTC (rev 291)
+++ trunk/plugins/mpinstaler/MPInstaler/MPInstaler.csproj 2007-04-06 20:57:41 UTC (rev 292)
@@ -101,6 +101,12 @@
<Compile Include="OptionForm.Designer.cs">
<DependentUpon>OptionForm.cs</DependentUpon>
</Compile>
+ <Compile Include="post_setup.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="post_setup.Designer.cs">
+ <DependentUpon>post_setup.cs</DependentUpon>
+ </Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Build dialog.resx">
@@ -123,6 +129,10 @@
<SubType>Designer</SubType>
<DependentUpon>OptionForm.cs</DependentUpon>
</EmbeddedResource>
+ <EmbeddedResource Include="post_setup.resx">
+ <SubType>Designer</SubType>
+ <DependentUpon>post_setup.cs</DependentUpon>
+ </EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
Modified: trunk/plugins/mpinstaler/MPInstaler/MPinstalerStruct.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/MPinstalerStruct.cs 2007-04-05 21:28:16 UTC (rev 291)
+++ trunk/plugins/mpinstaler/MPInstaler/MPinstalerStruct.cs 2007-04-06 20:57:41 UTC (rev 292)
@@ -46,10 +46,12 @@
public ArrayList Uninstall = new ArrayList();
public ArrayList FileList = new ArrayList();
public List<LanguageString> Language;
+ public List<ActionInfo> Actions;
public MPinstalerStruct()
{
Language = new List<LanguageString>();
+ Actions = new List<ActionInfo>();
}
public string UpdateURL
{
@@ -115,9 +117,50 @@
FileList.Add(new MPIFileList(lst.Items[i].SubItems[3].Text, lst.Items[i].SubItems[1].Text, lst.Items[i].SubItems[2].Text, lst.Items[i].SubItems[4].Text));
}
}
+ public ActionInfo FindAction(string p)
+ {
+ int idx = -1;
+ for (int i = 0; i < Actions.Count; i++)
+ {
+ if (Actions[i].Place==p)
+ {
+ idx = i;
+ break;
+ }
+ }
+ if (idx > -1)
+ return Actions[idx];
+ else return null;
+ }
+
+ public void AddAction(ActionInfo a)
+ {
+ int idx = -1;
+ for (int i = 0; i < Actions.Count; i++)
+ {
+ if (Actions[i].Equals(a))
+ {
+ idx = i;
+ break;
+ }
+ }
+ if (idx > -1)
+ {
+ Actions[idx].Place = a.Place;
+ Actions[idx].Id = a.Id;
+ Actions[idx].Command = a.Command;
+ }
+ else
+ {
+ Actions.Add(a);
+ }
+ }
+
public void Clear()
{
FileList.Clear();
+ Language.Clear();
+ Actions.Clear();
BuildFileName = string.Empty;
ProiectdFileName = string.Empty;
Author = string.Empty;
@@ -174,6 +217,16 @@
writer.WriteEndElement();
}
writer.WriteEndElement();
+ writer.WriteStartElement("Actions");
+ foreach (ActionInfo ai in Actions)
+ {
+ writer.WriteStartElement("Action");
+ writer.WriteAttributeString("Place", ai.Place);
+ writer.WriteAttributeString("Id", ai.Id.ToString());
+ writer.WriteAttributeString("Command", ai.Command);
+ writer.WriteEndElement();
+ }
+ writer.WriteEndElement();
writer.WriteStartElement("Option");
writer.WriteElementString("BuildFileName", this.BuildFileName);
writer.WriteElementString("ProiectFileName", Path.GetFullPath(this.ProiectdFileName));
@@ -291,6 +344,13 @@
langnode.SelectSingleNode("id").InnerText,
langnode.SelectSingleNode("value").InnerText));
}
+ XmlNodeList actionList = ver.SelectNodes("Actions/Action");
+ foreach (XmlNode actionnode in actionList)
+ {
+ Actions.Add(new ActionInfo(actionnode.Attributes["Place"].Value,
+ Convert.ToInt32(actionnode.Attributes["Id"].Value),
+ actionnode.Attributes["Command"].Value));
+ }
XmlNode nodeoption = ver.SelectSingleNode("Option");
this.BuildFileName = nodeoption.SelectSingleNode("BuildFileName").InnerText;
this.Name = nodeoption.SelectSingleNode("ProiectName").InnerText;
@@ -489,6 +549,11 @@
set { _FileName = value; }
}
+ public string FileNameShort
+ {
+ get { return Path.GetFileName(_FileName); }
+ }
+
public string Type
{
get { return _Type; }
@@ -623,4 +688,43 @@
}
}
}
+
+ public class ActionInfo : IEquatable<ActionInfo>
+ {
+ public String Place;
+ public int Id;
+ public String Command;
+ public ActionInfo(string p,int i, string c)
+ {
+ Place = p;
+ Id = i;
+ Command = c;
+ }
+ public bool Equals(ActionInfo ac)
+ {
+ if (Place == ac.Place && Id == ac.Id)
+ return true;
+ else return false;
+ }
+
+ override public string ToString()
+ {
+ string x_ret = string.Empty;
+ switch (Place)
+ {
+ case "POSTSETUP":
+ switch (Id)
+ {
+ case 0:
+ x_ret = "Run " + Command;
+ break;
+ case 1:
+ x_ret = "Configure plugin ";
+ break;
+ }
+ break;
+ }
+ return x_ret;
+ }
+ }
}
Modified: trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.cs 2007-04-05 21:28:16 UTC (rev 291)
+++ trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.cs 2007-04-06 20:57:41 UTC (rev 292)
@@ -185,6 +185,16 @@
inst.Add(package);
inst.SaveToFile();
label2.Text = "Done ...";
+ ActionInfo ac = package._intalerStruct.FindAction("POSTSETUP");
+ if (ac != null)
+ {
+ listBox1.Visible = false;
+ skinlister.Items.Clear();
+ skinlister.Visible = true;
+ progressBar1.Visible = false;
+ progressBar2.Visible = false;
+ skinlister.Items.Add(ac.ToString());
+ }
button_cancel.Text = "Finish";
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mis...@us...> - 2007-04-05 21:28:20
|
Revision: 291
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=291&view=rev
Author: misterd_sf
Date: 2007-04-05 14:28:16 -0700 (Thu, 05 Apr 2007)
Log Message:
-----------
MPlayer: Added possibility to play TVServer streams, by typing the url
Modified Paths:
--------------
trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationManager.cs
Modified: trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationManager.cs
===================================================================
--- trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationManager.cs 2007-04-05 19:39:17 UTC (rev 290)
+++ trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationManager.cs 2007-04-05 21:28:16 UTC (rev 291)
@@ -704,12 +704,16 @@
Log.Info("MPlayer: StreamProtocol: " + protocol);
Log.Info("MPlayer: StremFilename: " + file);
arguments.Append(extensionSettings[protocol].Arguments);
- arguments.Append(extensionSettings[System.IO.Path.GetExtension(fileName)]);
+ if (extensionSettings.ContainsKey(System.IO.Path.GetExtension(fileName))) {
+ arguments.Append(extensionSettings[System.IO.Path.GetExtension(fileName)]);
+ isVideo = extensionSettings[System.IO.Path.GetExtension(fileName)].PlayMode == PlayMode.Video;
+ } else {
+ isVideo = true;
+ }
arguments.Append(" \"");
arguments.Append(protocol);
arguments.Append(file);
arguments.Append("\"");
- isVideo = extensionSettings[System.IO.Path.GetExtension(fileName)].PlayMode == PlayMode.Video;
} else if (fileName.EndsWith(".cda")) {
String drive = System.IO.Path.GetDirectoryName(fileName);
if (drive.EndsWith("\\")) {
@@ -754,7 +758,8 @@
ext = ext.ToLower();
if (ext.Equals(".mplayer")) {
if (filename.StartsWith("dvd://") || filename.StartsWith("vcd://") || filename.StartsWith("svcd://")
- || filename.StartsWith("cue://")) {
+ || filename.StartsWith("cue://")
+ || filename.StartsWith("ZZZZ://")) {
return true;
}
filename = filename.Remove(filename.LastIndexOf(".mplayer"));
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <du...@us...> - 2007-04-05 19:39:19
|
Revision: 290
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=290&view=rev
Author: dukus
Date: 2007-04-05 12:39:17 -0700 (Thu, 05 Apr 2007)
Log Message:
-----------
Online tab bug fixed (new version checking)
Modified Paths:
--------------
trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs
Modified: trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs 2007-04-04 21:32:09 UTC (rev 289)
+++ trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs 2007-04-05 19:39:17 UTC (rev 290)
@@ -275,8 +275,7 @@
((MPpackageStruct)this.lst[idx]).isUpdated = true;
((MPpackageStruct)this.lst[idx]).isNew = false;
- }else
- ((MPpackageStruct)this.lst[idx]).isNew = true;
+ }
}
}
@@ -741,7 +740,7 @@
}
catch (Exception ex)
{
- MessageBox.Show("Language reader error : " + ex.Message);
+ MessageBox.Show(strFileName+"\nLanguage reader error : " + ex.Message+ ex.Source+ex.StackTrace);
return false;
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ze...@us...> - 2007-04-04 21:32:35
|
Revision: 289
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=289&view=rev
Author: zebons
Date: 2007-04-04 14:32:09 -0700 (Wed, 04 Apr 2007)
Log Message:
-----------
Corrected bug on filter dialog for plugin files
Modified Paths:
--------------
trunk/plugins/mpinstaler/MPInstaler/Form1.cs
Modified: trunk/plugins/mpinstaler/MPInstaler/Form1.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/Form1.cs 2007-04-04 20:17:41 UTC (rev 288)
+++ trunk/plugins/mpinstaler/MPInstaler/Form1.cs 2007-04-04 21:32:09 UTC (rev 289)
@@ -45,7 +45,7 @@
proiectt_textBox1.Focus();
return;
}
- saveFileDialog1.Filter = "Proiect files (*.xmp)|*.xmp|All files |*.*";
+ saveFileDialog1.Filter = "Proiect files (*.xmp)|*.xmp|All files (*.*)|*.*";
saveFileDialog1.DefaultExt = "*.xmp";
if (Path.GetFileName(proiect_file_name) == "Untitled"||String.IsNullOrEmpty(proiect_file_name.Trim()))
{
@@ -74,7 +74,7 @@
5 - external player
*/
string fil;
- openFileDialog1.Filter = "Dll files|*.dll|*.exe|All files|*.*";
+ openFileDialog1.Filter = "dll files (*.dll)|*.dll|exe files (*.exe)|*.exe|All files (*.*)|*.*";
openFileDialog1.FileName = "";
openFileDialog1.DefaultExt = "*.dll";
if (openFileDialog1.ShowDialog(this) == DialogResult.OK)
@@ -104,7 +104,7 @@
}
private void addtext()
{
- openFileDialog1.Filter = "txt files|*.txt|All files|*.*";
+ openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
openFileDialog1.FileName = "";
openFileDialog1.DefaultExt = "*.txt";
openFileDialog1.Multiselect = true;
@@ -124,10 +124,10 @@
openFileDialog1.Multiselect = true;
switch (type)
{
- case 1: openFileDialog1.Filter = "xml files|*.xml|png files|*.png|bmp files|*.bmp|All files|*.*";
+ case 1: openFileDialog1.Filter = "xml files (*.xml)|*.xml|png files (*.png)|*.png|bmp files (*.bmp)|*.bmp|All files (*.*)|*.*";
openFileDialog1.DefaultExt = "*.xml";
break;
- case 2: openFileDialog1.Filter = "png files|*.png|bmp files|*.bmp|xml files|*.xml|All files|*.*";
+ case 2: openFileDialog1.Filter = "png files (*.png)|*.png|bmp files (*.bmp)|*.bmp|xml files (*.xml)|*.xml|All files (*.*)|*.*";
openFileDialog1.DefaultExt = "*.png";
break;
}
@@ -159,7 +159,7 @@
private void addother(string ty, string sty)
{
// string fil;
- openFileDialog1.Filter = "All files|*.*|xml files|*.xml|png files|*.png|bmp files|*.bmp|jpeg files|*.jpg";
+ openFileDialog1.Filter = "All files (*.*)|*.*|xml files (*.xml)|*.xml|png files (*.png)|*.png|bmp files (*.bmp)|*.bmp|jpeg files (*.jpg)|*.jpg";
openFileDialog1.FileName = "";
openFileDialog1.DefaultExt = "*.*";
openFileDialog1.Multiselect = true;
@@ -226,7 +226,7 @@
private void openProiectToolStripMenuItem_Click(object sender, EventArgs e)
{
string fil;
- openFileDialog1.Filter = "Proiect files (*.xmp)|*.xmp|All files |*.*";
+ openFileDialog1.Filter = "Proiect files (*.xmp)|*.xmp|All files (*.*)|*.*";
openFileDialog1.FileName = "";
openFileDialog1.DefaultExt = "*.xmp";
if (openFileDialog1.ShowDialog(this) == DialogResult.OK)
@@ -320,7 +320,7 @@
proiectt_textBox1.Focus();
return;
}
- saveFileDialog1.Filter = "Proiect files (*.xmp)|*.xmp|All files |*.*";
+ saveFileDialog1.Filter = "Proiect files (*.xmp)|*.xmp|All files (*.*)|*.*";
saveFileDialog1.DefaultExt = "*.xmp";
if (saveFileDialog1.ShowDialog(this) == DialogResult.OK)
{
@@ -514,7 +514,7 @@
private void button_browse_Click(object sender, EventArgs e)
{
- openFileDialog1.Filter = "All files|*.*|png files|*.png|bmp files|*.bmp|jpeg files|*.jpg";
+ openFileDialog1.Filter = "All files (*.*)|*.*|png files (*.png)|*.png|bmp files (*.bmp)|*.bmp|jpeg files (*.jpg)|*.jpg";
openFileDialog1.FileName = "";
openFileDialog1.DefaultExt = "*.*";
openFileDialog1.Multiselect = false;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ze...@us...> - 2007-04-04 20:17:56
|
Revision: 288
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=288&view=rev
Author: zebons
Date: 2007-04-04 13:17:41 -0700 (Wed, 04 Apr 2007)
Log Message:
-----------
Add sort function by Header Column clic
Modified Paths:
--------------
trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs
trunk/plugins/mpinstaler/MPInstaler/Form1.cs
trunk/plugins/mpinstaler/MPInstaler/Language dialog.Designer.cs
trunk/plugins/mpinstaler/MPInstaler/Language dialog.cs
Modified: trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs 2007-04-04 18:01:46 UTC (rev 287)
+++ trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs 2007-04-04 20:17:41 UTC (rev 288)
@@ -352,10 +352,12 @@
this.bossview.Location = new System.Drawing.Point(12, 52);
this.bossview.Name = "bossview";
this.bossview.Size = new System.Drawing.Size(651, 215);
+ this.bossview.Sorting = System.Windows.Forms.SortOrder.Ascending;
this.bossview.TabIndex = 2;
this.bossview.UseCompatibleStateImageBehavior = false;
this.bossview.View = System.Windows.Forms.View.Details;
this.bossview.SelectedIndexChanged += new System.EventHandler(this.bossview_SelectedIndexChanged);
+ this.bossview.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.bossview_ColumnClick);
//
// columnHeader1
//
Modified: trunk/plugins/mpinstaler/MPInstaler/Form1.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/Form1.cs 2007-04-04 18:01:46 UTC (rev 287)
+++ trunk/plugins/mpinstaler/MPInstaler/Form1.cs 2007-04-04 20:17:41 UTC (rev 288)
@@ -17,6 +17,8 @@
private MPinstalerStruct _struct = new MPinstalerStruct();
private string proiect_file_name = "Untitled";
private bool _loading = false;
+ public int sortColumn;
+
public Form1()
{
InitializeComponent();
@@ -419,7 +421,32 @@
}
}
+ private void bossview_ColumnClick(object sender, ColumnClickEventArgs e)
+ {
+ // Determine whether the column is the same as the last column clicked.
+ if (e.Column != sortColumn)
+ {
+ // Set the sort column to the new column.
+ sortColumn = e.Column;
+ // Set the sort order to ascending by default.
+ bossview.Sorting = SortOrder.Ascending;
+ }
+ else
+ {
+ // Determine what the last sort order was and change it.
+ if (bossview.Sorting == SortOrder.Ascending)
+ bossview.Sorting = SortOrder.Descending;
+ else
+ bossview.Sorting = SortOrder.Ascending;
+ }
+ // Call the sort method to manually sort.
+ bossview.Sort();
+ // Set the ListViewItemSorter property to a new ListViewItemComparer
+ // object.
+ this.bossview.ListViewItemSorter = new ListViewItemComparer(e.Column, bossview.Sorting, true);
+ }
+
private void textToolStripMenuItem1_Click(object sender, EventArgs e)
{
addother(MPinstalerStruct.THUMBS_TYPE,thumbst_comboBox1.Text);
Modified: trunk/plugins/mpinstaler/MPInstaler/Language dialog.Designer.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/Language dialog.Designer.cs 2007-04-04 18:01:46 UTC (rev 287)
+++ trunk/plugins/mpinstaler/MPInstaler/Language dialog.Designer.cs 2007-04-04 20:17:41 UTC (rev 288)
@@ -78,13 +78,14 @@
//
this.languageComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.languageComboBox.FormattingEnabled = true;
- this.languageComboBox.Location = new System.Drawing.Point(216, 252);
+ this.languageComboBox.Location = new System.Drawing.Point(83, 253);
this.languageComboBox.Name = "languageComboBox";
- this.languageComboBox.Size = new System.Drawing.Size(168, 21);
+ this.languageComboBox.Size = new System.Drawing.Size(154, 21);
this.languageComboBox.TabIndex = 2;
//
// listView1
//
+ this.listView1.AllowColumnReorder = true;
this.listView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
@@ -94,15 +95,18 @@
this.columnHeader3});
this.listView1.FullRowSelect = true;
this.listView1.GridLines = true;
- this.listView1.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
- this.listView1.Location = new System.Drawing.Point(12, 12);
+ this.listView1.LabelEdit = true;
+ this.listView1.Location = new System.Drawing.Point(12, 11);
this.listView1.Name = "listView1";
+ this.listView1.ShowItemToolTips = true;
this.listView1.Size = new System.Drawing.Size(372, 235);
+ this.listView1.Sorting = System.Windows.Forms.SortOrder.Ascending;
this.listView1.TabIndex = 3;
this.listView1.UseCompatibleStateImageBehavior = false;
this.listView1.View = System.Windows.Forms.View.Details;
this.listView1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.listView1_MouseDoubleClick);
this.listView1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.listView1_MouseDoubleClick);
+ this.listView1.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.listView1_ColumnClick);
//
// columnHeader1
//
@@ -111,11 +115,13 @@
//
// columnHeader2
//
+ this.columnHeader2.DisplayIndex = 2;
this.columnHeader2.Text = "Value";
this.columnHeader2.Width = 137;
//
// columnHeader3
//
+ this.columnHeader3.DisplayIndex = 1;
this.columnHeader3.Text = "Language";
this.columnHeader3.Width = 155;
//
@@ -130,7 +136,7 @@
// textBox2
//
this.textBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
- this.textBox2.Location = new System.Drawing.Point(80, 253);
+ this.textBox2.Location = new System.Drawing.Point(243, 253);
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(130, 20);
this.textBox2.TabIndex = 5;
@@ -149,6 +155,7 @@
//
// listView2
//
+ this.listView2.AllowColumnReorder = true;
this.listView2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Right)));
this.listView2.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
@@ -163,6 +170,7 @@
this.listView2.UseCompatibleStateImageBehavior = false;
this.listView2.View = System.Windows.Forms.View.Details;
this.listView2.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.listView2_MouseDoubleClick);
+ this.listView2.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.listView2_ColumnClick);
//
// columnHeader4
//
Modified: trunk/plugins/mpinstaler/MPInstaler/Language dialog.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/Language dialog.cs 2007-04-04 18:01:46 UTC (rev 287)
+++ trunk/plugins/mpinstaler/MPInstaler/Language dialog.cs 2007-04-04 20:17:41 UTC (rev 288)
@@ -1,4 +1,5 @@
using System;
+using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
@@ -16,6 +17,7 @@
public partial class Form2 : Form
{
public string baseDir;
+ public int sortColumn;
public List<LanguageString> Language;
public MPLanguageHelper deflang = new MPLanguageHelper();
public MPLanguageHelper lang = new MPLanguageHelper();
@@ -105,7 +107,7 @@
return;
}
update_listview1(textBox1.Text, textBox2.Text, languageComboBox.Text);
- }
+ }
private void button2_Click(object sender, EventArgs e)
{
@@ -146,7 +148,7 @@
private void button3_Click(object sender, EventArgs e)
{
Language.Clear();
- for(int i=0;i<listView1.Items.Count;i++)
+ for (int i = 0; i < listView1.Items.Count; i++)
{
Language.Add(new LanguageString(listView1.Items[i].SubItems[2].Text, listView1.Items[i].Text, listView1.Items[i].SubItems[1].Text));
}
@@ -212,7 +214,7 @@
result = MessageBox.Show(message, caption, buttons);
- if(result == DialogResult.No)
+ if (result == DialogResult.No)
return;
MPLanguageHelper mplh = new MPLanguageHelper();
foreach (string lg in languageComboBox.Items)
@@ -242,7 +244,7 @@
textBox1.Text = listView1.SelectedItems[0].SubItems[0].Text;
textBox2.Text = listView1.SelectedItems[0].SubItems[1].Text;
languageComboBox.Text = listView1.SelectedItems[0].SubItems[2].Text;
-// listView1.Items.Remove(listView1.SelectedItems[0]);
+ // listView1.Items.Remove(listView1.SelectedItems[0]);
}
}
private void listView1_MouseClick(object sender, MouseEventArgs e)
@@ -269,18 +271,120 @@
break;
}
}
- // if (!modify)
- // {
- ListViewItem item1 = new ListViewItem(wid, 0);
- item1.SubItems.Add(wval);
- item1.SubItems.Add(wlang);
- listView1.Items.AddRange(new ListViewItem[] { item1 });
- // }
+ // if (!modify)
+ // {
+ ListViewItem item1 = new ListViewItem(wid, 0);
+ item1.SubItems.Add(wval);
+ item1.SubItems.Add(wlang);
+ listView1.Items.AddRange(new ListViewItem[] { item1 });
+ listView1.Sort();
+ // }
}
-
private void listView2_MouseDoubleClick(object sender, MouseEventArgs e)
{
add_reference_value();
}
- }
-}
\ No newline at end of file
+
+ private void listView1_ColumnClick(object sender, ColumnClickEventArgs e)
+ {
+ // Determine whether the column is the same as the last column clicked.
+ if (e.Column != sortColumn)
+ {
+ // Set the sort column to the new column.
+ sortColumn = e.Column;
+ // Set the sort order to ascending by default.
+ listView1.Sorting = SortOrder.Ascending;
+ }
+ else
+ {
+ // Determine what the last sort order was and change it.
+ if (listView1.Sorting == SortOrder.Ascending)
+ listView1.Sorting = SortOrder.Descending;
+ else
+ listView1.Sorting = SortOrder.Ascending;
+ }
+
+ // Call the sort method to manually sort.
+ listView1.Sort();
+ // Set the ListViewItemSorter property to a new ListViewItemComparer
+ // object.
+ this.listView1.ListViewItemSorter = new ListViewItemComparer(e.Column, listView1.Sorting, true);
+ }
+
+ private void listView2_ColumnClick(object sender, ColumnClickEventArgs e)
+ {
+ // Determine whether the column is the same as the last column clicked.
+ if (e.Column != sortColumn)
+ {
+ // Set the sort column to the new column.
+ sortColumn = e.Column;
+ // Set the sort order to ascending by default.
+ listView2.Sorting = SortOrder.Ascending;
+ }
+ else
+ {
+ // Determine what the last sort order was and change it.
+ if (listView2.Sorting == SortOrder.Ascending)
+ listView2.Sorting = SortOrder.Descending;
+ else
+ listView2.Sorting = SortOrder.Ascending;
+ }
+
+ // Call the sort method to manually sort.
+ listView2.Sort();
+ // Set the ListViewItemSorter property to a new ListViewItemComparer
+ // object.
+ if (e.Column == 0)
+ this.listView2.ListViewItemSorter = new ListViewItemComparer(e.Column, listView2.Sorting, false);
+ else
+ this.listView2.ListViewItemSorter = new ListViewItemComparer(e.Column, listView2.Sorting, true);
+ }
+ }
+
+ // Implements the manual sorting of items by columns.
+ class ListViewItemComparer : IComparer
+ {
+ private int col;
+ private SortOrder order;
+ public ListViewItemComparer()
+ {
+ col = 0;
+ order = SortOrder.Ascending;
+ }
+ // Is the sort alphabetic or number?
+ public readonly bool Alphabetic;
+
+ public ListViewItemComparer(int column, SortOrder order, bool alphabetic)
+ {
+ this.col = column;
+ this.order = order;
+ this.Alphabetic = alphabetic;
+
+ }
+ public int Compare(object x, object y)
+ {
+ // Convert the items that must be compared into ListViewItem objects.
+ string listX = ((ListViewItem)x).SubItems[this.col].Text;
+ string listY = ((ListViewItem)y).SubItems[this.col].Text;
+ int val;
+ // Sort using the specified column and specified sorting type.
+ if (Alphabetic)
+ val = listX.CompareTo(listY);
+ else
+ {
+ if (int.Parse(listX) > int.Parse(listY))
+ val = 1;
+ else if (int.Parse(listX) == int.Parse(listY))
+ val = 0;
+ else
+ val = -1;
+ }
+ if (this.order == SortOrder.Ascending)
+ return val;
+ else
+ return val * -1;
+ }
+ }
+ }
+
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <an...@us...> - 2007-04-04 18:01:54
|
Revision: 287
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=287&view=rev
Author: and-81
Date: 2007-04-04 11:01:46 -0700 (Wed, 04 Apr 2007)
Log Message:
-----------
Modified Paths:
--------------
trunk/plugins/MCEReplacement/Forms/MacroEditor.Designer.cs
trunk/plugins/MCEReplacement/Forms/MacroEditor.cs
trunk/plugins/MCEReplacement/MCEReplacement.cs
trunk/plugins/MCEReplacement/MCEReplacement.csproj
Modified: trunk/plugins/MCEReplacement/Forms/MacroEditor.Designer.cs
===================================================================
--- trunk/plugins/MCEReplacement/Forms/MacroEditor.Designer.cs 2007-04-04 16:37:30 UTC (rev 286)
+++ trunk/plugins/MCEReplacement/Forms/MacroEditor.Designer.cs 2007-04-04 18:01:46 UTC (rev 287)
@@ -196,10 +196,8 @@
//
// MacroEditor
//
- this.AcceptButton = this.buttonOK;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.CancelButton = this.buttonCancel;
this.ClientSize = new System.Drawing.Size(312, 329);
this.Controls.Add(this.buttonOK);
this.Controls.Add(this.buttonTest);
Modified: trunk/plugins/MCEReplacement/Forms/MacroEditor.cs
===================================================================
--- trunk/plugins/MCEReplacement/Forms/MacroEditor.cs 2007-04-04 16:37:30 UTC (rev 286)
+++ trunk/plugins/MCEReplacement/Forms/MacroEditor.cs 2007-04-04 18:01:46 UTC (rev 287)
@@ -34,6 +34,11 @@
public const string ToggleInputLayerText = "Toggle Input Handler Layer";
public const string ChangeWindowStateText = "Change Window State";
public const string GetFocusText = "Get Focus";
+ public const string ExitCommandText = "Exit MediaPortal";
+ public const string StandByCommandText = "Standby";
+ public const string HibernateCommandText = "Hibernate";
+ public const string RebootCommandText = "Reboot";
+ public const string ShutdownCommandText = "Shutdown";
#endregion Constants
@@ -80,6 +85,11 @@
comboBoxCommands.Items.Add(ToggleInputLayerText);
comboBoxCommands.Items.Add(ChangeWindowStateText);
comboBoxCommands.Items.Add(GetFocusText);
+ comboBoxCommands.Items.Add(ExitCommandText);
+ comboBoxCommands.Items.Add(StandByCommandText);
+ comboBoxCommands.Items.Add(HibernateCommandText);
+ comboBoxCommands.Items.Add(RebootCommandText);
+ comboBoxCommands.Items.Add(ShutdownCommandText);
comboBoxCommands.Items.AddRange(MCEReplacement.GetIRList());
}
@@ -105,79 +115,104 @@
if (item.StartsWith(MCEReplacement.BlastCommandPrefix))
{
- writer.WriteAttributeString("command", "BLAST");
+ writer.WriteAttributeString("command", MCEReplacement.BlastMacroText);
writer.WriteAttributeString("cmdproperty", item.Substring(MCEReplacement.BlastCommandPrefix.Length));
}
else if (item.StartsWith(MCEReplacement.PauseCommandPrefix))
{
- writer.WriteAttributeString("command", "PAUSE");
+ writer.WriteAttributeString("command", MCEReplacement.PauseMacroText);
writer.WriteAttributeString("cmdproperty", item.Substring(MCEReplacement.PauseCommandPrefix.Length));
}
else if (item.StartsWith(MCEReplacement.RunCommandPrefix))
{
- writer.WriteAttributeString("command", "RUN");
+ writer.WriteAttributeString("command", MCEReplacement.RunMacroText);
writer.WriteAttributeString("cmdproperty", item.Substring(MCEReplacement.RunCommandPrefix.Length));
}
else if (item.StartsWith(MCEReplacement.GoToCommandPrefix))
{
- writer.WriteAttributeString("command", "GOTO");
+ writer.WriteAttributeString("command", MCEReplacement.GotoMacroText);
writer.WriteAttributeString("cmdproperty", item.Substring(MCEReplacement.GoToCommandPrefix.Length));
}
else if (item.StartsWith(MCEReplacement.SerialCommandPrefix))
{
- writer.WriteAttributeString("command", "SERIAL");
+ writer.WriteAttributeString("command", MCEReplacement.SerialMacroText);
writer.WriteAttributeString("cmdproperty", item.Substring(MCEReplacement.SerialCommandPrefix.Length));
}
else if (item.StartsWith(MCEReplacement.MessageCommandPrefix))
{
- writer.WriteAttributeString("command", "MESSAGE");
+ writer.WriteAttributeString("command", MCEReplacement.MessageMacroText);
writer.WriteAttributeString("cmdproperty", item.Substring(MCEReplacement.MessageCommandPrefix.Length));
}
else if (item.StartsWith(MCEReplacement.KeyCommandPrefix))
{
- writer.WriteAttributeString("command", "KEYS");
+ writer.WriteAttributeString("command", MCEReplacement.KeysMacroText);
writer.WriteAttributeString("cmdproperty", item.Substring(MCEReplacement.KeyCommandPrefix.Length));
}
else if (item.StartsWith(MCEReplacement.PopupCommandPrefix))
{
- writer.WriteAttributeString("command", "POPUP");
+ writer.WriteAttributeString("command", MCEReplacement.PopupMacroText);
writer.WriteAttributeString("cmdproperty", item.Substring(MCEReplacement.PopupCommandPrefix.Length));
}
else if (item.StartsWith(MCEReplacement.PortCommandPrefix))
{
- writer.WriteAttributeString("command", "PORT");
+ writer.WriteAttributeString("command", MCEReplacement.PortMacroText);
writer.WriteAttributeString("cmdproperty", item.Substring(MCEReplacement.PortCommandPrefix.Length));
}
else if (item.StartsWith(MCEReplacement.SpeedCommandPrefix))
{
- writer.WriteAttributeString("command", "SPEED");
+ writer.WriteAttributeString("command", MCEReplacement.SpeedMacroText);
writer.WriteAttributeString("cmdproperty", item.Substring(MCEReplacement.SpeedCommandPrefix.Length));
}
else if (item.StartsWith(MCEReplacement.SetMapCommandPrefix))
{
- writer.WriteAttributeString("command", "MULTI_MAPPING");
+ writer.WriteAttributeString("command", MCEReplacement.MapMacroText);
writer.WriteAttributeString("cmdproperty", item.Substring(MCEReplacement.SetMapCommandPrefix.Length));
}
else if (item.StartsWith(MCEReplacement.SetMouseCommandPrefix))
{
- writer.WriteAttributeString("command", "MOUSE_MODE");
+ writer.WriteAttributeString("command", MCEReplacement.MouseMacroText);
writer.WriteAttributeString("cmdproperty", item.Substring(MCEReplacement.SetMouseCommandPrefix.Length));
}
else if (item.StartsWith(MCEReplacement.InputLayerCommand))
{
- writer.WriteAttributeString("command", "INPUT_LAYER");
+ writer.WriteAttributeString("command", MCEReplacement.InputLayerMacroText);
writer.WriteAttributeString("cmdproperty", "TOGGLE");
}
else if (item.StartsWith(MCEReplacement.WindowStateCommand))
{
- writer.WriteAttributeString("command", "WINDOW_STATE");
+ writer.WriteAttributeString("command", MCEReplacement.WindowStateMacroText);
writer.WriteAttributeString("cmdproperty", "TOGGLE");
}
else if (item.StartsWith(MCEReplacement.GetFocusCommand))
{
- writer.WriteAttributeString("command", "GET_FOCUS");
+ writer.WriteAttributeString("command", MCEReplacement.GetFocusMacroText);
writer.WriteAttributeString("cmdproperty", "");
- }
+ }
+ else if (item.StartsWith(MCEReplacement.ExitCommand))
+ {
+ writer.WriteAttributeString("command", MCEReplacement.ExitMacroText);
+ writer.WriteAttributeString("cmdproperty", "");
+ }
+ else if (item.StartsWith(MCEReplacement.StandByCommand))
+ {
+ writer.WriteAttributeString("command", MCEReplacement.StandbyMacroText);
+ writer.WriteAttributeString("cmdproperty", "");
+ }
+ else if (item.StartsWith(MCEReplacement.HibernateCommand))
+ {
+ writer.WriteAttributeString("command", MCEReplacement.HibernateMacroText);
+ writer.WriteAttributeString("cmdproperty", "");
+ }
+ else if (item.StartsWith(MCEReplacement.RebootCommand))
+ {
+ writer.WriteAttributeString("command", MCEReplacement.RebootMacroText);
+ writer.WriteAttributeString("cmdproperty", "");
+ }
+ else if (item.StartsWith(MCEReplacement.ShutdownCommand))
+ {
+ writer.WriteAttributeString("command", MCEReplacement.ShutdownMacroText);
+ writer.WriteAttributeString("cmdproperty", "");
+ }
writer.WriteEndElement();
}
@@ -214,65 +249,85 @@
switch (item.Attributes["command"].Value)
{
- case "BLAST":
+ case MCEReplacement.BlastMacroText:
listBoxMacro.Items.Add(MCEReplacement.BlastCommandPrefix + commandProperty);
break;
- case "PAUSE":
+ case MCEReplacement.PauseMacroText:
listBoxMacro.Items.Add(MCEReplacement.PauseCommandPrefix + commandProperty);
break;
- case "RUN":
+ case MCEReplacement.RunMacroText:
listBoxMacro.Items.Add(MCEReplacement.RunCommandPrefix + commandProperty);
break;
- case "SERIAL":
+ case MCEReplacement.SerialMacroText:
listBoxMacro.Items.Add(MCEReplacement.SerialCommandPrefix + commandProperty);
break;
- case "MESSAGE":
+ case MCEReplacement.MessageMacroText:
listBoxMacro.Items.Add(MCEReplacement.MessageCommandPrefix + commandProperty);
break;
- case "KEYS":
+ case MCEReplacement.KeysMacroText:
listBoxMacro.Items.Add(MCEReplacement.KeyCommandPrefix + commandProperty);
break;
- case "GOTO":
+ case MCEReplacement.GotoMacroText:
listBoxMacro.Items.Add(MCEReplacement.GoToCommandPrefix + commandProperty);
break;
- case "POPUP":
+ case MCEReplacement.PopupMacroText:
listBoxMacro.Items.Add(MCEReplacement.PopupCommandPrefix + commandProperty);
break;
- case "PORT":
+ case MCEReplacement.PortMacroText:
listBoxMacro.Items.Add(MCEReplacement.PortCommandPrefix + commandProperty);
break;
- case "SPEED":
+ case MCEReplacement.SpeedMacroText:
listBoxMacro.Items.Add(MCEReplacement.SpeedCommandPrefix + commandProperty);
break;
- case "MULTI_MAPPING":
+ case MCEReplacement.MapMacroText:
listBoxMacro.Items.Add(MCEReplacement.SetMapCommandPrefix + commandProperty);
break;
- case "MOUSE_MODE":
+ case MCEReplacement.MouseMacroText:
listBoxMacro.Items.Add(MCEReplacement.SetMouseCommandPrefix + commandProperty);
break;
- case "INPUT_LAYER":
+ case MCEReplacement.InputLayerMacroText:
listBoxMacro.Items.Add(MCEReplacement.InputLayerCommand);
break;
- case "WINDOW_STATE":
+ case MCEReplacement.WindowStateMacroText:
listBoxMacro.Items.Add(MCEReplacement.WindowStateCommand);
break;
- case "GET_FOCUS":
+ case MCEReplacement.GetFocusMacroText:
listBoxMacro.Items.Add(MCEReplacement.GetFocusCommand);
break;
+
+ case MCEReplacement.ExitMacroText:
+ listBoxMacro.Items.Add(MCEReplacement.ExitCommand);
+ break;
+
+ case MCEReplacement.StandbyMacroText:
+ listBoxMacro.Items.Add(MCEReplacement.StandByCommand);
+ break;
+
+ case MCEReplacement.HibernateMacroText:
+ listBoxMacro.Items.Add(MCEReplacement.HibernateCommand);
+ break;
+
+ case MCEReplacement.RebootMacroText:
+ listBoxMacro.Items.Add(MCEReplacement.RebootCommand);
+ break;
+
+ case MCEReplacement.ShutdownMacroText:
+ listBoxMacro.Items.Add(MCEReplacement.ShutdownCommand);
+ break;
}
}
}
@@ -399,6 +454,26 @@
{
listBoxMacro.Items.Add(MCEReplacement.GetFocusCommand);
}
+ else if (selected == ExitCommandText)
+ {
+ listBoxMacro.Items.Add(MCEReplacement.ExitCommand);
+ }
+ else if (selected == StandByCommandText)
+ {
+ listBoxMacro.Items.Add(MCEReplacement.StandByCommand);
+ }
+ else if (selected == HibernateCommandText)
+ {
+ listBoxMacro.Items.Add(MCEReplacement.HibernateCommand);
+ }
+ else if (selected == RebootCommandText)
+ {
+ listBoxMacro.Items.Add(MCEReplacement.RebootCommand);
+ }
+ else if (selected == ShutdownCommandText)
+ {
+ listBoxMacro.Items.Add(MCEReplacement.ShutdownCommand);
+ }
else
{
listBoxMacro.Items.Add(MCEReplacement.BlastCommandPrefix + selected);
@@ -616,6 +691,8 @@
listBoxMacro.Items.Insert(index, MCEReplacement.SpeedCommandPrefix + selectBlasterSpeed.CommandString);
listBoxMacro.SelectedIndex = index;
}
+
+ // TODO: Add new command types?
}
}
Modified: trunk/plugins/MCEReplacement/MCEReplacement.cs
===================================================================
--- trunk/plugins/MCEReplacement/MCEReplacement.cs 2007-04-04 16:37:30 UTC (rev 286)
+++ trunk/plugins/MCEReplacement/MCEReplacement.cs 2007-04-04 18:01:46 UTC (rev 287)
@@ -11,11 +11,12 @@
using System.Windows.Forms;
using System.Xml;
+using MediaPortal.Configuration;
using MediaPortal.Devices;
using MediaPortal.Dialogs;
using MediaPortal.GUI.Library;
using MediaPortal.Hardware;
-using MediaPortal.Configuration;
+using MediaPortal.Player;
using MediaPortal.Util;
namespace MediaPortal.Plugins
@@ -26,7 +27,7 @@
#region Constants
- public const string PluginVersion = "MCE Replacement Plugin 1.0.3.0 for MediaPortal 0.2.1.0";
+ public const string PluginVersion = "MCE Replacement Plugin 1.0.3.0 for MediaPortal 0.2.2.0 + SVN";
public const int MessageModeCommand = 0x0018;
@@ -37,7 +38,7 @@
public const string IRExtension = ".IR";
public const string MacroExtension = ".MACRO";
- // Macro Commands
+ // Plugin Commands
public const string RunCommandPrefix = "Run: ";
public const string BlastCommandPrefix = "Blast: ";
public const string PauseCommandPrefix = "Pause: ";
@@ -53,7 +54,34 @@
public const string InputLayerCommand = "Toggle Input Layer";
public const string WindowStateCommand = "Toggle Window State";
public const string GetFocusCommand = "Get Focus";
+ public const string ExitCommand = "Exit MediaPortal";
+ public const string StandByCommand = "Standby";
+ public const string HibernateCommand = "Hibernate";
+ public const string RebootCommand = "Reboot";
+ public const string ShutdownCommand = "Shutdown";
+ // Macro File Commands
+ public const string BlastMacroText = "BLAST";
+ public const string PauseMacroText = "PAUSE";
+ public const string RunMacroText = "RUN";
+ public const string SerialMacroText = "SERIAL";
+ public const string KeysMacroText = "KEYS";
+ public const string MessageMacroText = "MESSAGE";
+ public const string GotoMacroText = "GOTO";
+ public const string PopupMacroText = "POPUP";
+ public const string PortMacroText = "PORT";
+ public const string SpeedMacroText = "SPEED";
+ public const string MapMacroText = "MULTI_MAPPING";
+ public const string MouseMacroText = "MOUSE_MODE";
+ public const string InputLayerMacroText = "INPUT_LAYER";
+ public const string WindowStateMacroText = "WINDOW_STATE";
+ public const string GetFocusMacroText = "GET_FOCUS";
+ public const string ExitMacroText = "EXIT";
+ public const string StandbyMacroText = "STANDBY";
+ public const string HibernateMacroText = "HIBERNATE";
+ public const string RebootMacroText = "REBOOT";
+ public const string ShutdownMacroText = "SHUTDOWN";
+
public static readonly string AppDataFolder =
Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) +
"\\MediaPortal MCE Replacement Plugin\\";
@@ -1440,7 +1468,7 @@
switch (item.Attributes["command"].Value)
{
- case "BLAST":
+ case BlastMacroText:
if (!BlastIR(AppDataFolder + commandProperty + IRExtension, macroPort, macroSpeed))
{
file.Close();
@@ -1449,7 +1477,7 @@
}
break;
- case "PAUSE":
+ case PauseMacroText:
{
if (LogVerbose)
Log.Debug("MCEReplacement: Pause {0}", commandProperty);
@@ -1459,7 +1487,7 @@
break;
}
- case "RUN":
+ case RunMacroText:
{
string[] commands = SplitRunCommand(commandProperty);
@@ -1479,7 +1507,7 @@
break;
}
- case "SERIAL":
+ case SerialMacroText:
{
string[] commands = SplitSerialCommand(commandProperty);
@@ -1499,7 +1527,7 @@
break;
}
- case "GOTO":
+ case GotoMacroText:
{
if (InConfiguration)
MessageBox.Show(commandProperty, "Go To Window", MessageBoxButtons.OK, MessageBoxIcon.Information);
@@ -1508,7 +1536,7 @@
break;
}
- case "POPUP":
+ case PopupMacroText:
{
string[] commands = SplitPopupCommand(commandProperty);
@@ -1530,15 +1558,15 @@
break;
}
- case "PORT":
+ case PortMacroText:
macroPort = (MceIrApi.BlasterPort)Enum.Parse(typeof(MceIrApi.BlasterPort), commandProperty);
break;
- case "SPEED":
+ case SpeedMacroText:
macroSpeed = (MceIrApi.BlasterSpeed)Enum.Parse(typeof(MceIrApi.BlasterSpeed), commandProperty);
break;
- case "MESSAGE":
+ case MessageMacroText:
{
string[] commands = SplitMessageCommand(commandProperty);
@@ -1556,7 +1584,7 @@
break;
}
- case "KEYS":
+ case KeysMacroText:
{
if (InConfiguration)
{
@@ -1572,7 +1600,7 @@
break;
}
- case "MULTI_MAPPING":
+ case MapMacroText:
{
if (InConfiguration)
MessageBox.Show(commandProperty, "Change Multi-Mapping Command", MessageBoxButtons.OK, MessageBoxIcon.Information);
@@ -1582,7 +1610,7 @@
break;
}
- case "MOUSE_MODE":
+ case MouseMacroText:
{
if (InConfiguration)
{
@@ -1647,7 +1675,7 @@
break;
}
- case "INPUT_LAYER":
+ case InputLayerMacroText:
{
if (InConfiguration)
{
@@ -1670,7 +1698,7 @@
break;
}
- case "WINDOW_STATE":
+ case WindowStateMacroText:
{
if (InConfiguration)
{
@@ -1687,7 +1715,7 @@
break;
}
- case "GET_FOCUS":
+ case GetFocusMacroText:
{
if (InConfiguration)
{
@@ -1700,6 +1728,85 @@
GUIWindowManager.SendThreadMessage(msg);
break;
}
+
+ case ExitMacroText:
+ {
+ if (!InConfiguration)
+ {
+ Log.Info("MCEReplacement: MediaPortal Exit");
+ GUIGraphicsContext.OnAction(new Action(Action.ActionType.ACTION_EXIT, 0, 0));
+ }
+ break;
+ }
+
+ case StandbyMacroText:
+ {
+ if (!InConfiguration)
+ {
+ Log.Info("MCEReplacement: Request Standby");
+ GUIGraphicsContext.ResetLastActivity();
+ // Stop all media before suspending or hibernating
+ g_Player.Stop();
+
+ GUIMessage msg;
+
+ if (_mpBasicHome)
+ msg = new GUIMessage(GUIMessage.MessageType.GUI_MSG_GOTO_WINDOW, 0, 0, 0, (int)GUIWindow.Window.WINDOW_SECOND_HOME, 0, null);
+ else
+ msg = new GUIMessage(GUIMessage.MessageType.GUI_MSG_GOTO_WINDOW, 0, 0, 0, (int)GUIWindow.Window.WINDOW_HOME, 0, null);
+
+ GUIWindowManager.SendThreadMessage(msg);
+
+ MCEReplacement.OnSuspend();
+ WindowsController.ExitWindows(RestartOptions.Suspend, true);
+ }
+ break;
+ }
+
+ case HibernateMacroText:
+ {
+ if (!InConfiguration)
+ {
+ Log.Info("MCEReplacement: Request Hibernate");
+ GUIGraphicsContext.ResetLastActivity();
+ // Stop all media before suspending or hibernating
+ g_Player.Stop();
+
+ GUIMessage msg;
+
+ if (_mpBasicHome)
+ msg = new GUIMessage(GUIMessage.MessageType.GUI_MSG_GOTO_WINDOW, 0, 0, 0, (int)GUIWindow.Window.WINDOW_SECOND_HOME, 0, null);
+ else
+ msg = new GUIMessage(GUIMessage.MessageType.GUI_MSG_GOTO_WINDOW, 0, 0, 0, (int)GUIWindow.Window.WINDOW_HOME, 0, null);
+
+ GUIWindowManager.SendThreadMessage(msg);
+
+ MCEReplacement.OnSuspend();
+ WindowsController.ExitWindows(RestartOptions.Hibernate, true);
+ }
+ break;
+ }
+
+ case RebootMacroText:
+ {
+ if (!InConfiguration)
+ {
+ Log.Info("MCEReplacement: Reboot");
+ GUIGraphicsContext.OnAction(new Action(Action.ActionType.ACTION_REBOOT, 0, 0));
+ }
+ break;
+ }
+
+ case ShutdownMacroText:
+ {
+ if (!InConfiguration)
+ {
+ Log.Info("MCEReplacement: Shutdown");
+ GUIGraphicsContext.OnAction(new Action(Action.ActionType.ACTION_SHUTDOWN, 0, 0));
+ }
+ break;
+ }
+
}
}
}
@@ -1927,7 +2034,7 @@
{
if (String.IsNullOrEmpty(command))
{
- Log.Error("MCEReplacement: Invalid command");
+ Log.Error("MCEReplacement: Invalid (empty) command");
return false;
}
@@ -2032,6 +2139,27 @@
return ProcessGoTo(command.Substring(GoToCommandPrefix.Length));
}
+
+
+
+
+ /*
+ public const string SetMapCommandPrefix = "Multi-Mapping: ";
+ public const string SetMouseCommandPrefix = "Mouse Mode: ";
+ public const string InputLayerCommand = "Toggle Input Layer";
+ public const string WindowStateCommand = "Toggle Window State";
+ public const string GetFocusCommand = "Get Focus";
+
+ public const string ExitCommand = "Exit MediaPortal";
+public const string StandByCommand = "Standby";
+public const string HibernateCommand = "Hibernate";
+public const string RebootCommand = "Reboot";
+public const string ShutdownCommand = "Shutdown";
+ */
+
+
+
+
Log.Error("MCEReplacement: Unprocessed command \"{0}\"", command);
return false;
}
Modified: trunk/plugins/MCEReplacement/MCEReplacement.csproj
===================================================================
--- trunk/plugins/MCEReplacement/MCEReplacement.csproj 2007-04-04 16:37:30 UTC (rev 286)
+++ trunk/plugins/MCEReplacement/MCEReplacement.csproj 2007-04-04 18:01:46 UTC (rev 287)
@@ -152,28 +152,29 @@
<Compile Include="Win32.cs" />
</ItemGroup>
<ItemGroup>
- <Reference Include="Core, Version=1.0.2485.22312, Culture=neutral, processorArchitecture=x86">
+ <Reference Include="Core, Version=1.0.2581.1884, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
- <HintPath>..\..\MediaPortal 0.2.1.0\Core.DLL</HintPath>
+ <HintPath>..\..\MediaPortal\Core\bin\Release\Core.dll</HintPath>
<Private>False</Private>
</Reference>
- <Reference Include="Databases, Version=1.0.2485.22313, Culture=neutral, processorArchitecture=x86">
+ <Reference Include="Databases, Version=1.0.2581.1890, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
- <HintPath>..\..\MediaPortal 0.2.1.0\Databases.DLL</HintPath>
+ <HintPath>..\..\MediaPortal\Databases\bin\Release\Databases.dll</HintPath>
<Private>False</Private>
</Reference>
- <Reference Include="Dialogs, Version=0.0.0.0, Culture=neutral, processorArchitecture=x86">
+ <Reference Include="Dialogs, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
- <HintPath>..\..\MediaPortal 0.2.1.0\Dialogs.DLL</HintPath>
+ <HintPath>..\..\MediaPortal\Dialogs\bin\Release\Dialogs.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.DirectX.Direct3D, Version=1.0.2902.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<SpecificVersion>False</SpecificVersion>
- <HintPath>..\..\MediaPortal 0.2.1.0\Microsoft.DirectX.Direct3D.dll</HintPath>
+ <HintPath>..\..\MediaPortal\xbmc\bin\Release\Microsoft.DirectX.Direct3D.dll</HintPath>
+ <Private>False</Private>
</Reference>
- <Reference Include="RemotePlugins, Version=1.0.2485.22315, Culture=neutral, processorArchitecture=x86">
+ <Reference Include="RemotePlugins, Version=1.0.2581.1913, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
- <HintPath>..\..\MediaPortal 0.2.1.0\RemotePlugins.DLL</HintPath>
+ <HintPath>..\..\MediaPortal\RemotePlugins\bin\Release\RemotePlugins.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="System" />
@@ -181,11 +182,16 @@
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
- <Reference Include="TVCapture, Version=1.0.2485.22314, Culture=neutral, processorArchitecture=x86">
+ <Reference Include="TVCapture, Version=1.0.2581.1894, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
- <HintPath>..\..\MediaPortal 0.2.1.0\TVCapture.DLL</HintPath>
+ <HintPath>..\..\MediaPortal\TVCapture\bin\Release\TVCapture.dll</HintPath>
<Private>False</Private>
</Reference>
+ <Reference Include="Utils, Version=1.0.2581.1867, Culture=neutral, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\..\MediaPortal\Utils\bin\Release\Utils.dll</HintPath>
+ <Private>False</Private>
+ </Reference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Forms\ExternalChannels.resx">
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <du...@us...> - 2007-04-04 16:37:32
|
Revision: 286
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=286&view=rev
Author: dukus
Date: 2007-04-04 09:37:30 -0700 (Wed, 04 Apr 2007)
Log Message:
-----------
Toolbar added in editor
Modified Paths:
--------------
trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs
trunk/plugins/mpinstaler/MPInstaler/Form1.resx
Modified: trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs 2007-04-04 13:25:09 UTC (rev 285)
+++ trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs 2007-04-04 16:37:30 UTC (rev 286)
@@ -99,6 +99,11 @@
this.tabPage_Other = new System.Windows.Forms.TabPage();
this.othert_comboBox1 = new System.Windows.Forms.ComboBox();
this.label8 = new System.Windows.Forms.Label();
+ this.toolStrip1 = new System.Windows.Forms.ToolStrip();
+ this.newToolStripButton = new System.Windows.Forms.ToolStripButton();
+ this.openToolStripButton = new System.Windows.Forms.ToolStripButton();
+ this.saveToolStripButton = new System.Windows.Forms.ToolStripButton();
+ this.toolStripContainer1 = new System.Windows.Forms.ToolStripContainer();
this.menuStrip1.SuspendLayout();
this.contextMenuStrip1.SuspendLayout();
this.tabPage_Skin.SuspendLayout();
@@ -109,6 +114,8 @@
this.tabPage_Proiect.SuspendLayout();
this.tabPage_Thumbs.SuspendLayout();
this.tabPage_Other.SuspendLayout();
+ this.toolStrip1.SuspendLayout();
+ this.toolStripContainer1.SuspendLayout();
this.SuspendLayout();
//
// menuStrip1
@@ -342,9 +349,9 @@
this.bossview.FullRowSelect = true;
this.bossview.GridLines = true;
this.bossview.HideSelection = false;
- this.bossview.Location = new System.Drawing.Point(12, 40);
+ this.bossview.Location = new System.Drawing.Point(12, 52);
this.bossview.Name = "bossview";
- this.bossview.Size = new System.Drawing.Size(651, 227);
+ this.bossview.Size = new System.Drawing.Size(651, 215);
this.bossview.TabIndex = 2;
this.bossview.UseCompatibleStateImageBehavior = false;
this.bossview.View = System.Windows.Forms.View.Details;
@@ -732,13 +739,71 @@
this.label8.TabIndex = 0;
this.label8.Text = "Directory (relative) :";
//
+ // toolStrip1
+ //
+ this.toolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
+ this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.newToolStripButton,
+ this.openToolStripButton,
+ this.saveToolStripButton});
+ this.toolStrip1.Location = new System.Drawing.Point(0, 24);
+ this.toolStrip1.Name = "toolStrip1";
+ this.toolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
+ this.toolStrip1.Size = new System.Drawing.Size(675, 25);
+ this.toolStrip1.TabIndex = 4;
+ this.toolStrip1.Text = "toolStrip1";
+ //
+ // newToolStripButton
+ //
+ this.newToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+ this.newToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("newToolStripButton.Image")));
+ this.newToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta;
+ this.newToolStripButton.Name = "newToolStripButton";
+ this.newToolStripButton.Size = new System.Drawing.Size(23, 22);
+ this.newToolStripButton.Text = "&New";
+ this.newToolStripButton.Click += new System.EventHandler(this.newToolStripMenuItem_Click);
+ //
+ // openToolStripButton
+ //
+ this.openToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+ this.openToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("openToolStripButton.Image")));
+ this.openToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta;
+ this.openToolStripButton.Name = "openToolStripButton";
+ this.openToolStripButton.Size = new System.Drawing.Size(23, 22);
+ this.openToolStripButton.Text = "&Open";
+ this.openToolStripButton.Click += new System.EventHandler(this.openProiectToolStripMenuItem_Click);
+ //
+ // saveToolStripButton
+ //
+ this.saveToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+ this.saveToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("saveToolStripButton.Image")));
+ this.saveToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta;
+ this.saveToolStripButton.Name = "saveToolStripButton";
+ this.saveToolStripButton.Size = new System.Drawing.Size(23, 22);
+ this.saveToolStripButton.Text = "&Save";
+ this.saveToolStripButton.Click += new System.EventHandler(this.sToolStripMenuItem_Click);
+ //
+ // toolStripContainer1
+ //
+ //
+ // toolStripContainer1.ContentPanel
+ //
+ this.toolStripContainer1.ContentPanel.Size = new System.Drawing.Size(675, 150);
+ this.toolStripContainer1.Location = new System.Drawing.Point(0, 24);
+ this.toolStripContainer1.Name = "toolStripContainer1";
+ this.toolStripContainer1.Size = new System.Drawing.Size(675, 175);
+ this.toolStripContainer1.TabIndex = 5;
+ this.toolStripContainer1.Text = "toolStripContainer1";
+ //
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(675, 431);
+ this.Controls.Add(this.toolStrip1);
this.Controls.Add(this.bossview);
this.Controls.Add(this.tabControl1);
+ this.Controls.Add(this.toolStripContainer1);
this.Controls.Add(this.menuStrip1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MainMenuStrip = this.menuStrip1;
@@ -764,6 +829,10 @@
this.tabPage_Thumbs.PerformLayout();
this.tabPage_Other.ResumeLayout(false);
this.tabPage_Other.PerformLayout();
+ this.toolStrip1.ResumeLayout(false);
+ this.toolStrip1.PerformLayout();
+ this.toolStripContainer1.ResumeLayout(false);
+ this.toolStripContainer1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
@@ -840,6 +909,11 @@
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.Button button_browse;
private System.Windows.Forms.Label label11;
+ private System.Windows.Forms.ToolStrip toolStrip1;
+ private System.Windows.Forms.ToolStripButton newToolStripButton;
+ private System.Windows.Forms.ToolStripButton openToolStripButton;
+ private System.Windows.Forms.ToolStripButton saveToolStripButton;
+ private System.Windows.Forms.ToolStripContainer toolStripContainer1;
}
}
Modified: trunk/plugins/mpinstaler/MPInstaler/Form1.resx
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/Form1.resx 2007-04-04 13:25:09 UTC (rev 285)
+++ trunk/plugins/mpinstaler/MPInstaler/Form1.resx 2007-04-04 16:37:30 UTC (rev 286)
@@ -129,7 +129,54 @@
<metadata name="saveFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>397, 17</value>
</metadata>
+ <metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>525, 17</value>
+ </metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="newToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAQ9JREFUOE+t09lq
+ wkAUBmBfyr5DfY32jaReSOmFCyKCgkKLFrVUBZeKiEbshqRuaNw1xiXmLxMJBJ0Zc+GBw9zMfDPnHMZm
+ u1ZE35s4zXCqjmC8Al+sgHLjD9y7yGFWPIbecOO45yORtMAEHnxxJHL1IyKI9JeEXqtMwOl50Q8bSS0l
+ 8PzBBPbqAQQxICrgjeapgKZpkJUdBmNZB+y3d/QSnsIZKrDdqZjMFYj9OR9wB1NngHrQsJC36EkrfIkT
+ PuDyJ84AZbOHNF2j1Z2h9i3xAVKfOUjjZssN2oMFmq0xSkLfOmBu3E97iurnENlKxzpgbpzwO0Kh1kOy
+ KFoDjHmzVuYYjRmTDZfyWh9Yd/4B2Mz2w1z7EGUAAAAASUVORK5CYII=
+</value>
+ </data>
+ <data name="openToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAlpJREFUOE+tk21I
+ k1EYhif0oyA0sqIQCix/+GcQFFH9CCmiUBTLLEjShJofVBgL2fxoU9Pp5ubUlS5rU9f8rCyjsA+pUCRC
+ TR1ppmVFUSlmhq78unrnQF1KGHTg/nEOz30993PO+7qJFrmUeiv2n+Mij+XLRLLYULdF2pxlEVIDcw0p
+ AsyxD5fmI/rQ94pqi26eOlsfuZj+7BgSm01QdA4ih7m73Yx9qGpavwatjPebqCzOprPt8YKQgzFagqL0
+ BEjyEFWVaBkdLHMxT34uYNwWR9nVTEoL0zHlp2DMSeaSRk6eKt4VWm5WM/rVPNN5SjDTLQebZEHNA1wr
+ UvHjk3E6tsNcV62e1r3KLGqtKm6WplNpSsVqVFJsOM8VfSKFWjkGtcyZptSYzvC7XByx3zQoqCnTMvlG
+ CX1prnornPUmQJcUXsbSVhGK5bIOkcmQyveeTHiv4VZ5Nk33Nc6iuSO8CIfmECYa/bE/8ON1iRipJNh5
+ F0V6Bd86lfQ1JlFj1TDVq4COKCegLVIwHmGiKRB7/V6G7+5koHozymgfYRy5E1CgTWKgXcZ1i5qWp0KS
+ rjgBcAJawph6FszYk/2M1O1isGYLX8p9ab6wgqP+3rMvYciS01GfzA1LFvQkQ6sQ9/khxhoCGHnox1Dt
+ NvorxXw0b8Km8UQh2cip6GOzgNyMeKqKM7HdjqFZJ5pRk2YJ9aql3EnxoCJxNaZ4Ly6e3UDY3O6OEXRp
+ 59ApTpIhiyDh9GHORAZyPHQPB/ZtZ/cOMVvFPvh6e7F+3SrWrHRnraf7Xz/xf/rJ/kvxb84I3U1y+9/W
+ AAAAAElFTkSuQmCC
+</value>
+ </data>
+ <data name="saveToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAixJREFUOE+tk91L
+ k3EUx/cvdN9N0EW3NTWGa7EaPOUcyqphWBG9PZEv5dJlmqhYmUYtXyBb4dJJy+kknFT4BqZIjaFMJUsz
+ V7TEoabYRDD49ju/6Pm1Mi+iH5zLz+c855zvo1L9j/fsaRRUvvZltHmX8Ni9gMaGCO47ZlBb8wn22yHc
+ KJ9CackECgteIy93FBfOB6H0JrC3B6ipXsVGb2V1Dca0XhxOe8JLEXhbF7mgsuLLX3mCIwsr2G1+DrVa
+ huWQRwjcj+a5oLTk87qCn/D78CLiTD4UXJ7GAXOTEDjrZ7ngku3dH4Jf4ZHJCLZJXlhzxpGa4hSCurth
+ LsjOGo0R/A4PBsPYrHdDlgMwmRxCUF31kQvkMwFFsB7c4/+ATYkNOHL0BZKSaoXgZuU0urvATgkcP/kK
+ lmMDfNu0MJqZPps6/4D7cNDSCUmyC8HVskl0+MAyADS5vrG7f0X59Tm+VFoYzZyZEVTg5NR2GAwVQnCl
+ cByeZuChc40FJwpjek5MmU/YkH6uiHdOTmHwfg/0+jIhsOWNMRiouhPlnUnAQoI4rYSht7MYm5qDnHsN
+ e41tHNbucUGnKxICiqXjHpTPJgHBZ/Nv4U1oHqGZJVwstiNe72JwI+J3PYA2MV8IMjOG2dzLfOatBg+2
+ 7JDQ0tEPX9cguvv8GHg5hH0mC9S6eiQweLumDhqNVQgo06dP9fN4UsIoJHRnOhVtmxZGM1NXKoJ3JmTH
+ Cv71r/4OTrQ4xWMwWlcAAAAASUVORK5CYII=
+</value>
+ </data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAICAEAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <du...@us...> - 2007-04-04 13:25:10
|
Revision: 285
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=285&view=rev
Author: dukus
Date: 2007-04-04 06:25:09 -0700 (Wed, 04 Apr 2007)
Log Message:
-----------
language helper compatibilities fix for older format
Modified Paths:
--------------
trunk/plugins/mpinstaler/MPInstaler/Language dialog.cs
trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs
Modified: trunk/plugins/mpinstaler/MPInstaler/Language dialog.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/Language dialog.cs 2007-04-03 19:29:55 UTC (rev 284)
+++ trunk/plugins/mpinstaler/MPInstaler/Language dialog.cs 2007-04-04 13:25:09 UTC (rev 285)
@@ -29,25 +29,70 @@
private void LoadLanguages()
{
+ if (File.Exists(LanguageDirectory + @"\strings_en.xml"))
+ {
+ //_availableLanguages = new Dictionary<string, CultureInfo>();
- //_availableLanguages = new Dictionary<string, CultureInfo>();
+ DirectoryInfo dir = new DirectoryInfo(LanguageDirectory);
+ foreach (FileInfo file in dir.GetFiles("strings_*.xml"))
+ {
+ int pos = file.Name.IndexOf('_') + 1;
+ string cultName = file.Name.Substring(pos, file.Name.Length - file.Extension.Length - pos);
- DirectoryInfo dir = new DirectoryInfo(LanguageDirectory);
- foreach (FileInfo file in dir.GetFiles("strings_*.xml"))
+ try
+ {
+ CultureInfo cultInfo = new CultureInfo(cultName);
+ languageComboBox.Items.Add(cultInfo.EnglishName);
+ languageComboBox2.Items.Add(cultInfo.EnglishName);
+ }
+ catch (ArgumentException)
+ {
+ }
+
+ }
+ }
+ else
{
- int pos = file.Name.IndexOf('_') + 1;
- string cultName = file.Name.Substring(pos, file.Name.Length - file.Extension.Length - pos);
+ // Get system language
+ string strLongLanguage = CultureInfo.CurrentCulture.EnglishName;
+ int iTrimIndex = strLongLanguage.IndexOf(" ", 0, strLongLanguage.Length);
+ string strShortLanguage = strLongLanguage.Substring(0, iTrimIndex);
- try
+ bool bExactLanguageFound = false;
+ if (Directory.Exists(LanguageDirectory))
{
- CultureInfo cultInfo = new CultureInfo(cultName);
- languageComboBox.Items.Add(cultInfo.EnglishName);
- languageComboBox2.Items.Add(cultInfo.EnglishName);
+ string[] folders = Directory.GetDirectories(LanguageDirectory, "*.*");
+
+
+ foreach (string folder in folders)
+ {
+ string fileName = folder.Substring(folder.LastIndexOf(@"\") + 1);
+
+ //
+ // Exclude cvs folder
+ //
+ if (fileName.ToLower() != "cvs")
+ {
+ if (fileName.Length > 0)
+ {
+ fileName = fileName.Substring(0, 1).ToUpper() + fileName.Substring(1);
+ languageComboBox.Items.Add(fileName);
+ languageComboBox2.Items.Add(fileName);
+
+ // Check language file to user region language
+ if (fileName.ToLower() == strLongLanguage.ToLower())
+ {
+ languageComboBox2.Text = fileName;
+ bExactLanguageFound = true;
+ }
+ else if (!bExactLanguageFound && (fileName.ToLower() == strShortLanguage.ToLower()))
+ {
+ languageComboBox2.Text = fileName;
+ }
+ }
+ }
+ }
}
- catch (ArgumentException)
- {
- }
-
}
}
Modified: trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs 2007-04-03 19:29:55 UTC (rev 284)
+++ trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs 2007-04-04 13:25:09 UTC (rev 285)
@@ -468,12 +468,20 @@
public string iName;
public string fileName=string.Empty;
public bool isLoaded=false;
+ public bool oldFormat = false;
private Dictionary<String, String> _availableLanguages;
Encoding docencoding = null ;
public MPLanguageHelper()
{
Language = new List<LanguageString>();
- Load_Names();
+ if (File.Exists(Config.GetFolder(Config.Dir.Language) + @"\strings_en.xml"))
+ {
+ Load_Names();
+ }
+ else
+ {
+ oldFormat = true;
+ }
}
public void Load_Names()
@@ -521,18 +529,74 @@
}
public void Load(string lg)
{
- if (_availableLanguages.ContainsKey(lg))
+ if (oldFormat)
{
- isLoaded = LoadMap(Config.GetFile(Config.Dir.Language, "strings_" + _availableLanguages[lg] + ".xml"));
- fileName = Config.GetFile(Config.Dir.Language, "strings_" + _availableLanguages[lg] + ".xml");
+ isLoaded = LoadMap_old(Config.GetFile(Config.Dir.Language, lg + @"\strings.xml"));
+ fileName = Config.GetFile(Config.Dir.Language, lg + @"\strings.xml");
}
+ else
+ {
+ if (_availableLanguages.ContainsKey(lg))
+ {
+ isLoaded = LoadMap(Config.GetFile(Config.Dir.Language, "strings_" + _availableLanguages[lg] + ".xml"));
+ fileName = Config.GetFile(Config.Dir.Language, "strings_" + _availableLanguages[lg] + ".xml");
+ }
+ }
}
public void Save()
{
if (isLoaded)
- SaveMap(fileName);
+ if (oldFormat)
+ SaveMap_old(fileName);
+ else
+ SaveMap(fileName);
}
-
+
+ public bool SaveMap_old(string strFileName)
+ {
+ if (strFileName == null) return false;
+ if (strFileName == String.Empty) return false;
+ try
+ {
+ this.Language.Sort(new LanguageStringComparer());
+ XmlTextWriter writer = null;
+ writer = new XmlTextWriter(strFileName, docencoding);
+ writer.Formatting = Formatting.Indented;
+
+ writer.WriteStartDocument();
+ writer.WriteStartElement("strings");
+
+
+ if (!String.IsNullOrEmpty(this.iChars))
+ writer.WriteElementString("characters", this.iChars.Trim());
+
+
+ foreach (LanguageString ls in this.Language)
+ {
+ writer.WriteStartElement("string");
+
+ if (!String.IsNullOrEmpty(ls.prefix))
+ writer.WriteAttributeString("Prefix", ls.prefix);
+ if (!String.IsNullOrEmpty(ls.sufix))
+ writer.WriteAttributeString("Suffix", ls.sufix);
+ writer.WriteElementString("id", ls.dwCode);
+ writer.WriteElementString("value", ls.mapSting);
+ writer.WriteEndElement();
+
+ }
+ writer.WriteEndElement();
+
+ writer.WriteEndDocument();
+ writer.Close();
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show("Language writer error : " + ex.Message);
+ return false;
+ }
+ return true;
+ }
+
public bool SaveMap(string strFileName)
{
if (strFileName == null) return false;
@@ -576,6 +640,62 @@
}
return true;
}
+
+ public bool LoadMap_old(string strFileName)
+ {
+ {
+ // bool isPrefixEnabled = true;
+ this.iChars = string.Empty;
+ this.Language.Clear();
+ if (strFileName == null) return false;
+ if (strFileName == String.Empty) return false;
+ try
+ {
+ XmlDocument doc = new XmlDocument();
+ XmlTextReader reader = new XmlTextReader(strFileName);
+ docencoding = reader.Encoding;
+ doc.Load(reader);
+ if (doc.DocumentElement == null) return false;
+ string strRoot = doc.DocumentElement.Name;
+ if (strRoot != "strings") return false;
+ XmlNode nodeChars = doc.DocumentElement.SelectSingleNode("/strings/characters");
+
+ if (nodeChars != null)
+ {
+ iChars = nodeChars.InnerText;
+
+ }
+ XmlNodeList list = doc.DocumentElement.SelectNodes("/strings/string");
+ foreach (XmlNode node in list)
+ {
+ //StringBuilder builder = new StringBuilder();
+ LanguageString ls = new LanguageString();
+ ls.dwCode = node.SelectSingleNode("id").InnerText;
+
+ XmlAttribute prefix = node.Attributes["Prefix"];
+ if (prefix != null)
+ ls.prefix = prefix.Value;
+ else ls.prefix = String.Empty;
+ ls.mapSting = node.SelectSingleNode("value").InnerText;
+ XmlAttribute suffix = node.Attributes["Suffix"];
+ if (suffix != null)
+ ls.sufix = suffix.Value;
+ else
+ ls.sufix = String.Empty;
+ this.Language.Add(ls);
+ }
+ reader.Close();
+ return true;
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show("Language reader error : " + ex.Message);
+ return false;
+ }
+ }
+
+ }
+
public bool LoadMap(string strFileName)
{
// bool isPrefixEnabled = true;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <du...@us...> - 2007-04-03 19:29:58
|
Revision: 284
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=284&view=rev
Author: dukus
Date: 2007-04-03 12:29:55 -0700 (Tue, 03 Apr 2007)
Log Message:
-----------
Last changes in control panel reverted
Modified Paths:
--------------
trunk/plugins/mpinstaler/MPInstaler/MPInstaler.csproj
trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.Designer.cs
trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.cs
trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.resx
Removed Paths:
-------------
trunk/plugins/mpinstaler/MPInstaler/control/
Modified: trunk/plugins/mpinstaler/MPInstaler/MPInstaler.csproj
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/MPInstaler.csproj 2007-04-02 21:54:43 UTC (rev 283)
+++ trunk/plugins/mpinstaler/MPInstaler/MPInstaler.csproj 2007-04-03 19:29:55 UTC (rev 284)
@@ -75,12 +75,6 @@
<Compile Include="Build dialog.Designer.cs">
<DependentUpon>Build dialog.cs</DependentUpon>
</Compile>
- <Compile Include="control\ControlListView.cs">
- <SubType>UserControl</SubType>
- </Compile>
- <Compile Include="control\TileListItem.cs">
- <SubType>UserControl</SubType>
- </Compile>
<Compile Include="download_form.cs">
<SubType>Form</SubType>
</Compile>
@@ -113,14 +107,6 @@
<SubType>Designer</SubType>
<DependentUpon>Build dialog.cs</DependentUpon>
</EmbeddedResource>
- <EmbeddedResource Include="control\ControlListView.resx">
- <DependentUpon>ControlListView.cs</DependentUpon>
- <SubType>Designer</SubType>
- </EmbeddedResource>
- <EmbeddedResource Include="control\TileListItem.resx">
- <DependentUpon>TileListItem.cs</DependentUpon>
- <SubType>Designer</SubType>
- </EmbeddedResource>
<EmbeddedResource Include="download_form.resx">
<SubType>Designer</SubType>
<DependentUpon>download_form.cs</DependentUpon>
Modified: trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.Designer.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.Designer.cs 2007-04-02 21:54:43 UTC (rev 283)
+++ trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.Designer.cs 2007-04-03 19:29:55 UTC (rev 284)
@@ -43,7 +43,6 @@
this.button4 = new System.Windows.Forms.Button();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
- this.controlListView1 = new ControlListView.ControlListView();
this.button6 = new System.Windows.Forms.Button();
this.label2 = new System.Windows.Forms.Label();
this.comboBox2 = new System.Windows.Forms.ComboBox();
@@ -86,12 +85,11 @@
this.listView1.MultiSelect = false;
this.listView1.Name = "listView1";
this.listView1.ShowItemToolTips = true;
- this.listView1.Size = new System.Drawing.Size(117, 308);
+ this.listView1.Size = new System.Drawing.Size(685, 277);
this.listView1.SmallImageList = this.imageList1;
this.listView1.TabIndex = 0;
this.listView1.UseCompatibleStateImageBehavior = false;
this.listView1.View = System.Windows.Forms.View.Details;
- this.listView1.Visible = false;
this.listView1.SelectedIndexChanged += new System.EventHandler(this.listView1_SelectedIndexChanged);
this.listView1.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.listView1_ColumnClick);
//
@@ -129,7 +127,7 @@
//
this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.button1.Enabled = false;
- this.button1.Location = new System.Drawing.Point(6, 325);
+ this.button1.Location = new System.Drawing.Point(6, 294);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 1;
@@ -140,7 +138,7 @@
// button2
//
this.button2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
- this.button2.Location = new System.Drawing.Point(709, 325);
+ this.button2.Location = new System.Drawing.Point(604, 294);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(75, 23);
this.button2.TabIndex = 2;
@@ -152,7 +150,7 @@
//
this.button3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.button3.Enabled = false;
- this.button3.Location = new System.Drawing.Point(88, 325);
+ this.button3.Location = new System.Drawing.Point(88, 294);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(75, 23);
this.button3.TabIndex = 3;
@@ -164,7 +162,7 @@
//
this.button4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.button4.Enabled = false;
- this.button4.Location = new System.Drawing.Point(169, 325);
+ this.button4.Location = new System.Drawing.Point(169, 294);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(75, 23);
this.button4.TabIndex = 4;
@@ -182,12 +180,11 @@
this.tabControl1.Location = new System.Drawing.Point(1, 1);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
- this.tabControl1.Size = new System.Drawing.Size(801, 395);
+ this.tabControl1.Size = new System.Drawing.Size(696, 364);
this.tabControl1.TabIndex = 5;
//
// tabPage1
//
- this.tabPage1.Controls.Add(this.controlListView1);
this.tabPage1.Controls.Add(this.button6);
this.tabPage1.Controls.Add(this.label2);
this.tabPage1.Controls.Add(this.comboBox2);
@@ -200,38 +197,15 @@
this.tabPage1.Location = new System.Drawing.Point(4, 22);
this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
- this.tabPage1.Size = new System.Drawing.Size(793, 369);
+ this.tabPage1.Size = new System.Drawing.Size(688, 338);
this.tabPage1.TabIndex = 0;
this.tabPage1.Text = "Local";
this.tabPage1.UseVisualStyleBackColor = true;
this.tabPage1.Enter += new System.EventHandler(this.tabPage1_Enter);
//
- // controlListView1
- //
- this.controlListView1.AutoAdjustHeight = false;
- this.controlListView1.AutoResize = false;
- this.controlListView1.AutoScroll = true;
- this.controlListView1.BackColor = System.Drawing.Color.White;
- this.controlListView1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
- this.controlListView1.HorizontalSpacing = 5;
- this.controlListView1.ItemHeight = 100;
- this.controlListView1.ItemHorverColor = System.Drawing.Color.FromArgb(((int)(((byte)(222)))), ((int)(((byte)(222)))), ((int)(((byte)(221)))));
- this.controlListView1.ItemNormalColor = System.Drawing.Color.FromArgb(((int)(((byte)(222)))), ((int)(((byte)(222)))), ((int)(((byte)(221)))));
- this.controlListView1.ItemSelectionColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(102)))), ((int)(((byte)(153)))));
- this.controlListView1.ItemWidth = 250;
- this.controlListView1.Location = new System.Drawing.Point(0, 0);
- this.controlListView1.Name = "controlListView1";
- this.controlListView1.NormalColor = System.Drawing.Color.White;
- this.controlListView1.Selected = false;
- this.controlListView1.SelectedColor = System.Drawing.Color.White;
- this.controlListView1.Size = new System.Drawing.Size(793, 319);
- this.controlListView1.TabIndex = 9;
- this.controlListView1.VerticleSpacing = 5;
- this.controlListView1.SelectedIndexChanged += new ControlListView.SelectedIndexChangedEventHandler(this.controlListView1_SelectedIndexChanged);
- //
// button6
//
- this.button6.Location = new System.Drawing.Point(250, 325);
+ this.button6.Location = new System.Drawing.Point(250, 294);
this.button6.Name = "button6";
this.button6.Size = new System.Drawing.Size(105, 23);
this.button6.TabIndex = 8;
@@ -242,7 +216,7 @@
// label2
//
this.label2.AutoSize = true;
- this.label2.Location = new System.Drawing.Point(361, 311);
+ this.label2.Location = new System.Drawing.Point(361, 280);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(36, 13);
this.label2.TabIndex = 7;
@@ -255,7 +229,7 @@
this.comboBox2.Items.AddRange(new object[] {
"List",
"Icons"});
- this.comboBox2.Location = new System.Drawing.Point(361, 327);
+ this.comboBox2.Location = new System.Drawing.Point(361, 296);
this.comboBox2.Name = "comboBox2";
this.comboBox2.Size = new System.Drawing.Size(82, 21);
this.comboBox2.TabIndex = 6;
@@ -265,7 +239,7 @@
//
this.linkLabel1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.linkLabel1.AutoSize = true;
- this.linkLabel1.Location = new System.Drawing.Point(7, 352);
+ this.linkLabel1.Location = new System.Drawing.Point(7, 321);
this.linkLabel1.Name = "linkLabel1";
this.linkLabel1.Size = new System.Drawing.Size(113, 13);
this.linkLabel1.TabIndex = 5;
@@ -282,7 +256,7 @@
this.tabPage2.Location = new System.Drawing.Point(4, 22);
this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
- this.tabPage2.Size = new System.Drawing.Size(793, 338);
+ this.tabPage2.Size = new System.Drawing.Size(688, 338);
this.tabPage2.TabIndex = 1;
this.tabPage2.Text = "Online";
this.tabPage2.UseVisualStyleBackColor = true;
@@ -383,7 +357,7 @@
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(801, 397);
+ this.ClientSize = new System.Drawing.Size(696, 366);
this.Controls.Add(this.tabControl1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "controlp";
@@ -431,6 +405,5 @@
private System.Windows.Forms.Button button6;
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
- private ControlListView.ControlListView controlListView1;
}
}
\ No newline at end of file
Modified: trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.cs 2007-04-02 21:54:43 UTC (rev 283)
+++ trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.cs 2007-04-03 19:29:55 UTC (rev 284)
@@ -10,7 +10,7 @@
using System.Windows.Forms;
using MediaPortal.GUI.Library;
using MediaPortal.Configuration;
-using ControlListView;
+
namespace MPInstaler
{
public partial class controlp : Form
@@ -24,7 +24,7 @@
public controlp()
{
InitializeComponent();
- controlListView1.ItemIconImageList = imageList1;
+ //pictureBox1.Load("http://webmaster.extra.hu/banner/extra134x77.gif");
}
private void button2_Click(object sender, EventArgs e)
@@ -42,7 +42,6 @@
public void LoadToListview()
{
LoadToListview(lst, listView1);
- LoadToListview(lst, controlListView1);
}
public void LoadToListview(MPInstallHelper mpih, ListView lv)
@@ -70,34 +69,6 @@
SetGroups(0, lv);
}
- public void LoadToListview(MPInstallHelper mpih, ControlListView.ControlListView lv)
- {
- lv.controlList.Clear();
- for (int i = 0; i < mpih.lst.Count; i++)
- {
- MPpackageStruct pk = (MPpackageStruct)mpih.lst[i];
- TileListItem item = new TileListItem();
-
- if (pk._intalerStruct.Logo != null)
- {
- imageList1.Images.Add(pk._intalerStruct.Logo);
- item.ImageIndex = imageList1.Images.Count - 1;
- }
- if (pk.isNew) item.ForeColor = Color.Red;
- if (pk.isUpdated) item.ForeColor = Color.BlueViolet;
- item.Title = pk._intalerStruct.Name;
- item.Description = pk._intalerStruct.Description;
- item.Version = pk._intalerStruct.Version;
- //item1.ToolTipText =
- //item1.SubItems.Add(pk._intalerStruct.Author);
- //item1.SubItems.Add(pk._intalerStruct.Version);
- //item1.SubItems.Add(Path.GetFileName(pk.FileName));
- //item1.SubItems.Add(pk._intalerStruct.Group);
- //lv.Items.AddRange(new ListViewItem[] { item1 });
- this.controlListView1.Add(item);
- }
- }
-
private void InitGroups( ListView myListView)
{
groupTables = new Hashtable[myListView.Columns.Count];
@@ -477,22 +448,6 @@
MessageBox.Show("Exception in plugin loading :{0}", unknownException.Message);
}
}
-
- private void controlListView1_SelectedIndexChanged(object sender, TileListItem item)
- {
- if (controlListView1.Selected)
- {
- button1.Enabled = true;
- button3.Enabled = true;
- button4.Enabled = true;
- }
- else
- {
- button1.Enabled = false;
- button3.Enabled = false;
- button4.Enabled = false;
- }
- }
}
Modified: trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.resx
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.resx 2007-04-02 21:54:43 UTC (rev 283)
+++ trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.resx 2007-04-03 19:29:55 UTC (rev 284)
@@ -124,531 +124,139 @@
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
- ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADC
- eAAAAk1TRnQBSQFMAwEBAAEEAQABBAEAAUABAAFAAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoBAABAQIA
- AUADAAEBAQABIAcAAQE9AAErAgEBQAFIAgIBgAFIAgIBgAFIAgIBgAFIAgIBgAFIAgIBgAFIAgIBgAFI
- AgIBgAFIAgIBgAFIAgIBgAFIAgIBgAFIAgIBgAFIAgIBgAFIAgIBgAFIAgIBgAFIAgIBgAFIAgIBgAFI
- AgIBgAFIAgIBgAFIAgIBgAFIAgIBgAFIAgIBgAFIAgIBgAFIAgIBgAFIAgIBgAFIAgIBgAFIAgIBgAFI
- AgIBgAFIAgIBgAFIAgIBgAFIAgIBgAFIAgIBgAFIAgIBgAFIAgIBgAFIAgIBgAFIAgIBgAFIAgIBgAFI
- AgIBgAFIAgIBgAFIAgIBgAErAgEBQP8A/wD/AF8AAUgCAgGAAR4BPAGBAf8BHwE/AYEB/wEfAUIBgQH/
- AR8BRAGFAf8BHwFGAYgB/wEgAUkBkQH/ASABTAGZAf8BIAFNAZwB/wEgAU0BnwH/ASABUAGoAf8BIAFT
- AbAB/wEgAVQBswH/ASABVQG2Af8BIQFVAbYB/wEhAVUBtgH/ASEBVQG2Af8BIQFVAbYB/wEhAVUBtgH/
- ASEBVQG2Af8BIQFVAbYB/wEhAVUBtgH/ASEBVQG2Af8BIQFVAbYB/wEhAVUBtgH/ASEBVQG2Af8BIQFV
- AbYB/wEhAVUBtgH/ASEBUwGwAf8BIAFRAaoB/wEgAU8BpQH/ASABTQGfAf8BIAFMAZsB/wEgAUsBlgH/
- ASABSQGPAf8BHwFGAYgB/wEfAUMBhQH/AR8BQAGBAf8BHwE+AYEB/wEeATsBgQH/AUgCAgGA/wD/AP8A
- PwABKwIBAUABSAICAYABSAICAYABSAICAYABSAICAYABSAICAYABSAICAYABSAICAYABXAEDAQQBwAEo
- AVABngH/ASkBUwGgAf8BKgFWAaIB/wEsAVgBpQH/AS0BWgGoAf8BLwFdAa0B/wEwAV8BsgH/ATEBYQG0
- Af8BMgFiAbcB/wEzAWUBvAH/ATQBaAHBAf8BNgFpAcMB/wE3AWsBxQH/ATgBbAHGAf8BOQFtAccB/wE6
- AW4ByAH/ATsBbwHIAf8BPAFvAckB/wE9AW8ByQH/AT4BbwHKAf8BPgFvAcoB/wE/AW8BywH/AUABbwHL
- Af8BQQFvAcwB/wFBAW8BzAH/AUEBbwHMAf8BQQFvAcwB/wFBAW4ByQH/AUEBbQHGAf8BQQFsAcQB/wFA
- AWsBwAH/AUABawG+Af8BPwFqAbsB/wE/AWkBtwH/AT0BaAGzAf8BPAFmAbEB/wE7AWUBrgH/AToBYwGr
- Af8BOAFgAagB/wFcAQMBBQHAAUgCAgGAAUgCAgGAAUgCAgGAAUgCAgGAAUgCAgGAAUgCAgGAAUgCAgGA
- ASsCAQFA/wD/AP8AHwABSAICAYABIAFKAZMB/wEiAVABpQH/ASMBVgG2Af8BJgFZAbcB/wEoAVwBuAH/
- ASoBXgG6Af8BLAFgAbsB/wEvAWIBvQH/ATEBZAG/Af8BMwFnAcEB/wE1AWkBwwH/ATgBawHFAf8BOgFt
- AccB/wE9AXAByQH/AT8BcgHKAf8BQQF1AcwB/wFDAXcBzgH/AUYBegHQAf8BSAF8AdEB/wFLAX4B0wH/
- AU0BgAHUAf8BTwGBAdYB/wFRAYEB1wH/AVMBgQHZAf8BVQGBAdoB/wFXAYEB2wH/AVgBgQHcAf8BWgGB
- Ad0B/wFbAYEB3gH/AV0BgQHfAf8BXwGBAeAB/wFgAYEB4QH/AWABgQHhAf8BYQGBAeIB/wFhAYEB4gH/
- AWEBgQHiAf8BYQGBAeIB/wFhAYEB4gH/AWABgQHhAf8BXwGBAeEB/wFeAYEB4AH/AV0BgQHfAf8BWwGB
- Ad4B/wFZAYEB3AH/AVYBgQHaAf8BVAGBAdgB/wFRAYEB1gH/AU0BgQHUAf8BSQF9AdEB/wFFAXkBzgH/
- AUABdAHLAf8BNQFpAcQB/wEqAV4BvAH/ASUBVAGmAf8BIAFJAZAB/wFIAgIBgP8A/wD/ABcAASsCAQFA
- AUgCAgGAAVwBAwEEAcABJAFSAaMB/wEoAVgBrQH/ASsBXQG3Af8BLQFgAbkB/wEvAWIBugH/ATEBZAG9
- Af8BMwFmAb4B/wE1AWgBwAH/ATcBagHCAf8BOQFsAcQB/wE6AW4BxgH/AT0BcAHIAf8BPgFyAcoB/wFB
- AXQBzAH/AUIBdgHNAf8BRAF4Ac4B/wFGAXoB0AH/AUkBfAHRAf8BSgF+AdIB/wFNAYAB1AH/AU4BgQHV
- Af8BUAGBAdYB/wFSAYEB1wH/AVQBgQHZAf8BVQGBAdoB/wFXAYEB2wH/AVgBgQHcAf8BWgGBAd0B/wFb
- AYEB3gH/AV0BgQHfAf8BXwGBAeAB/wFgAYEB4QH/AWEBgQHiAf8BYgGBAeMB/wFjAYEB4wH/AWQBgQHk
- Af8BZQGBAeQB/wFmAYIB5QH/AWYBggHlAf8BZgGDAeYB/wFmAYMB5gH/AWcBhAHmAf8BZgGFAeYB/wFm
- AYYB5QH/AWUBhgHlAf8BZQGGAeQB/wFkAYUB5AH/AWMBhQHjAf8BYgGEAeIB/wFhAYIB4QH/AV8BgQHg
- Af8BWQGBAd0B/wFUAX0B2QH/AUMBbwHEAf8BMgFgAa8B/wFcAQMBBAHAAUgCAgGAASsCAQFA/wD/AP8A
- DwABSAICAYABIAFLAZYB/wEkAVIBpQH/AScBWQGzAf8BLQFfAbUB/wEyAWQBtwH/ATQBZgG6Af8BNgFo
- AbwB/wE4AWoBvwH/ATkBbAHBAf8BOwFuAcMB/wE8AW8BxQH/AT4BcQHHAf8BPwFzAckB/wFBAXUBywH/
- AUIBdgHNAf8BRAF4Ac4B/wFFAXkBzwH/AUcBewHQAf8BSQF8AdEB/wFLAX4B0gH/AUwBfwHTAf8BTgGB
- AdQB/wFPAYEB1QH/AVEBgQHWAf8BUgGBAdcB/wFUAYEB2QH/AVUBgQHaAf8BVwGBAdsB/wFYAYEB3AH/
- AVoBgQHdAf8BWwGBAd4B/wFdAYEB3wH/AV4BgQHgAf8BYAGBAeEB/wFhAYEB4gH/AWMBgQHjAf8BZQGB
- AeQB/wFnAYEB5QH/AWgBgQHmAf8BagGCAegB/wFrAYIB6QH/AW0BhAHqAf8BbgGFAesB/wFwAYcB7AH/
- AXEBiAHtAf8BcwGKAe4B/wF0AYsB7wH/AXYBjQHwAf8BdwGOAfEB/wF5AZAB8gH/AXoBkgHzAf8BfAGT
- AfQB/wF9AZQB9QH/AX0BlAH1Af8BfQGUAfUB/wFhAYIB4gH/AUQBdwHOAf8BMgFhAbEB/wEfAUoBkwH/
- AUgCAgGA/wD/AP8ADwABSAICAYABIQFQAaUB/wEmAVcBrAH/ASsBXQGyAf8BLwFhAbQB/wEyAWQBtgH/
- ATQBZgG5Af8BNgFoAbsB/wE4AWoBvgH/ATkBbAHAAf8BOwFuAcIB/wE8AW8BxAH/AT4BcQHHAf8BPwFz
- AckB/wFBAXUBywH/AUIBdgHNAf8BRAF4Ac4B/wFFAXkBzwH/AUcBewHQAf8BSQF8AdEB/wFLAX4B0gH/
- AUwBfwHTAf8BTgGBAdQB/wFPAYEB1QH/AVEBgQHWAf8BUgGBAdcB/wFUAYEB2QH/AVUBgQHaAf8BVwGB
- AdsB/wFYAYEB3AH/AVoBgQHdAf8BWwGBAd4B/wFdAYEB3wH/AV4BgQHgAf8BYAGBAeEB/wFhAYEB4gH/
- AWMBgQHjAf8BZQGBAeQB/wFnAYEB5QH/AWgBgQHmAf8BagGCAegB/wFrAYIB6QH/AW0BhAHqAf8BbgGF
- AesB/wFwAYcB7AH/AXEBiAHtAf8BcwGKAe4B/wF0AYsB7wH/AXYBjQHwAf8BdwGOAfEB/wF5AZAB8gH/
- AXoBkgHzAf8BfAGTAfQB/wF9AZQB9QH/AX4BlQH2Af8BfwGWAfYB/wFxAY0B7QH/AWIBgwHiAf8BRAFw
- AcYB/wEmAVUBqQH/AUgCAgGA/wD/AP8ADwABSAICAYABIgFVAbMB/wEoAVsBsgH/AS4BYAGwAf8BMAFi
- AbMB/wEyAWQBtQH/ATQBZgG4Af8BNQFnAboB/wE3AWkBvQH/ATkBawG/Af8BOwFtAcEB/wE8AW4BwwH/
- AT4BcAHGAf8BPwFyAcgB/wFBAXQBygH/AUIBdgHMAf8BRAF4Ac4B/wFFAXkBzwH/AUcBewHQAf8BSAF8
- AdEB/wFKAX4B0gH/AUsBfwHTAf8BTQGBAdQB/wFPAYEB1QH/AVEBgQHWAf8BUgGBAdcB/wFUAYEB2AH/
- AVUBgQHZAf8BVwGBAdsB/wFYAYEB3AH/AVoBgQHdAf8BWwGBAd4B/wFdAYEB3wH/AV4BgQHgAf8BYAGB
- AeEB/wFhAYEB4gH/AWMBgQHjAf8BZAGBAeQB/wFmAYEB5QH/AWcBgQHmAf8BaQGCAecB/wFrAYIB6AH/
- AW0BhAHpAf8BbgGFAeoB/wFwAYcB6wH/AXEBiAHsAf8BcwGKAe4B/wF0AYsB7wH/AXYBjQHwAf8BdwGO
- AfEB/wF5AZAB8gH/AXoBkQHzAf8BfAGTAfQB/wF9AZQB9QH/AX8BlgH2Af8BgAGXAfcB/wGAAZcB9wH/
- AX8BlgH2Af8BVgF/AdoB/wEsAWABvgH/AUgCAgGA/wD/AP8ADwABSAICAYABJAFWAbEB/wEpAVsBsQH/
- AS4BYAGvAf8BMAFiAbIB/wEyAWQBtAH/ATQBZgG3Af8BNQFnAbkB/wE3AWkBvAH/ATkBawG+Af8BOwFt
- AcAB/wE8AW4BwgH/AT4BcAHFAf8BPwFyAccB/wFBAXQByQH/AUIBdgHLAf8BRAF4Ac0B/wFFAXkBzwH/
- AUcBewHQAf8BSAF8AdEB/wFKAX4B0gH/AUsBfwHTAf8BTQGBAdQB/wFPAYEB1QH/AVEBgQHWAf8BUgGB
- AdcB/wFUAYEB2AH/AVUBgQHZAf8BVwGBAdsB/wFYAYEB3AH/AVoBgQHdAf8BWwGBAd4B/wFdAYEB3wH/
- AV4BgQHgAf8BYAGBAeEB/wFhAYEB4gH/AWMBgQHjAf8BZAGBAeQB/wFmAYEB5QH/AWcBgQHmAf8BaQGC
- AecB/wFrAYIB6AH/AW0BhAHpAf8BbgGFAeoB/wFwAYcB6wH/AXEBiAHsAf8BcwGKAe4B/wF0AYsB7wH/
- AXYBjQHwAf8BdwGOAfEB/wF5AZAB8gH/AXoBkQHzAf8BewGTAfQB/wF8AZQB9QH/AX4BlQH2Af8BfwGW
- AfYB/wF/AZYB9wH/AX8BlgH2Af8BXAGBAd4B/wE5AW0BxgH/AUgCAgGA/wD/AP8ADwABSAICAYABJQFX
- Aa8B/wEqAVsBrwH/AS4BXwGuAf8BMAFhAbEB/wEyAWMBswH/ATQBZQG2Af8BNQFnAbgB/wE3AWkBuwH/
- ATgBagG9Af8BOgFsAb8B/wE7AW4BwQH/AT0BcAHEAf8BPgFxAcYB/wFAAXMByAH/AUIBdQHKAf8BRAF3
- AcwB/wFFAXgBzgH/AUcBegHPAf8BSAF7AdAB/wFKAX0B0gH/AUsBfwHTAf8BTQGBAdQB/wFOAYEB1QH/
- AVABgQHWAf8BUQGBAdcB/wFTAYEB2AH/AVQBgQHZAf8BVgGBAdoB/wFXAYEB2wH/AVkBgQHcAf8BWgGB
- Ad0B/wFcAYEB3gH/AV4BgQHfAf8BYAGBAeAB/wFhAYEB4QH/AWMBgQHjAf8BZAGBAeQB/wFmAYEB5QH/
- AWcBgQHmAf8BaQGBAecB/wFqAYEB6AH/AWwBgwHpAf8BbQGEAeoB/wFvAYYB6wH/AXABhwHsAf8BcgGJ
- Ae0B/wFzAYoB7gH/AXUBjAHvAf8BdgGNAfAB/wF4AY8B8QH/AXkBkAHyAf8BegGSAfMB/wF7AZMB9AH/
- AXwBlAH1Af8BfQGUAfUB/wF+AZUB9gH/AX4BlQH2Af8BYgGDAeIB/wFFAXkBzgH/AUgCAgGA/wD/AP8A
- DwABSAICAYABJgFYAa4B/wEqAVsBrgH/AS4BXwGtAf8BMAFhAbAB/wEyAWMBsgH/ATQBZQG1Af8BNQFn
- AbcB/wE3AWkBugH/ATgBagG8Af8BOgFsAb4B/wE7AW4BwAH/AT0BcAHDAf8BPgFxAcUB/wFAAXMBxwH/
- AUIBdQHJAf8BRAF3AcwB/wFFAXgBzgH/AUcBegHPAf8BSAF7AdAB/wFKAX0B0gH/AUsBfwHTAf8BTQGB
- AdQB/wFOAYEB1QH/AVABgQHWAf8BUQGBAdcB/wFTAYEB2AH/AVQBgQHZAf8BVgGBAdoB/wFXAYEB2wH/
- AVkBgQHcAf8BWgGBAd0B/wFcAYEB3gH/AV4BgQHfAf8BYAGBAeAB/wFhAYEB4QH/AWMBgQHjAf8BZAGB
- AeQB/wFmAYEB5QH/AWcBgQHmAf8BaQGBAecB/wFqAYEB6AH/AWwBgwHpAf8BbQGEAeoB/wFvAYYB6wH/
- AXABhwHsAf8BcgGJAe0B/wFzAYoB7gH/AXQBjAHvAf8BdQGNAfAB/wF3AY4B8QH/AXgBjwHyAf8BeQGR
- AfMB/wF6AZIB8wH/AXsBkwH0Af8BfAGTAfQB/wF9AZQB9QH/AX0BlAH1Af8BZAGFAeQB/wFKAX4B0gH/
- AUgCAgGA/wD/AP8ADwABSAICAYABJgFYAawB/wEqAVsBrAH/AS4BXgGsAf8BMAFgAa8B/wExAWIBsQH/
- ATMBZAG0Af8BNQFmAbYB/wE3AWgBuQH/ATgBaQG7Af8BOgFrAb0B/wE7AW0BvwH/AT0BbwHCAf8BPgFw
- AcQB/wFAAXIBxgH/AUEBdAHIAf8BQwF2AcsB/wFEAXgBzQH/AUYBegHPAf8BRwF7AdAB/wFJAX0B0QH/
- AUoBfgHSAf8BTAGAAdMB/wFOAYEB1AH/AVABgQHVAf8BUQGBAdYB/wFTAYEB2AH/AVQBgQHZAf8BVgGB
- AdoB/wFXAYEB2wH/AVkBgQHcAf8BWgGBAd0B/wFcAYEB3gH/AV0BgQHfAf8BXwGBAeAB/wFgAYEB4QH/
- AWIBgQHiAf8BYwGBAeMB/wFlAYEB5AH/AWYBgQHlAf8BaAGBAeYB/wFpAYEB5wH/AWsBggHoAf8BbAGD
- AekB/wFuAYUB6gH/AW8BhgHrAf8BcQGIAewB/wFyAYkB7QH/AXMBiwHuAf8BdAGMAe8B/wF2AY0B8AH/
- AXcBjgHxAf8BeAGPAfIB/wF5AZAB8gH/AXoBkQHzAf8BewGSAfMB/wF7AZMB9AH/AXsBkwH0Af8BZQGH
- AeUB/wFOAYEB1QH/AUgCAgGA/wD/AP8ACwABSAICAYABXAEDAQQBwAEnAVgBqwH/ASoBWwGrAf8BLgFe
- AasB/wEwAWABrgH/ATEBYgGwAf8BMwFkAbMB/wE0AWYBtQH/ATYBaAG4Af8BOAFpAboB/wE6AWsBvAH/
- ATsBbQG+Af8BPQFvAcEB/wE+AXABwwH/AUABcgHFAf8BQQF0AccB/wFDAXYBygH/AUQBdwHMAf8BRgF5
- Ac4B/wFHAXsB0AH/AUkBfQHRAf8BSgF+AdIB/wFMAYAB0wH/AU4BgQHUAf8BUAGBAdUB/wFRAYEB1gH/
- AVMBgQHYAf8BVAGBAdkB/wFWAYEB2gH/AVcBgQHbAf8BWQGBAdwB/wFaAYEB3QH/AVoBgQHeAf8BWQGB
- Ad8B/wFXAYEB3wH/AVQBgQHeAf8BWQGBAeAB/wFeAYEB4QH/AVwBgQHiAf8BWgGBAeIB/wFfAYEB5QH/
- AWQBgQHnAf8BbAGFAekB/wFzAYkB6gH/AW0BhwHrAf8BZwGEAesB/wFsAYYB7AH/AXEBiAHtAf8BcwGK
- Ae4B/wF0AYsB7wH/AXUBjAHwAf8BdgGNAfAB/wF3AY4B8QH/AXgBjwHyAf8BeQGQAfIB/wF6AZEB8gH/
- AXoBkgHzAf8BegGSAfMB/wFmAYgB5gH/AVIBgQHYAf8BXAEEAQUBwAFIAgIBgAErAgEBQP8A/wD/AAMA
- AR8BPwGBAf8BIwFLAZUB/wEnAVcBqQH/ASoBWgGpAf8BLQFdAakB/wEvAV8BrAH/ATABYQGvAf8BMgFj
- AbIB/wEzAWUBtAH/ATUBZwG3Af8BNwFoAbkB/wE5AWoBuwH/AToBbAG9Af8BPAFuAcAB/wE9AXABwgH/
- AT8BcgHEAf8BQAFzAcYB/wFCAXUByQH/AUMBdgHLAf8BRQF4Ac0B/wFHAXoBzwH/AUkBfAHRAf8BSgF9
- AdIB/wFMAX8B0wH/AU0BgAHUAf8BTwGBAdUB/wFQAYEB1gH/AVIBgQHXAf8BUwGBAdgB/wFVAYEB2QH/
- AVYBgQHaAf8BWAGBAdsB/wFZAYEB3AH/AVcBgQHdAf8BVQGBAd4B/wFOAYEB3QH/AUcBfwHbAf8BUAGB
- Ad0B/wFZAYEB3wH/AVMBgQHfAf8BTQGBAd8B/wFWAYEB4wH/AV8BgQHnAf8BbQGIAekB/wF6AY4B6wH/
- AWwBiAHrAf8BXgGBAeoB/wFnAYQB6wH/AXABhwHsAf8BcgGJAe0B/wFzAYoB7gH/AXQBiwHvAf8BdQGM
- Ae8B/wF2AY0B8AH/AXcBjgHxAf8BeAGPAfEB/wF4AY8B8QH/AXgBkAHyAf8BeAGQAfIB/wFnAYkB5gH/
- AVUBgQHaAf8BOgFkAa4B/wEfAT8BgQH/AUgCAgGA/wD/AP8AAwABHwFCAYIB/wEkAU0BlQH/ASkBWQGo
- Af8BKwFbAagB/wEtAV0BqAH/AS8BXwGrAf8BMAFhAa4B/wEyAWMBsQH/ATMBZQGzAf8BNQFnAbYB/wE3
- AWgBuAH/ATkBagG6Af8BOgFsAbwB/wE8AW4BvwH/AT0BcAHBAf8BPwFyAcMB/wFAAXMBxQH/AUIBdQHI
- Af8BQwF2AcoB/wFFAXgBzAH/AUcBegHOAf8BSQF8AdAB/wFKAX0B0gH/AUwBfwHTAf8BTQGAAdQB/wFP
- AYEB1QH/AVABgQHWAf8BUgGBAdcB/wFTAYEB2AH/AVUBgQHZAf8BVgGBAdoB/wFYAYEB2wH/AVkBgQHc
- Af8BVQGBAd0B/wFRAYEB3gH/AXsBnAHmAf8BngG6Ae0B/wGjAb0B7gH/AagBwAHvAf8BhgGnAesB/wFr
- AY4B5wH/AYEBogHtAf8BngG2AfIB/wGsAb8B9AH/AbkBxwH1Af8BjAGmAfAB/wFnAYQB6wH/AWoBhAHr
- Af8BbAGEAewB/wFvAYcB7QH/AXIBiQHtAf8BcwGKAe4B/wF0AYsB7wH/AXUBjAHwAf8BdgGNAfAB/wF3
- AY4B8AH/AXcBjgHwAf8BdwGPAfEB/wF3AY8B8QH/AWgBiAHnAf8BWAGBAdwB/wE8AWYBrwH/AR8BQgGC
- Af8BSAICAYD/AP8A/wADAAEfAUQBggH/ASUBTwGVAf8BKwFaAacB/wEsAVsBpwH/ASwBXAGnAf8BLgFe
- AaoB/wEvAWABrAH/ATEBYgGvAf8BMwFkAbIB/wE1AWYBtQH/ATYBZwG3Af8BOAFpAbkB/wE6AWsBuwH/
- ATwBbQG+Af8BPQFvAcAB/wE/AXEBwgH/AUABcgHEAf8BQgF0AccB/wFDAXYByQH/AUUBeAHLAf8BRgF5
- Ac0B/wFIAXsBzwH/AUkBfAHRAf8BSwF+AdIB/wFMAX8B0wH/AU4BgQHUAf8BTwGBAdUB/wFRAYEB1gH/
- AVIBgQHXAf8BVAGBAdgB/wFVAYEB2QH/AVcBgQHaAf8BWAGBAdsB/wFSAYEB3QH/AUwBgQHeAf8BoAG7
- Ae8B/wL8Av8C/gb/AcABzgH3Af8BgQGcAe4B/wGzAcQB9gH/AeQB6wH9Af8B8gH1Af4F/wG0AcMB9QH/
- AXABhgHrAf8BbAGEAesB/wFoAYEB6wH/AWwBhQHsAf8BcAGIAewB/wFxAYkB7QH/AXIBigHuAf8BcwGL
- Ae8B/wF0AYsB7wH/AXUBjAHvAf8BdQGMAe8B/wF1AY0B8AH/AXUBjQHwAf8BaAGHAecB/wFbAYEB3gH/
- AT0BZwGwAf8BHwFEAYIB/wFIAgIBgP8A/wD/AAMAAR8BRgGIAf8BMAFZAZsB/wFAAWsBrQH/AT0BaAGs
- Af8BOQFmAasB/wE1AWMBqwH/ATABYAGrAf8BMQFiAa4B/wEzAWMBsQH/ATUBZQG0Af8BNgFnAbYB/wE4
- AWkBuAH/AToBawG6Af8BPAFtAb0B/wE9AW4BvwH/AT8BcAHBAf8BQAFyAcMB/wFCAXQBxgH/AUMBdQHI
- Af8BRQF3AcoB/wFGAXkBzAH/AUgBewHOAf8BSQF8AdAB/wFLAX4B0gH/AUwBfwHTAf8BTgGBAdQB/wFP
- AYEB1QH/AVEBgQHWAf8BUgGBAdcB/wFUAYEB2AH/AVUBgQHZAf8BVQGBAdoB/wFUAYEB2wH/AUkBgAHb
- Af8BPQF5AdsB/wGaAbcB7QH/Av4K/wHfAecB+wH/Ab8BzQH2Af8B2QHiAfoB/wHyAfUB/gH/AfkB+gb/
- Ab0BzQH3Af8BgQGaAe8B/wFuAY4B7AH/AVkBgQHpAf8BYQGDAesB/wFpAYUB7AH/AW0BhwHtAf8BcQGJ
- Ae0B/wFyAYoB7gH/AXMBigHuAf8BdAGLAe4B/wF0AYsB7gH/AXQBjAHvAf8BdAGMAe8B/wFpAYcB6AH/
- AV4BgQHgAf8BPwFoAbQB/wEfAUYBiAH/AUgCAgGA/wD/AP8AAwABHwFIAY0B/wE6AWIBoAH/AVQBewGz
- Af8BTQF1AbEB/wFFAW8BrgH/ATsBZwGsAf8BMAFfAaoB/wExAWEBrQH/ATIBYgGvAf8BNAFkAbIB/wE1
- AWYBtAH/ATcBaAG3Af8BOQFqAbkB/wE7AWwBvAH/ATwBbQG+Af8BPgFvAcAB/wE/AXEBwgH/AUEBcwHF
- Af8BQgF0AccB/wFEAXYByQH/AUUBeAHLAf8BRwF6Ac0B/wFIAXsBzwH/AUoBfQHRAf8BSwF+AdIB/wFN
- AYAB1AH/AU4BgQHVAf8BUAGBAdYB/wFRAYEB1wH/AVMBgQHYAf8BVAGBAdkB/wFSAYEB2gH/AVABgQHb
- Af8BPwF6AdkB/wEuAW8B1wH/AZMBswHrA/8B/gn/Af4B/wH+Af8B/QH+Af0B/wH+Af8B/g3/AcUB1wH5
- Af8BiwGuAfIB/wFvAZcB7AH/AUoBgQHmAf8BVgGBAekB/wFiAYEB6wH/AWkBhAHsAf8BcAGHAewB/wFx
- AYgB7QH/AXEBiAHtAf8BcgGJAe0B/wFyAYkB7QH/AXMBigHuAf8BcwGKAe4B/wFqAYYB6AH/AWABgQHh
- Af8BQAFpAbgB/wEfAUgBjgH/AUgCAgGA/wD/AP8AAwABIAFLAZYB/wE+AWYBpQH/AVwBgQG0Af8BWAF9
- AbQB/wFTAXoBsgH/AUoBcwGxAf8BQAFsAa8B/wE3AWYBrwH/AS8BYAGuAf8BMgFjAbEB/wE1AWYBswH/
- ATcBaAG2Af8BOAFpAbgB/wE6AWsBuwH/ATwBbQG9Af8BPgFvAb8B/wE/AXABwQH/AUEBcgHEAf8BQgF0
- AcYB/wFEAXYByAH/AUUBdwHKAf8BRwF5AcwB/wFIAXsBzgH/AUoBfQHQAf8BSwF+AdIB/wFMAYAB1AH/
- AU0BgQHVAf8BTwGBAdYB/wFRAYEB1wH/AVABgQHYAf8BTgGBAdgB/wFQAYEB2gH/AVIBgQHcAf8BVQGB
- Ad4B/wFXAYEB3wH/AagBvAHvBf8B2QHgAfgB/wGyAcEB8QH/AaUBvAHvAf8BlwG2AewB/wGYAbcB7QH/
- AZkBuAHuAf8BrwHGAfMB/wHEAdQB9wH/AcUB1gH4Af8BxQHXAfkB/wGzAcsB9gH/AaEBvwHzAf8BhgGm
- AfAB/wFzAYwB7AH/AXABiQHsAf8BbQGGAesB/wFvAYcB7AH/AXABhwHsAf8BcQGIAe0B/wFxAYgB7QH/
- AXIBiQHtAf8BcgGJAe0B/wFqAYUB6AH/AWIBgQHiAf8BQQFqAb0B/wEgAUsBlwH/AUgCAgGA/wD/AP8A
- AwABIAFNAZ8B/wFCAWoBqgH/AWMBgQG1Af8BYgGBAbYB/wFgAYEBtgH/AVgBfgG1Af8BTwF4AbQB/wE9
- AWsBsQH/ASsBXQGtAf8BMAFhAbAB/wE0AWUBsgH/ATYBZwG1Af8BNwFoAbcB/wE5AWoBuQH/ATsBbAG7
- Af8BPQFuAb4B/wE+AW8BwAH/AUABcQHCAf8BQQFzAcQB/wFDAXUBxwH/AUQBdgHJAf8BRgF4AcsB/wFH
- AXoBzQH/AUkBfAHPAf8BSgF9AdEB/wFLAX8B0wH/AUwBgAHUAf8BTgGBAdUB/wFQAYEB1gH/AUwBgQHX
- Af8BSAGAAdcB/wFOAYEB2gH/AVMBgQHdAf8BagGEAeIB/wGAAYsB5wH/AbwBxQHzBf8BsgHBAfEB/wFt
- AYIB4wH/AVMBgAHfAf8BOQF2AdsB/wE6AXcB3AH/AToBeAHdAf8BZgGNAeYB/wGJAakB7wH/AcQB1AH3
- Df8BvgHLAfYB/wGBAZYB7AH/AXcBjQHrAf8BaQGEAeoB/wFsAYUB6wH/AW4BhgHrAf8BbwGHAewB/wFv
- AYcB7AH/AXABhwHsAf8BcAGHAewB/wFqAYQB6AH/AWMBgQHjAf8BQgFrAcEB/wEgAU0BnwH/AUgCAgGA
- /wD/AP8AAwABIQFOAaIB/wFIAWsBrQH/AW4BgQG4Af8BaQGBAbgB/wFkAYEBtwH/AV4BgQG3Af8BWAF/
- AbYB/wFMAXcBtAH/AT8BbQGxAf8BOAFoAbEB/wExAWIBsQH/ATQBZQG0Af8BNwFoAbYB/wE5AWoBuAH/
- AToBawG6Af8BPAFtAb0B/wE+AW8BvwH/AUABcQHBAf8BQQFyAcMB/wFDAXQBxgH/AUQBdgHIAf8BRQF4
- AcoB/wFGAXkBzAH/AUgBewHOAf8BSQF8AdAB/wFLAX4B0gH/AUwBgAHTAf8BTgGBAdUB/wFPAYEB1gH/
- AUoBgAHWAf8BRAF8AdUB/wFwAZIB3wH/AZMBsQHpAf8BqAG7Ae4B/wG8AcUB8wH/Ac4B1wH3Af8B3wHp
- AfoB/wGWAbEB7AH/AVUBgQHeAf8BUAGAAd4B/wFMAYAB3gH/AU0BgAHfAf8BTgGBAd8B/wFaAYMB4wH/
- AWYBjQHnAf8BrwHGAfMD/wH+Af8B+AH6Af4B/wHyAfUB/gH/AbIBwgH1Af8BeQGPAesB/wFyAYkB6gH/
- AWoBgwHpAf8BbAGEAeoB/wFtAYUB6gH/AW4BhgHrAf8BbgGGAesB/wFvAYYB6wH/AW8BhgHrAf8BagGE
- AegB/wFkAYEB5AH/AUMBbAHDAf8BIAFOAaIB/wFIAgIBgP8A/wD/AAMAASEBTwGkAf8BTQFsAbAB/wF5
- AYEBuwH/AXABgQG5Af8BZwGBAbcB/wFkAYEBuAH/AWEBgQG4Af8BWgGBAbcB/wFTAX0BtQH/AUABbgGy
- Af8BLQFeAa8B/wEyAWMBsgH/ATYBZwG0Af8BOAFpAbcB/wE5AWoBuQH/ATsBbAG8Af8BPQFuAb4B/wE/
- AXABwAH/AUABcQHCAf8BQgFzAcQB/wFDAXUBxgH/AUQBdwHIAf8BRQF4AcoB/wFHAXoBzAH/AUgBewHO
- Af8BSgF9AdAB/wFLAX8B0gH/AU0BgQHUAf8BTgGBAdUB/wFHAX0B1AH/AUABdwHSAf8BigGqAeQB/wHb
- AeUB9QH/Ae0B8gH6Bf8B3wHpAfoB/wG/AdIB9QH/AYEBoQHnAf8BPAF3AdgB/wFNAYAB3AH/AV4BgQHg
- Af8BYAGBAeEB/wFhAYEB4QH/AU4BgQHgAf8BOwF5Ad8B/wGZAbgB7gH/Av4B/QH/AfEB9AH9Af8B5AHq
- AfwB/wGlAbkB8wH/AW4BhwHqAf8BbAGFAekB/wFqAYIB6AH/AWsBgwHpAf8BbAGDAekB/wFsAYQB6gH/
- AWwBhAHqAf8BbQGEAeoB/wFtAYQB6gH/AWkBgwHnAf8BZQGBAeQB/wFDAWwBxQH/ASABTwGlAf8BSAIC
- AYD/AP8A/wADAAEjAVMBrQH/AVIBcQG2Af8BgQGGAb8B/wF2AYQBvAH/AWsBgQG4Af8BaAGBAbkB/wFl
- AYEBuQH/AWIBgQG6Af8BXgGBAboB/wFNAXcBtgH/ATsBaQGyAf8BOAFnAbMB/wE0AWQBswH/ATcBZwG2
- Af8BOQFqAbgB/wE7AWwBuwH/ATwBbQG9Af8BPgFvAb8B/wE/AXEBwQH/AUABcQHDAf8BPwFwAcUB/wE8
- AXABxgH/ATkBbgHGAf8BPQFyAckB/wFBAXYBzAH/AUMBeAHPAf8BRQF5AdEB/wFJAX4B0wH/AU0BgQHU
- Af8BRQF7AdUB/wE8AXUB1AH/AXoBmQHhAf8BrwHEAe4B/wHXAeIB9wX/AdsB5gH5Af8BtwHNAfIB/wF+
- AZ8B5gH/AT0BeAHZAf8BTQGBAdwB/wFdAYEB3wH/AV8BgQHgAf8BYAGBAeEB/wFPAYEB3wH/AT0BeQHd
- Af8BlwG3Ae0B/wH5AfsB/QH/Ac0B2QH5Af8BoQG2AfMB/wGBAZ0B7gH/AWABhAHoAf8BZQGDAegB/wFp
- AYIB5wH/AWoBggHoAf8BawGCAegB/wFrAYMB6QH/AWsBgwHpAf8BbAGDAekB/wFsAYMB6QH/AWkBggHn
- Af8BZQGBAeUB/wFDAW4BygH/ASABUgGuAf8BSAICAYD/AP8A/wADAAElAVcBtQH/AVcBdQG8Af8BgQGK
- AcIB/wF8AYYBvgH/AW8BgQG5Af8BbAGBAbkB/wFoAYEBuQH/AWkBgQG8Af8BaQGBAb4B/wFZAX8BugH/
- AUkBdAG1Af8BPQFrAbMB/wExAWEBsQH/ATUBZQG0Af8BOAFpAbYB/wE6AWsBuQH/ATsBbAG7Af8BPQFu
- Ab4B/wE+AXABwAH/AT0BbgHCAf8BOwFrAcQB/wE0AWgBwwH/ASwBZAHCAf8BMwFqAcYB/wE6AXABygH/
- ATwBcgHNAf8BPgFzAdAB/wFFAXoB0gH/AUwBgAHTAf8BQgF5AdUB/wE3AXIB1gH/AWEBhwHeAf8BgwGj
- AeYB/wHBAdEB8wX/AdcB4wH3Af8BrwHHAe8B/wF6AZwB5AH/AT0BeAHZAf8BTQGBAdwB/wFcAYEB3gH/
- AV4BgQHfAf8BXwGBAeAB/wFPAYEB3gH/AT4BeQHbAf8BlQG1AewB/wH0AfgB/QH/AakBvQH0Af8BZQGB
- AeoB/wFcAYEB6AH/AVIBgQHlAf8BXQGBAeYB/wFoAYEB5gH/AWkBgQHnAf8BaQGBAecB/wFpAYEB6AH/
- AWkBgQHoAf8BagGBAegB/wFqAYEB6AH/AWgBgQHnAf8BZQGBAeUB/wFDAW8BzgH/ASABVQG2Af8BSAIC
- AYD/AP8A/wADAAEnAVkBtQH/AVkBegG+Af8BggGSAcUB/wF+AYoBwAH/AXIBgQG6Af8BcAGBAboB/wFs
- AYEBugH/AWsBgQG8Af8BagGBAb0B/wFiAYEBvAH/AVoBfwG6Af8BRAFwAbYB/wEuAWEBsQH/ATMBZQGz
- Af8BNwFoAbUB/wE5AWoBuAH/AToBbAG6Af8BPAFuAb0B/wE+AW8BvwH/ATkBawG/Af8BMwFmAcAB/wFZ
- AYEBzQH/AX4BmAHaAf8BiAGmAd8B/wGZAbQB5QH/AWcBiQHXAf8BLQFlAckB/wE0AWwBzAH/AToBcgHO
- Af8BSwF6AdUB/wFbAYEB2wH/AWwBhgHfAf8BfQGSAeIB/wGIAaUB5gH/AZoBuAHqAf8BuQHOAfEB/wHX
- AeMB9wH/AYUBqQHoAf8BOgF1AdgB/wFFAXsB2gH/AU4BgQHcAf8BTwGBAd0B/wFPAYEB3QH/AU4BgQHe
- Af8BTQGBAd8B/wGfAbsB7wH/AfoB/AH+Af8BygHXAfcB/wGZAbEB7wH/AXwBmQHqAf8BVgGBAeQB/wFe
- AYEB5QH/AWcBgQHlAf8BaAGBAeYB/wFoAYEB5gH/AWgBgQHnAf8BaAGBAecB/wFpAYEB5wH/AWkBgQHn
- Af8BZwGBAecB/wFlAYEB5QH/AUMBbwHOAf8BIQFVAbYB/wFIAgIBgP8A/wD/AAMAASgBWgG1Af8BWgF+
- Ab8B/wGDAZkByAH/AYABjQHBAf8BdQGBAboB/wFzAYEBugH/AXABgQG6Af8BbQGBAbsB/wFqAYEBuwH/
- AWoBgQG9Af8BagGBAb8B/wFLAXUBuAH/ASsBYAGwAf8BMQFkAbIB/wE2AWcBtAH/ATgBaQG2Af8BOQFr
- AbgB/wE7AW0BuwH/AT0BbgG9Af8BNAFoAbwB/wEqAWEBuwH/AX0BlwHWAf8ByAHUAfEB/wHkAeoB+AX/
- AYoBpwHgAf8BHAFWAcEB/wEiAV0BxQH/AScBZAHJAf8BUwF7AdQB/wF/AYkB3wH/AXcBhQHfAf8BbwGB
- Ad4B/wFWAYEB2QH/AT0BeAHUAf8BmgG4AeoF/wGXAbUB6wH/ATcBcgHWAf8BPAF1AdgB/wFAAXgB2QH/
- AT8BeQHaAf8BPgF5AdoB/wFNAYEB3gH/AVsBgQHiAf8BqQHAAfEF/wHqAfAB+gH/AdQB4QH0Af8BkwGx
- AewB/wFZAYEB4wH/AV8BgQHkAf8BZQGBAeQB/wFmAYEB5QH/AWYBgQHlAf8BZwGBAeYB/wFnAYEB5gH/
- AWcBgQHmAf8BZwGBAeYB/wFmAYEB5gH/AWUBgQHlAf8BQwFvAc0B/wEhAVUBtQH/AUgCAgGA/wD/AP8A
- AwABKgFbAbUB/wFfAYEBwQH/AYwBoAHLAf8BgQGRAcMB/wF5AYEBuwH/AXcBgQG7Af8BdAGBAbsB/wFx
- AYEBvAH/AW4BgQG8Af8BbgGBAb4B/wFuAYEBwAH/AVUBeQG5Af8BOwFoAbIB/wE0AWQBsQH/ASwBXwGw
- Af8BNAFmAbQB/wE8AWwBuQH/ATQBZQG3Af8BLQFeAbUB/wEoAVgBtQH/ASMBUQG1Af8BfwGSAdQB/wHT
- AdsB8wH/AekB7gH5Bf8BugHLAe0B/wF8AZUB2gH/AW4BjAHYAf8BXwGDAdYB/wGJAaQB4wH/AbsBxAHv
- Af8BtwHCAe8B/wGzAcAB7wH/AYcBogHlAf8BYwGDAdsB/wGtAcIB7QX/AcsB2gH1Af8BlwG1AesB/wGD
- AaUB6AH/AXUBlQHkAf8BeAGYAeUB/wF7AZsB5QH/AY8BrgHrAf8BqQHAAfEB/wHUAeAB+AX/AfUB+AH9
- Af8B6gHwAfoB/wGbAbgB7wH/AVQBgQHjAf8BXAGBAeMB/wFkAYEB4wH/AWUBgQHkAf8BZQGBAeQB/wFm
- AYEB5QH/AWYBgQHlAf8BZgGBAeUB/wFmAYEB5QH/AWUBgQHlAf8BZQGBAeUB/wFDAW8BzQH/ASEBVQG2
- Af8BSAICAYD/AP8A/wADAAErAVwBtQH/AWQBgQHCAf8BlAGmAc4B/wGEAZQBxQH/AXwBgQG7Af8BegGB
- AbsB/wF3AYEBuwH/AXQBgQG8Af8BcQGBAbwB/wFyAYEBvgH/AXIBgQHAAf8BXgF9AboB/wFKAXABtAH/
- ATYBYwGwAf8BIQFWAasB/wEwAWIBsgH/AT4BbQG5Af8BLQFdAbMB/wEcAU0BrAH/ARwBRwGtAf8BHAFA
- Aa4B/wGBAY0B0QH/Ad0B4gH0Af8B7gHxAfoF/wHpAe4B+QH/AdMB3AHyAf8BsQHDAesB/wGPAakB4wH/
- AccB1AHxDf8BwAHLAfAB/wGBAZYB4QH/AcABywHwDf8B0QHdAfcB/wGiAboB7gH/AakBvwHvAf8BsAHE
- Ae8B/wHYAeIB9xX/AaMBvwHxAf8BTgGBAeIB/wFYAYEB4gH/AWIBgQHiAf8BYwGBAeMB/wFjAYEB4wH/
- AWQBgQHjAf8BZAGBAeMB/wFkAYEB5AH/AWQBgQHkAf8BZAGBAeQB/wFkAYEB5AH/AUMBbwHNAf8BIQFV
- AbYB/wFIAgIBgP8A/wD/AAMAAS0BXgG2Af8BaQGBAcQB/wGcAa0B0QH/AYoBmAHHAf8BgAGCAbwB/wF+
- AYIBvAH/AXsBgQG8Af8BeAGBAb0B/wF1AYEBvQH/AXUBgQG+Af8BdAGBAb8B/wFkAYEBuwH/AVQBewG3
- Af8BPQFqAbEB/wElAVgBqwH/AWQBggHEAf8BmwGyAdwB/wGKAaQB1wH/AYEBlQHRAf8BgQGSAdEB/wGB
- AY8B0QH/AbUBwAHmAf8B7gHxAfoB/wH3AfgB/QX/AfQB9wH8Af8B6QHuAfkB/wHYAeEB9QH/AccB1AHx
- Af8B4wHqAfgN/wGvAcIB7AH/AWcBhQHZAf8BrwHCAewF/wHiAeoB+gH/AcQB1QH1Af8BywHZAfYB/wHR
- Ad0B9gH/AdQB3wH3Af8B2AHiAfcB/wHUAd8B9wH/Ac8B2wH2Af8BsAHHAfEB/wGRAbIB6wH/AZkBuAHt
- Af8BoQG9Ae8B/wF+AZ8B6AH/AVIBgQHhAf8BWgGBAeEB/wFhAYEB4QH/AWIBgQHiAf8BYgGBAeIB/wFj
- AYEB4gH/AWMBgQHiAf8BYwGBAeMB/wFjAYEB4wH/AWMBgQHjAf8BYwGBAeMB/wFCAW8BzQH/ASEBVQG2
- Af8BSAICAYD/AP8A/wADAAEuAV8BtgH/AW0BhQHFAf8BowGzAdQB/wGPAZsByAH/AYEBggG8Af8BgQGC
- Ab0B/wF+AYEBvQH/AXsBgQG9Af8BeAGBAb0B/wF3AYEBvQH/AXUBgQG9Af8BagGBAbwB/wFeAYEBugH/
- AUQBcAGyAf8BKQFaAaoB/wGQAakB1QX/Ae8B8gH6Af8B3wHlAfUB/wHgAeUB9QH/AeEB5QH0Af8B8AHy
- Afot/wGeAbkB6AH/AUUBewHQAf8BngG5AegF/wHEAdUB9QH/AYgBqwHrAf8BxAHVAfUD/wH+Cf8BzwHb
- AfYB/wGeAbcB7QH/AWkBjgHiAf8BKwFtAdcB/wE7AXgB2wH/AUsBgQHfAf8BUQGBAd8B/wFWAYEB3wH/
- AVsBgQHgAf8BXwGBAeAB/wFgAYEB4QH/AWABgQHhAf8BYQGBAeEB/wFhAYEB4QH/AWEBgQHiAf8BYQGB
- AeIB/wFhAYEB4gH/AWEBgQHiAf8BQQFvAcwB/wEhAVUBtgH/AUgCAgGA/wD/AP8AAwABLwFgAbcB/wFx
- AYkBxwH/AasBuQHXAf8BlQGfAcoB/wGBAYUBvAH/AYEBhAG9Af8BgQGDAb4B/wF/AYIBvgH/AXwBgQG+
- Af8BegGBAb4B/wF3AYEBvgH/AXIBgQG/Af8BbAGBAb4B/wFNAXIBtQH/ASwBXQGrAf8BkgGqAdYF/wH3
- AfkB/QH/Ae8B8gH6Af8B8AHyAfoB/wHwAfIB+gH/Ad4B5QH1Af8BywHXAfAB/wGxAcMB5wH/AZYBrwHf
- Af8BkAGqAd4B/wGKAaUB3gH/AZkBsgHjAf8BqQG/AecB/wHNAdkB8gH/AfEB8wH8Af8B+AH5Af4F/wHB
- AdIB8QH/AYMBpQHiAf8BpgG+AewB/wHJAdYB9QH/AZoBtgHrAf8BcwGWAeEB/wGJAasB5wH/AacBwAHr
- Af8BzwHdAfUB/wH2AfkB/gH/AbwBywHzAf8BgQGcAecB/wFjAYcB4AH/AT0BeQHZAf8BSAGAAdwB/wFT
- AYEB3gH/AVYBgQHfAf8BWQGBAd8B/wFcAYEB4AH/AV4BgQHgAf8BXwGBAeAB/wFfAYEB4AH/AWABgQHh
- Af8BYAGBAeEB/wFgAYEB4QH/AWABgQHhAf8BYAGBAeEB/wFgAYEB4QH/AUEBcAHMAf8BIgFWAbYB/wFI
- AgIBgP8A/wD/AAMAATABYAG3Af8BdQGMAckB/wGyAb8B2gH/AZoBowHLAf8BgQGHAbwB/wGBAYYBvQH/
- AYEBhAG+Af8BgQGDAb4B/wF/AYEBvgH/AXwBgQG/Af8BeQGBAb8B/wF6AYEBwQH/AXoBgQHCAf8BVQF0
- AbcB/wEvAV8BrAH/AZMBqwHWFf8BywHXAfAB/wGWAa4B4AH/AWoBhwHPAf8BNQFnAb4B/wEpAV0BvQH/
- ARwBUwG8Af8BOwFtAcYB/wFaAYEBzwH/AZsBswHkAf8B4wHnAfgB/wHxAfMB/AX/AeQB6wH6Af8ByQHX
- AfQB/wGuAcIB8AH/AZIBrQHrAf8BeAGXAeEB/wFVAYEB1wH/AVYBgQHYAf8BVwGBAdgB/wGeAboB6wH/
- Ae0B8wH9Af8BqAG6Ae8B/wFrAYEB4QH/AV0BgQHeAf8BTgGBAdsB/wFUAYEB3AH/AVoBgQHdAf8BWwGB
- Ad4B/wFbAYEB3gH/AVwBgQHfAf8BXAGBAd8B/wFdAYEB3wH/AV0BgQHfAf8BXgGBAeAB/wFeAYEB4AH/
- AV4BgQHgAf8BXgGBAeAB/wFeAYEB4AH/AV4BgQHgAf8BQAFwAcsB/wEiAVYBtgH/AUgCAgGA/wD/AP8A
- AwABMAFgAbcB/wF5AY8BywH/AbkBxQHeAf8BngGoAc4B/wGBAYoBvQH/AYEBiQG+Af8BgQGHAb8B/wGB
- AYYBvwH/AYEBhAG/Af8BgAGDAcAB/wF9AYEBwAH/AX4BggHBAf8BfgGDAcEB/wFSAW8BsgH/ASYBUgGj
- Af8BewGPAccB/wHJAdQB6wH/AeQB6gH1Bf8B4AHiAfQB/wHAAcUB6AH/AYsBoQHYAf8BXQGBAccB/wFK
- AXcBwwH/ATUBaAG/Af8BMQFlAb8B/wEtAWEBvwH/AToBbQHEAf8BRwF5AcgB/wFmAYcB0wH/AYEBnAHe
- Af8BuAHKAe4B/wHzAfcB/QH/AewB8QH8Af8B5AHrAfoB/wHXAeEB+AH/AckB1gH1Af8BsQHGAe4B/wGY
- AbYB5wH/AXMBlQHeAf8BRgF8AdQB/wFwAZMB3wH/AZMBswHqAf8BegGYAeQB/wFZAYEB3QH/AVYBgQHc
- Af8BUgGBAdsB/wFWAYEB3AH/AVkBgQHcAf8BWgGBAd0B/wFaAYEB3QH/AVsBgQHeAf8BWwGBAd4B/wFc
- AYEB3gH/AVwBgQHeAf8BXQGBAd8B/wFdAYEB3wH/AV0BgQHfAf8BXQGBAd8B/wFdAYEB3wH/AV0BgQHf
- Af8BPwFwAcsB/wEiAVYBtgH/AUgCAgGA/wD/AP8AAwABMAFgAbcB/wF8AZIBzAH/AcABywHhAf8BoQGs
- AdAB/wGBAYwBvgH/AYEBiwG/Af8BgQGJAb8B/wGBAYgBvwH/AYEBhgG/Af8BgQGEAcAB/wGAAYEBwAH/
- AYEBgwHAAf8BgQGEAcAB/wFPAWkBrQH/ARwBRQGZAf8BWwF7AbgB/wGSAagB1wH/AckB1AHrBf8BwAHF
- AegB/wGBAYsB0QH/AVIBcwG/Af8BHAFSAa0B/wEpAV4BtgH/ATUBaQG/Af8BOQFsAcEB/wE9AW4BwgH/
- ATkBbQHCAf8BNAFrAcEB/wEoAWIBwgH/ARwBWAHDAf8BgQGgAd8B/wHnAe8B+gH/AfMB9wH9Df8B8QH1
- AfsB/wHiAeoB9wH/AYcBqAHjAf8BNAFuAc8B/wE6AXQB0wH/AUABegHXAf8BRAF9AdgB/wFHAX8B2QH/
- AU8BgQHaAf8BVgGBAdoB/wFXAYEB2wH/AVcBgQHbAf8BWAGBAdwB/wFYAYEB3AH/AVkBgQHdAf8BWgGB
- Ad0B/wFaAYEB3QH/AVoBgQHdAf8BWwGBAd4B/wFbAYEB3gH/AVsBgQHeAf8BWwGBAd4B/wFbAYEB3gH/
- AVsBgQHeAf8BPgFvAcoB/wEhAVUBtgH/AUgCAgGA/wD/AP8AAwABMAFgAbcB/wF/AZUBzgH/AccB0QHk
- Af8BpAGxAdIB/wGBAZABvwH/AYEBjgHAAf8BgQGMAb8B/wGBAYsBwAH/AYEBiQHAAf8BgQGHAcEB/wGB
- AYQBwQH/AYEBhAHAAf8BgQGDAb8B/wFdAXcBswH/ATgBYgGlAf8BgQGXAcgB/wHJAdQB6wH/AeQB6gH1
- Bf8BpQGxAd0B/wFSAWoBugH/AT0BZQG2Af8BJwFfAbIB/wEwAWUBuAH/ATkBawG9Af8BPAFuAb8B/wE+
- AW8BwQH/AT0BcAHCAf8BOwFvAcIB/wEyAWkBwwH/ASgBYQHDAf8BagGJAdUB/wGjAbgB5wH/AdEB3AHz
- Df8ByQHYAfMB/wGRAbAB5gH/AWsBjgHcAf8BPQF1AdIB/wFDAXoB1QH/AUgBfwHXAf8BSwGBAdgB/wFN
- AYEB2AH/AVEBgQHZAf8BVQGBAdkB/wFWAYEB2gH/AVYBgQHaAf8BVwGBAdsB/wFXAYEB2wH/AVgBgQHc
- Af8BWQGBAdwB/wFZAYEB3AH/AVkBgQHcAf8BWgGBAd0B/wFaAYEB3QH/AVoBgQHdAf8BWgGBAd0B/wFa
- AYEB3QH/AVoBgQHdAf8BPgFvAcoB/wEhAVUBtgH/AUgCAgGA/wD/AP8AAwABLwFfAbcB/wGBAZcBzwH/
- Ac0B1gHmAf8BpwG1AdMB/wGBAZMBwAH/AYEBkQHAAf8BgQGOAb8B/wGBAY0BwAH/AYEBiwHBAf8BgQGJ
- AcEB/wGBAYcBwQH/AYEBhQHAAf8BgAGCAb4B/wFqAYEBuAH/AVMBfgGxAf8BpQG7AdgN/wGKAZwB0QH/
- ARwBQQGiAf8BJwFWAa0B/wExAWsBtwH/ATcBbAG5Af8BPAFtAbsB/wE+AW8BvQH/AT8BcAG/Af8BQQFy
- AcEB/wFCAXMBwwH/ATsBbwHDAf8BNAFqAcIB/wFOAXoBywH/AWcBgQHTAf8BrwHAAekN/wGgAboB6gH/
- AUgBfQHUAf8BRwF8AdUB/wFFAXsB1QH/AUsBfwHWAf8BUAGBAdYB/wFRAYEB1wH/AVIBgQHXAf8BUwGB
- AdgB/wFTAYEB2AH/AVQBgQHZAf8BVAGBAdkB/wFVAYEB2gH/AVYBgQHaAf8BVwGBAdsB/wFXAYEB2wH/
- AVcBgQHbAf8BVwGBAdsB/wFYAYEB3AH/AVgBgQHcAf8BWAGBAdwB/wFYAYEB3AH/AVgBgQHcAf8BWAGB
- AdwB/wE9AW8ByQH/ASEBVQG2Af8BSAICAYD/AP8A/wADAAEuAV4BtwH/AYEBmQHQAf8B0wHaAekB/wGr
- AbkB1gH/AYQBlwHCAf8BgwGUAcIB/wGBAZEBwAH/AYEBkAHBAf8BgQGOAcEB/wGBAYoBwAH/AYEBhgG/
- Af8BigGVAcgB/wGWAaMB0AH/AZ4BrwHUAf8BpQG7AdgB/wHSAd0B7AX/AfMB9QH7Af8B5gHrAfYB/wGB
- AZMBzQH/ARwBRAGiAf8BKQFXAawB/wE0AWoBtgH/ATgBawG4Af8BOwFsAboB/wE9AW4BvAH/AT4BbwG+
- Af8BQAFxAcAB/wFBAXIBwgH/ATwBcAHDAf8BOAFtAcMB/wFBAXMByAH/AUkBeAHMAf8BoAG4AeYF/wHu
- AfIB+wH/AdwB5AH3Af8BhAGlAeMB/wEzAW0BzwH/AT0BdAHSAf8BRwF7AdQB/wFLAX8B1QH/AU8BgQHV
- Af8BUAGBAdYB/wFRAYEB1gH/AVIBgQHXAf8BUgGBAdcB/wFTAYEB2AH/AVMBgQHYAf8BVAGBAdkB/wFV
- AYEB2QH/AVYBgQHaAf8BVgGBAdoB/wFWAYEB2gH/AVYBgQHaAf8BVwGBAdsB/wFXAYEB2wH/AVcBgQHb
- Af8BVwGBAdsB/wFXAYEB2wH/AVYBgQHbAf8BPAFvAcgB/wEhAVUBtgH/AUgCAgGA/wD/AP8AAwABLAFd
- AbYB/wGBAZoB0QH/AdgB3gHrAf8BrwG8AdgB/wGGAZoBxAH/AYQBlwHDAf8BgQGTAcEB/wGBAZIBwQH/
- AYEBkAHBAf8BgQGLAb8B/wGBAYUBvQH/AZgBpQHPAf8BswHEAeEB/wHZAeIB8A3/AeYB6wH2Af8BzQHW
- Ae0B/wF5AYoByAH/ARwBRgGiAf8BKgFXAasB/wE3AWgBtAH/ATkBagG2Af8BOgFrAbgB/wE8AW0BugH/
- AT0BbgG8Af8BPgFwAb4B/wE/AXEBwAH/AT0BcQHCAf8BOwFwAcQB/wEzAWsBxAH/ASsBZgHEAf8BkQGv
- AeIF/wHcAeQB9wH/AbgByQHvAf8BbwGPAdwB/wEdAVwByQH/ATMBawHOAf8BSAF6AdIB/wFLAX4B0wH/
- AU0BgQHUAf8BTgGBAdUB/wFPAYEB1QH/AVABgQHWAf8BUAGBAdYB/wFRAYEB1wH/AVIBgQHXAf8BUwGB
- AdgB/wFTAYEB2AH/AVQBgQHZAf8BVAGBAdkB/wFUAYEB2QH/AVQBgQHZAf8BVQGBAdoB/wFVAYEB2gH/
- AVUBgQHaAf8BVQGBAdoB/wFVAYEB2gH/AVQBgQHZAf8BOwFuAccB/wEhAVUBtQH/AUgCAgGA/wD/AP8A
- AwABKgFcAbYB/wGBAZsB0gH/AdwB4QHtAf8BtAHAAdoB/wGMAZ8BxwH/AYgBmwHFAf8BgwGXAcMB/wGC
- AZUBwgH/AYEBkgHCAf8BgQGOAcEB/wGBAYkBwAH/AZMBogHNAf8BpwG5AdsB/wHSAdsB7QH/AvwB/gH/
- Av4G/wHwAfMB+gH/AeEB5gH0Af8BgQGQAcoB/wEcAUIBnwH/ASoBVQGpAf8BNgFnAbIB/wE4AWkBtQH/
- ATkBagG3Af8BOwFsAbkB/wE8AW0BuwH/AT0BbwG9Af8BPgFwAb8B/wE7AW4BwQH/ATcBbAHDAf8BOQFv
- AcUB/wE7AXEBxgH/AZkBtAHjBf8B7gHyAfsB/wHcAeQB9wH/AZEBqQHmAf8BTgF2AdQB/wFIAXUB0wH/
- AUEBdQHSAf8BRwF7AdMB/wFMAYAB1AH/AU0BgQHUAf8BTgGBAdQB/wFPAYEB1QH/AU8BgQHWAf8BUAGB
- AdYB/wFRAYEB1gH/AVIBgQHXAf8BUgGBAdcB/wFTAYEB2AH/AVMBgQHYAf8BUwGBAdgB/wFTAYEB2AH/
- AVQBgQHZAf8BVAGBAdkB/wFUAYEB2QH/AVQBgQHZAf8BUwGBAdkB/wFSAYEB2AH/AToBbQHHAf8BIQFV
- AbYB/wFIAgIBgP8A/wD/AAMAAScBWgG1Af8BgQGbAdIB/wHfAeQB7wH/AbgBxAHcAf8BkQGjAckB/wGL
- AZ8BxwH/AYUBmgHEAf8BgwGXAcMB/wGBAZQBwgH/AYEBkQHCAf8BgQGNAcIB/wGOAZ4BywH/AZsBrgHU
- Af8BygHTAekB/wH5AfgB/QH/AvwB/gX/AvoB/QH/AvUB+gH/AYUBlQHLAf8BHAE9AZsB/wEpAVIBpgH/
- ATUBZgGwAf8BNwFoAbMB/wE4AWkBtQH/ATkBawG3Af8BOgFsAbkB/wE8AW0BuwH/AT0BbgG9Af8BOAFr
- Ab8B/wEzAWgBwQH/AT8BcgHFAf8BSwF7AcgB/wGhAbkB5A3/AbsBwwHvAf8BfgGHAd4B/wFcAX8B2AH/
- ATkBbwHRAf8BQgF3AdIB/wFLAX4B0wH/AUwBfwHTAf8BTAGAAdMB/wFNAYEB1AH/AU4BgQHVAf8BTwGB
- AdUB/wFPAYEB1QH/AVABgQHWAf8BUAGBAdYB/wFRAYEB1wH/AVEBgQHXAf8BUgGBAdcB/wFSAYEB1wH/
- AVIBgQHYAf8BUgGBAdgB/wFTAYEB2AH/AVMBgQHYAf8BUQGBAdcB/wFPAYEB1gH/ATgBbAHGAf8BIAFU
- AbYB/wFIAgIBgP8A/wD/AAMAASQBVQGrAf8BgQGaAc4B/wHhAeYB8AH/AbwByAHeAf8BlwGoAcwB/wGQ
- AaMByQH/AYoBnQHGAf8BhwGaAcUB/wGEAZcBxAH/AYMBlQHDAf8BgQGRAcMB/wGIAZcBxwH/AY4BnAHK
- Af8BngGtAdIB/wGuAb0B2QH/AckB0wHnAf8B5AHpAfQB/wHvAfIB+QH/AvoB/QH/AZIBpAHRAf8BMQFW
- AaUB/wEtAVkBqAH/ASkBXAGrAf8BMAFiAa8B/wE3AWgBswH/ATgBagG1Af8BOQFrAbcB/wE5AWsBuQH/
- ATcBawG7Af8BMAFkAboB/wEoAVwBuQH/AVcBgAHKAf8BgQGcAdoB/wG/Ac4B7Q3/Ad0B4QH3Af8BuwHD
- Ae8B/wF8AZQB3gH/ATQBbAHNAf8BPwF1AdAB/wFKAX0B0gH/AUsBfgHTAf8BSwF/AdMB/wFMAYAB1AH/
- AU0BgAHUAf8BTgGBAdQB/wFOAYEB1AH/AU8BgQHVAf8BTwGBAdUB/wFQAYEB1gH/AVABgQHWAf8BUQGB
- AdYB/wFRAYEB1gH/AVEBgQHXAf8BUQGBAdcB/wFSAYEB1wH/AVIBgQHXAf8BTwGBAdYB/wFNAYEB1AH/
- ATcBaQHAAf8BIAFRAawB/wFIAgIBgP8A/wD/AAMAASEBTwGhAf8BgQGYAckB/wHjAegB8QH/AcABywHg
- Af8BnAGtAc4B/wGVAacBywH/AY4BoAHHAf8BigGdAcYB/wGGAZoBxQH/AYQBmAHEAf8BgQGVAcMB/wGB
- AZABwgH/AYEBigHAAf8BegGGAbsB/wFrAYEBtQH/AZYBqgHPAf8ByAHSAegB/wHkAekB9AX/AZ8BswHX
- Af8BRgFvAa4B/wExAWABqgH/ARwBUQGlAf8BKQFcAasB/wE2AWYBsQH/ATcBaAGzAf8BOAFpAbUB/wE1
- AWkBtwH/ATEBaAG5Af8BJwFcAbUB/wEcAU8BsQH/AW8BhgHPAf8BuQHFAewB/wHcAeIB9hX/AZMBsAHk
- Af8BLwFoAcgB/wE8AXIBzQH/AUgBfAHRAf8BSQF9AdIB/wFKAX0B0gH/AUsBfgHTAf8BSwF/AdMB/wFM
- AYAB0wH/AUwBgAHTAf8BTQGBAdQB/wFNAYEB1AH/AU4BgQHVAf8BTgGBAdUB/wFPAYEB1QH/AU8BgQHV
- Af8BTwGBAdYB/wFPAYEB1gH/AVABgQHWAf8BUAGBAdYB/wFNAYEB1AH/AUoBfgHSAf8BNQFmAboB/wEg
- AU4BogH/AUgCAgGA/wD/AP8AAwABIQFOAaAB/wGBAZcByQH/AeEB5gHxAf8BwgHNAeEB/wGjAbIB0QH/
- AZsBqwHNAf8BkgGkAckB/wGOAaEByAH/AYoBngHHAf8BhwGbAcYB/wGEAZgBxAH/AYMBlAHEAf8BgQGQ
- AcMB/wGAAYoBvwH/AXcBgwG6Af8BmAGoAdAB/wHAAcwB5gH/AeAB5gHzBf8BzwHZAesB/wGfAbMB1wH/
- AW4BiAHCAf8BNgFkAa0B/wEwAVsBqgH/ASkBUQGmAf8BKgFVAakB/wEqAVgBrAH/ASkBWAGvAf8BJwFY
- AbIB/wFCAW0BvQH/AVwBgQHIAf8BmQGuAd8B/wHcAeIB9gH/AdMB3AH0Af8BygHWAfEB/wG4AcoB6wH/
- AaUBvQHlAf8BrwG/AegB/wG4AcEB6gH/AXkBkQHZAf8BMgFpAccB/wE9AXIBzAH/AUcBewHQAf8BSAF8
- AdEB/wFJAXwB0QH/AUoBfQHSAf8BSgF+AdIB/wFLAX8B0wH/AUsBfwHTAf8BTAGAAdMB/wFMAYAB0wH/
- AU0BgQHUAf8BTQGBAdQB/wFOAYEB1AH/AU4BgQHUAf8BTgGBAdUB/wFOAYEB1QH/AU8BgQHVAf8BTwGB
- AdUB/wFLAX8B0wH/AUgBfAHRAf8BNAFlAbkB/wEgAU4BoQH/AUgCAgGA/wD/AP8AAwABIAFNAZ8B/wGB
- AZUByAH/Ad4B5AHwAf8BxAHOAeIB/wGpAbcB0wH/AaABrwHPAf8BlgGnAcoB/wGSAaQByQH/AY4BoQHI
- Af8BigGeAccB/wGGAZoBxQH/AYQBmAHFAf8BgQGWAcUB/wGBAY0BwgH/AYEBhAG+Af8BmQGlAdEB/wG3
- AcYB4wH/AdsB4wHxDf8BowG3AdoB/wFPAXYBtAH/ATYBWQGoAf8BHAE8AZsB/wEcAUEBnwH/ARwBRgGi
- Af8BHAFHAaYB/wEcAUgBqgH/AVwBfgHEAf8BlAGrAd4B/wHKAdUB7wX/AcoB1gHxAf8BlQGtAeMB/wF4
- AZQB1wH/AVMBgQHLAf8BZgGBAdAB/wF4AYIB1QH/AVcBegHOAf8BNQFqAcYB/wE9AXIBygH/AUUBeQHO
- Af8BRgF6Ac8B/wFHAXsB0AH/AUgBfAHRAf8BSAF8AdEB/wFJAX0B0gH/AUkBfQHSAf8BSgF+AdIB/wFK
- AX4B0gH/AUsBfwHTAf8BSwF/AdMB/wFMAX8B0wH/AUwBfwHTAf8BTAGAAdMB/wFMAYAB0wH/AU0BgAHU
- Af8BTQGAAdQB/wFJAX0B0gH/AUUBeQHPAf8BMwFjAbcB/wEgAU0BnwH/AUgCAgGA/wD/AP8AAwABIAFK
- AZUB/wGBAZIBwwH/AdkB4AHwAf8BxQHPAeMB/wGwAb0B1gH/AaUBtAHSAf8BmgGrAcwB/wGWAagBywH/
- AZIBpQHKAf8BjgGiAckB/wGKAZ4BxwH/AYcBmwHGAf8BhAGZAcYB/wGBAZIBxAH/AYEBjAHBAf8BrQG3
- AdkB/wHbAeMB8QH/Ae0B8QH4Df8B0QHbAe0B/wGjAbcB2gH/AZcBqAHUAf8BigGaAc0B/wGDAZgBzQH/
- AYEBlgHLAf8BgwGbAdAB/wGKAaAB1QH/AaoBuwHiAf8BygHVAe8B/wHlAeoB9wX/AaoBuAHjAf8BXQF4
- AccB/wFOAXYBxgH/AUABcwHEAf8BTAF4AckB/wFYAXsBzQH/AUoBdQHLAf8BOwFvAccB/wFAAXQBygH/
- AUQBeAHNAf8BRQF5Ac4B/wFGAXoBzwH/AUcBewHQAf8BRwF7AdAB/wFIAXwB0QH/AUgBfAHRAf8BSQF9
- AdEB/wFJAX0B0QH/AUoBfgHSAf8BSgF+AdIB/wFLAX4B0gH/AUsBfgHSAf8BSwF/AdMB/wFLAX8B0wH/
- AUwBfwHTAf8BTAF/AdMB/wFHAXsB0QH/AUMBdwHNAf8BMgFhAbEB/wEgAUoBlQH/AUgCAgGA/wD/AP8A
- AwABHwFHAYsB/wF+AY4BvQH/AdQB3AHvAf8BxQHPAeQB/wG2AcIB2QH/AaoBuAHUAf8BngGuAc4B/wGa
- AasBzQH/AZYBqAHLAf8BkgGlAcoB/wGOAaEByAH/AYoBngHHAf8BhgGbAcYB/wGEAZcBxQH/AYEBkwHD
- Af8BwAHJAeEl/wHyAfYB+gH/AeQB7QH0Af8B8gH2AfoV/wGKAZkB1QH/ARwBOgGrAf8BJAFPAbQB/wEs
- AWMBvQH/ATIBaAHBAf8BOAFsAcUB/wE9AXABxwH/AUEBdAHIAf8BQgF1AcoB/wFDAXYBywH/AUQBdwHN
- Af8BRAF4Ac4B/wFFAXkBzwH/AUUBeQHPAf8BRgF6AdAB/wFGAXoB0AH/AUcBewHQAf8BRwF7AdAB/wFI
- AXwB0QH/AUgBfAHRAf8BSQF9AdEB/wFJAX0B0QH/AUkBfQHSAf8BSQF9AdIB/wFKAX0B0gH/AUoBfQHS
- Af8BRQF5Ac8B/wFAAXQBywH/ATABXgGrAf8BHwFHAYsB/wFIAgIBgP8A/wD/AAMAAR8BRgGGAf8BegGK
- AboB/wHMAdYB7QH/AcUBzwHlAf8BvQHIAdwB/wGwAb0B1gH/AaIBsgHQAf8BngGvAc8B/wGaAasBzQH/
- AZcBqAHMAf8BkwGlAcoB/wGPAaIByQH/AYsBnwHHAf8BhgGZAcQB/wGBAZMBwQH/AakBtgHWAf8B0QHZ
- AeoB/wHFAc0B5AH/AbkBwAHeAf8BoQGoAdAB/wGKAZABwgH/AcABxAHeAf8B9QH4AfoB/wH6AfwB/QX/
- AfkB+wH9Af8B8gH2AfoB/wHjAeoB9QH/AdQB3QHwAf8B6gHuAfgN/wGiAa0B3gH/AUwBYgG9Af8BPgFk
- Ab0B/wEwAWUBvQH/ATYBagHAAf8BOwFuAcMB/wE+AXABxQH/AUABcwHHAf8BQQF0AckB/wFCAXUBygH/
- AUMBdgHMAf8BQwF3Ac0B/wFEAXgBzgH/AUQBeAHOAf8BRQF5Ac8B/wFFAXkBzwH/AUYBegHPAf8BRgF6
- Ac8B/wFHAXsB0AH/AUcBewHQAf8BSAF8AdAB/wFIAXwB0AH/AUgBfAHRAf8BSAF8AdEB/wFJAXwB0QH/
- AUkBfAHRAf8BQwF3Ac4B/wE+AXEByQH/AS8BXAGoAf8BHwFGAYYB/wFIAgIBgP8A/wD/AAMAAR8BRAGB
- Af8BdgGGAbYB/wHEAc8B6gH/AcQBzgHlAf8BwwHNAd8B/wG1AcEB2AH/AaYBtQHRAf8BogGyAdAB/wGe
- Aa4BzgH/AZsBqwHNAf8BlwGoAcsB/wGTAaUBygH/AY8BogHIAf8BiAGaAcMB/wGBAZIBvgH/AZIBowHK
- Af8BowGzAdUB/wGLAZoByQH/AXoBgQG8Af8BSwFZAaEB/wEcASgBhQH/AYEBiAG9Af8B6wHwAfUB/wH1
- AfgB+g3/AdQB3QHwAf8BqQG7AeEB/wHUAd0B8A3/AboBwQHnAf8BfAGCAc4B/wFYAXkBxgH/ATQBZwG9
- Af8BOQFrAb8B/wE9AW8BwQH/AT4BcAHDAf8BPwFxAcUB/wFAAXIBxwH/AUABcwHIAf8BQQF0AcoB/wFB
- AXUBywH/AUIBdgHMAf8BQwF2Ac0B/wFEAXcBzgH/AUQBdwHOAf8BRQF4Ac4B/wFFAXgBzgH/AUUBeQHP
- Af8BRQF5Ac8B/wFGAXoBzwH/AUYBegHPAf8BRgF6AdAB/wFGAXoB0AH/AUcBewHQAf8BRwF7AdAB/wFB
- AXUBzAH/ATsBbgHHAf8BLQFZAaQB/wEfAUQBgQH/AUgCAgGA/wD/AP8AAwABHwFBAYEB/wFwAYEBtQH/
- AbkBxwHnAf8BwgHNAeUB/wHJAdIB4gH/AboBxQHbAf8BqgG4AdMB/wGmAbUB0gH/AaIBsgHQAf8BnwGv
- Ac8B/wGbAawBzQH/AZcBqQHMAf8BkwGlAcoB/wGOAaABxwH/AYgBmgHEAf8BjwGhAckB/wGVAagBzgH/
- AYkBmwHIAf8BgQGOAcEB/wFrAXkBswH/AVIBXAGlAf8BlAGdAcsB/wHeAeYB8QH/Ae8B8wH4Bf8B0QHb
- AewB/wGiAbcB2AH/AYEBlAHKAf8BZwF4AbsB/wF9AYwByAH/AYwBpwHUAf8BsAHBAeIB/wHUAdwB8AH/
- AY0BogHXAf8BTQFvAb4B/wE+AWkBuwH/AS4BYwG4Af8BNAFnAbwB/wE5AWsBvwH/AToBbAHBAf8BOgFt
- AcMB/wE7AW8BxQH/ATwBcgHGAf8BPgFzAcgB/wFAAXQByQH/AUEBdQHLAf8BQgF1AcwB/wFDAXYBzQH/
- AUMBdgHNAf8BRAF3Ac0B/wFEAXcBzQH/AUQBeAHOAf8BRAF4Ac4B/wFFAXkBzgH/AUUBeQHOAf8BRQF5
- Ac8B/wFFAXkBzwH/AUYBeQHPAf8BRgF5Ac8B/wE/AXMBywH/ATkBbAHGAf8BLAFXAaQB/wEfAUEBgQH/
- AUgCAgGA/wD/AP8AAwABHgE+AYEB/wFqAYEBswH/Aa4BvgHkAf8BvwHLAeUB/wHPAdcB5QH/Ab8ByQHd
- Af8BrgG7AdUB/wGqAbgB0wH/AaYBtQHRAf8BowGyAdAB/wGfAa8BzwH/AZsBrAHOAf8BlwGoAcwB/wGT
- AaUBywH/AY8BogHJAf8BiwGfAcgB/wGHAZwBxwH/AYYBnAHHAf8BhAGbAcYB/wGCAZEBxQH/AYEBhwHE
- Af8BqAGyAdkB/wHQAdwB7QH/AegB7gH2Bf8BogG3AdgB/wFMAXYBsAH/ATQBUgGjAf8BHAEtAZUB/wEe
- AUIBnwH/ASABVgGpAf8BaQGDAcUB/wGpAbgB4QH/AWcBggHHAf8BHQFTAa0B/wEjAVkBsAH/ASgBXwGz
- Af8BLgFjAbgB/wE0AWYBvQH/ATUBZwG/Af8BNQFoAcEB/wE2AWwBwwH/ATcBcAHEAf8BOwFxAcYB/wE/
- AXIBxwH/AUABcwHJAf8BQAFzAcoB/wFBAXQBywH/AUEBdQHMAf8BQgF1AcwB/wFCAXUBzAH/AUMBdgHN
- Af8BQwF2Ac0B/wFDAXcBzQH/AUMBdwHNAf8BRAF3Ac0B/wFEAXcBzQH/AUQBdwHOAf8BRAF3Ac4B/wE9
- AXAByQH/ATYBaQHEAf8BKwFUAaMB/wEfAT4BgQH/AUgCAgGA/wD/AP8AAwABSAICAYABXAEEAQUBwAGi
- AbUB4QH/AbwByQHlAf8B1QHcAegB/wHEAc0B4AH/AbMBvwHXAf8BrwG8AdUB/wGrAbkB0wH/AacBtgHS
- Af8BowGyAdEB/wGfAa8B0AH/AZsBrAHOAf8BlwGpAc0B/wGTAaYBywH/AY8BowHKAf8BiwGfAckB/wGJ
- AZ4ByAH/AYYBnAHHAf8BgwGWAcYB/wGBAZABxQH/AZUBpQHSAf8BqQG6Ad0B/wG+AcsB5AH/AdMB2wHr
- Af8BmwGtAdQB/wFrAYEBvAH/AVwBcQG0Af8BTQFcAasB/wFLAWYBsQH/AUoBcAG2Af8BbAGCAcUB/wGF
- AZ0B0wH/AWkBggHGAf8BRAFuAbkB/wFIAXEBuwH/AUsBdAG8Af8BTQF2Ab8B/wFOAXgBwgH/AU4BeAHD
- Af8BTAF5AcQB/wFKAXoBxgH/AUgBewHHAf8BSAF6AcgB/wFIAXkByAH/AUgBeQHKAf8BRgF4AcsB/wFG
- AXgBywH/AUQBdwHMAf8BRAF2AcwB/wFCAXUBzAH/AUIBdQHMAf8BQgF1AcwB/wFCAXYBzAH/AUIBdgHM
- Af8BQwF2Ac0B/wFDAXYBzQH/AUMBdgHNAf8BQwF2Ac0B/wE7AW8ByAH/ATQBZwHCAf8BXAEDAQQBwAFI
- AgIBgAErAgEBQP8A/wD/AAcAAUgCAgGAAZYBqwHdAf8BuAHGAeQB/wHaAeAB6wH/AckB0QHiAf8BtwHC
- AdgB/wGzAb8B1wH/Aa8BvAHVAf8BqwG5AdQB/wGnAbUB0gH/AaMBsgHRAf8BnwGvAc8B/wGbAawBzgH/
- AZcBqQHMAf8BkwGmAcsB/wGPAaIBygH/AYsBnwHJAf8BhwGcAccB/wGEAZoBxwH/AYEBmAHGAf8BgQGY
- AcoB/wGBAZcBzQH/AZQBpwHSAf8BpwG2AdcB/wGUAaIB0AH/AYEBjQHIAf8BgQGIAcUB/wF9AYIBwQH/
- AXgBggHCAf8BcwGBAcMB/wFuAYEBxAH/AWkBgQHEAf8BagGBAcUB/wFrAYEBxQH/AWwBgQHFAf8BbQGB
- AcUB/wFrAYEBxgH/AWgBgQHGAf8BZgGBAcYB/wFjAYEBxgH/AV4BgQHIAf8BWQGBAckB/wFVAYEByQH/
- AVEBfwHJAf8BTwF+AcoB/wFMAXwBywH/AUoBewHLAf8BRwF5AcsB/wFFAXcBywH/AUIBdQHLAf8BQQF0
- AcsB/wFAAXMBywH/AUABdAHLAf8BQAF0AcsB/wFBAXQBzAH/AUEBdAHMAf8BQQF1AcwB/wFBAXUBzAH/
- ATkBbQHGAf8BMQFkAcAB/wFIAgIBgP8A/wD/AA8AAUgCAgGAAYwBoQHaAf8BtgHDAeQB/wHfAeQB7gH/
- Ac4B1QHkAf8BuwHGAdoB/wG3AcMB2QH/AbMBwAHXAf8BrwG9AdYB/wGrAbkB1AH/AacBtgHTAf8BowGz
- AdEB/wGfAbAB0AH/AZsBrAHOAf8BmAGpAc0B/wGUAaYBzAH/AZABowHLAf8BjAGfAckB/wGIAZ0ByAH/
- AYUBmgHHAf8BgwGZAckB/wGBAZcBygH/AYsBnwHNAf8BlAGlAdAB/wGLAZoBzAH/AYEBjwHIAf8BgQGL
- AcYB/wGBAYcBxAH/AYEBhgHEAf8BfgGEAcUB/wF5AYMBxgH/AXQBggHGAf8BcwGCAcYB/wFyAYEBxgH/
- AXEBgQHGAf8BcAGBAcYB/wFtAYEBxwH/AWoBgQHHAf8BaAGBAccB/wFlAYEBxwH/AWEBgQHIAf8BXQGB
- AckB/wFZAYEByQH/AVYBgQHJAf8BUwGBAcoB/wFQAX8BywH/AU4BfQHLAf8BSwF7AcsB/wFIAXkBywH/
- AUUBdwHLAf8BQwF1AcsB/wFBAXQBywH/AUABdAHLAf8BPwFzAcoB/wFAAXMBywH/AUABcwHLAf8BQAF0
- AcsB/wFAAXQBywH/ATcBawHFAf8BLwFiAb8B/wFIAgIBgP8A/wD/AA8AAUgCAgGAAYEBlgHWAf8BswG/
- AeMB/wHkAegB8AH/AdIB2QHmAf8BvwHJAdwB/wG7AcYB2wH/AbcBwwHZAf8BswHAAdcB/wGvAbwB1QH/
- AasBuQHUAf8BpwG2AdIB/wGjAbMB0QH/AZ8BrwHPAf8BnAGsAc4B/wGYAakBzQH/AZQBpgHMAf8BkAGi
- AcoB/wGMAZ8ByQH/AYgBnAHIAf8BhQGaAcgB/wGBAZcBxwH/AYEBlgHIAf8BgQGUAcgB/wGBAZIByAH/
- AYEBkAHHAf8BgQGOAccB/wGBAYsBxgH/AYEBiQHGAf8BgQGHAcYB/wGBAYUBxwH/AX4BggHHAf8BewGC
- AccB/wF4AYEBxwH/AXUBgQHHAf8BcgGBAccB/wFvAYEBxwH/AWwBgQHHAf8BaQGBAcgB/wFmAYEByAH/
- AWMBgQHIAf8BYAGBAcgB/wFdAYEByQH/AVoBgQHJAf8BVwGBAcoB/wFUAYEBygH/AVEBfwHKAf8BTgF9
- AcoB/wFLAXsBywH/AUcBeAHLAf8BRAF2AcsB/wFBAXQBygH/AUABcwHKAf8BPgFxAckB/wE+AXIBygH/
- AT4BcgHKAf8BPgFyAcoB/wE+AXIBygH/ATUBaQHEAf8BLAFgAb0B/wFIAgIBgP8A/wD/AA8AAUgCAgGA
- AYEBjAHSAf8BsQG8AeIB/wHpAewB8wH/AdYB3QHpAf8BwwHNAd4B/wG/AcoB3QH/AbsBxgHbAf8BtwHD
- AdkB/wGzAcAB1wH/Aa8BvQHWAf8BqwG5AdQB/wGnAbYB0wH/AaMBswHRAf8BoAGwAdAB/wGcAa0BzwH/
- AZgBqgHOAf8BlAGmAcwB/wGQAaMBywH/AYwBoAHKAf8BiQGdAckB/wGFAZoByAH/AYMBmAHIAf8BgQGW
- AccB/wGBAZQByAH/AYEBkgHHAf8BgQGQAcgB/wGBAY4BxwH/AYEBjAHHAf8BgQGJAccB/wGBAYcBxwH/
- AYEBhQHHAf8BfwGEAccB/wF7AYIBxwH/AXgBggHHAf8BdQGBAccB/wFyAYEBxwH/AW8BgQHHAf8BbAGB
- AcgB/wFpAYEByAH/AWYBgQHIAf8BYwGBAcgB/wFgAYEByQH/AV0BgQHJAf8BWgGBAcoB/wFXAYEBygH/
- AVQBgQHKAf8BUAF+AcoB/wFNAXwBywH/AUoBegHLAf8BRwF4AcsB/wFDAXUBygH/AUEBdAHKAf8BPwFy
- AckB/wE+AXIBygH/AT0BcQHJAf8BPQFxAckB/wE9AXEByQH/ATMBZwHDAf8BKgFeAbwB/wFIAgIBgP8A
- /wD/AA8AAUgCAgGAAXgBgQHNAf8BrwG5AeEB/wHtAfAB9QH/AdoB4AHrAf8BxwHQAeAB/wHDAc0B3wH/
- Ab8ByQHdAf8BuwHGAdsB/wG3AcMB2QH/AbMBwAHYAf8BrwG8AdYB/wGrAbkB1QH/AacBtgHTAf8BpAGz
- AdIB/wGgAbAB0AH/AZwBrQHPAf8BmAGpAc0B/wGUAaYBzAH/AZABowHLAf8BjAGgAcoB/wGIAZ0ByAH/
- AYUBmgHHAf8BgQGXAcYB/wGBAZUBxwH/AYEBkwHHAf8BgQGSAcgB/wGBAZAByAH/AYEBjgHIAf8BgQGL
- AccB/wGBAYkBxwH/AYEBhwHHAf8BgQGFAccB/wF+AYIBxwH/AXsBggHHAf8BeAGBAccB/wF1AYEBxwH/
- AXEBgQHHAf8BbgGBAccB/wFrAYEBxwH/AWgBgQHIAf8BZQGBAcgB/wFiAYEByAH/AV8BgQHIAf8BXAGB
- AckB/wFZAYEByQH/AVYBgQHJAf8BUgF/AckB/wFPAX0BygH/AUwBewHKAf8BSQF5AcoB/wFFAXYBygH/
- AUIBdAHKAf8BPwFyAckB/wE9AXEByQH/ATsBbwHIAf8BOwFvAcgB/wE7AW8ByAH/ATEBZQHBAf8BJwFb
- AboB/wFIAgIBgP8A/wD/AA8AAUgCAgGAAVgBeAHEAf8BoAGxAd4B/wHvAfEB9wH/Ad4B4wHtAf8BzQHV
- AeMB/wHJAdEB4gH/AcQBzQHfAf8BwAHKAd0B/wG8AccB2wH/AbgBxAHaAf8BtAHAAdgB/wGwAb0B1wH/
- AawBugHVAf8BqAG3AdQB/wGkAbMB0gH/AaABsAHRAf8BnAGtAc8B/wGYAaoBzgH/AZQBpwHNAf8BkAGk
- AcwB/wGMAaABygH/AYkBnQHJAf8BhQGaAcgB/wGDAZgByAH/AYEBlQHHAf8BgQGUAccB/wGBAZEBxwH/
- AYEBkAHIAf8BgQGNAccB/wGBAYsBxwH/AYEBiQHHAf8BgQGHAccB/wGBAYQBxwH/AX4BgwHHAf8BewGC
- AccB/wF4AYIBxwH/AXQBgQHHAf8BcQGBAccB/wFuAYEBxwH/AWsBgQHIAf8BaAGBAcgB/wFlAYEByAH/
- AWIBgQHIAf8BXwGBAckB/wFcAYEByQH/AVkBgQHJAf8BVQGBAckB/wFSAX8ByQH/AU8BfQHJAf8BTAF7
- AcoB/wFIAXgBygH/AUUBdgHKAf8BQQF0AckB/wE/AXIByQH/ATwBbwHIAf8BOwFuAccB/wE5AW0BxgH/
- AS8BYgG/Af8BJAFYAbcB/wFIAgIBgP8A/wD/AA8AAUgCAgGAATcBZgG7Af8BkAGoAdoB/wHwAfIB+AH/
- AeIB5gHvAf8B0wHZAeYB/wHOAdUB5AH/AcgB0AHhAf8BxAHNAd8B/wHAAcoB3QH/AbwBxwHcAf8BuAHD
- AdoB/wG0AcAB2AH/AbABvQHWAf8BrAG6AdUB/wGoAbYB0wH/AaQBswHSAf8BoAGwAdAB/wGcAa0BzwH/
- AZgBqgHOAf8BlAGnAc0B/wGQAaMBywH/AYwBoAHKAf8BiAGdAckB/wGFAZoByAH/AYEBlwHGAf8BgQGV
- AcYB/wGBAZIBxgH/AYEBkQHHAf8BgQGPAccB/wGBAY0BxwH/AYEBiwHHAf8BgQGJAccB/wGBAYYBxwH/
- AYEBhAHHAf8BfgGCAccB/wF7AYIBxwH/AXcBgQHHAf8BdAGBAccB/wFxAYEBxwH/AW4BgQHHAf8BawGB
- AccB/wFoAYEBxwH/AWQBgQHHAf8BYQGBAcgB/wFeAYEByAH/AVsBgQHIAf8BVwGBAcgB/wFUAYEByAH/
- AVEBfgHIAf8BTgF8AckB/wFKAXkByQH/AUcBdwHJAf8BQwF1AcgB/wFAAXIByAH/AT0BbwHHAf8BOgFt
- AcYB/wE2AWoBxAH/ASwBXwG8Af8BIQFUAbMB/wFIAgIBgP8A/wD/AA8AAUgCAgGAASsBVAGeAf8BcQGD
- AcEB/wGvAboB4wH/AckB0AHqAf8B4gHmAfAB/wHdAeIB7QH/AdcB3QHpAf8B0QHYAeYB/wHMAdQB4wH/
- AccB0AHhAf8BwgHLAd8B/wG9AccB3AH/AbcBwwHaAf8BsgG/AdgB/wGtAboB1gH/AakBtwHUAf8BpAG0
- AdIB/wGgAbEB0QH/AZwBrQHQAf8BmQGqAc8B/wGVAacBzQH/AZEBpAHMAf8BjQGhAcsB/wGJAZ4BygH/
- AYUBmgHIAf8BgwGYAccB/wGBAZUBxwH/AYEBkwHHAf8BgQGQAcYB/wGBAY4BxgH/AYEBjAHGAf8BgQGK
- AccB/wGBAYgBxwH/AYEBhgHHAf8BgQGEAccB/wF+AYMBxwH/AXoBgQHHAf8BdwGBAccB/wF0AYEBxwH/
- AXEBgQHHAf8BbgGBAccB/wFrAYEBxwH/AWcBgQHHAf8BZAGBAcgB/wFhAYEByAH/AV4BgQHIAf8BWgGB
- AcgB/wFXAYEByAH/AVQBgAHIAf8BUQF+AckB/wFNAXsByQH/AUoBeQHJAf8BRgF3AcgB/wFCAXMByAH/
- AT4BbwHGAf8BNgFpAcMB/wEuAWIBvwH/AScBVgGtAf8BIAFJAZoB/wFIAgIBgP8A/wD/AA8AAUgCAgGA
- AR4BQQGBAf8BSgFlAagB/wF2AYEBzgH/Aa8BugHkAf8B8AHyAfkB/wHrAe4B9QH/AeUB6QHxAf8B3gHj
- Ae0B/wHXAd0B6QH/AdEB2AHmAf8BywHTAeMB/wHFAc4B4AH/Ab4ByQHdAf8BuAHEAdsB/wGxAb4B2AH/
- Aa0BuwHWAf8BqAG3AdQB/wGkAbQB0wH/AaABsAHRAf8BnQGtAdAB/wGZAaoBzgH/AZUBpwHNAf8BkQGk
- AcwB/wGNAaEBywH/AYgBnQHJAf8BhQGaAcgB/wGBAZcBxwH/AYEBlAHGAf8BgQGRAcUB/wGBAY8BxQH/
- AYEBjAHFAf8BgQGLAcYB/wGBAYkBxgH/AYEBiAHHAf8BgQGGAccB/wGBAYQBxwH/AX0BgQHHAf8BegGB
- AccB/wF2AYEBxgH/AXMBgQHGAf8BcAGBAcYB/wFtAYEBxgH/AWoBgQHGAf8BZwGBAccB/wFjAYEBxwH/
- AWABgQHHAf8BXQGBAccB/wFaAYEBxwH/AVYBgQHHAf8BUwF/AcgB/wFPAXwByAH/AUwBegHIAf8BSAF4
- AcgB/wFDAXQBxwH/AT4BbwHFAf8BMgFlAb8B/wEmAVoBuQH/ASIBTAGdAf8BHgE9AYEB/wFIAgIBgP8A
- /wD/AA8AASsCAQFAAUgCAgGAAVwBAwEEAcABSwFlAagB/wFxAYMBwQH/AY4BpwHaAf8BmwGvAdwB/wGn
- AbUB3wH/AaoBtgHfAf8BrAG3Ad8B/wGtAboB4AH/Aa0BvAHgAf8BsAG/AeAB/wGyAcEB4AH/AbQBwwHh
- Af8BtgHEAeEB/wG4AcUB4QH/AbkBxgHgAf8BuAHFAeAB/wG3AcQB3wH/AbcBwwHeAf8BtQHCAd0B/wGz
- AcAB3AH/AbEBvgHbAf8BrgG8AdoB/wGqAbkB2AH/AaYBtQHXAf8BoQGyAdUB/wGfAa4B1AH/AZwBqwHS
- Af8BmgGoAdEB/wGXAaQB0AH/AZQBoQHQAf8BkAGdAc8B/wGMAZoBzgH/AYcBlgHNAf8BggGSAc0B/wGB
- AY4BzAH/AYEBiwHLAf8BgAGHAckB/wF7AYQByQH/AXUBgQHIAf8BbwGBAccB/wFpAYEBxgH/AWMBgQHG
- Af8BXAGBAcUB/wFYAYEBxAH/AVMBfQHEAf8BTwF6AcMB/wFKAXcBwwH/AUcBdQHDAf8BQgFxAcMB/wE/
- AW8BwgH/ATsBbAHBAf8BNgFoAcAB/wEwAWMBvgH/ASkBWAGuAf8BIgFMAZ0B/wFcAQMBBAHAAUgCAgGA
- ASsCAQFA/wD/AP8AFwABSAICAYABHwFBAYEB/wEqAVMBngH/ATQBZAG6Af8BUgF3AcMB/wFwAYEBzAH/
- AX0BiQHRAf8BgQGQAdUB/wGIAZsB2QH/AY4BpQHcAf8BmgGvAeAB/wGlAbgB4wH/AbABwQHnAf8BuwHJ
- AeoB/wHCAc8B6wH/AckB1AHsAf8BzAHWAe0B/wHOAdcB7QH/AdAB2AHsAf8B0QHZAesB/wHRAdkB6gH/
- AdAB2AHpAf8BzgHWAegB/wHLAdQB5wH/AcYB0AHlAf8BwQHMAeMB/wG8AcgB4QH/AbcBxAHfAf8BsgHA
- Ad0B/wGsAbsB2wH/AaYBtgHZAf8BnwGwAdcB/wGYAasB1QH/AZEBpgHTAf8BigGgAdIB/wGCAZoB0AH/
- AYIBlAHOAf8BgQGNAcwB/wGBAYcBywH/AXoBgQHJAf8BcQGBAccB/wFnAYEBxQH/AV4BgQHEAf8BVAF+
- AcIB/wFPAXoBwQH/AUkBdQHAAf8BRAFxAb8B/wE+AW0BvgH/AToBagG+Af8BNQFmAb0B/wExAWMBvAH/
- AS0BXwG6Af8BKAFbAbgB/wEiAVYBtgH/ASABSgGcAf8BHgE+AYEB/wFIAgIBgP8A/wD/AB8AASsCAQFA
- AUgCAgGAAUgCAgGAAUgCAgGAAUgCAgGAAUgCAgGAAUgCAgGAAUgCAgGAAUgCAgGAAUgCAgGAAVwBBAEF
- AcABZgGAAbIB/wFsAYEBtgH/AXEBhAG5Af8BdQ...
[truncated message content] |
|
From: <hap...@us...> - 2007-04-02 21:54:51
|
Revision: 283
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=283&view=rev
Author: happytalk
Date: 2007-04-02 14:54:43 -0700 (Mon, 02 Apr 2007)
Log Message:
-----------
Fixed so esc from search goes back to no selection. Modified NewString Left/Right/Mid
Modified Paths:
--------------
trunk/plugins/MyFilms/CString.cs
trunk/plugins/MyFilms/MesFilms.cs
Modified: trunk/plugins/MyFilms/CString.cs
===================================================================
--- trunk/plugins/MyFilms/CString.cs 2007-04-02 21:33:01 UTC (rev 282)
+++ trunk/plugins/MyFilms/CString.cs 2007-04-02 21:54:43 UTC (rev 283)
@@ -47,11 +47,11 @@
/// <summary>Return left hand part of a string</summary>
/// <param name="source">string to split</param>
/// <param name="length">Number of characters to return</param>
- /// <returns>Returns left part of the string OR complete original string if length less than 1</returns>
+ /// <returns>Returns left part of the string OR complete original string if length less than 1 or greater than string length</returns>
public static string Left(string source, int length)
{
if( source == null ) throw new ArgumentNullException("source");
- if (length > 0)
+ if (length > 0 && length < source.Length)
return source.Substring(0, length);
else
return source;
@@ -62,12 +62,10 @@
/// <summary>Returns right part of a string</summary>
/// <param name="source">string to split</param>
/// <param name="length">Number of characters to return</param>
- /// <returns>Returns right part of the string OR complete original string if length less than 1</returns>
+ /// <returns>Returns right part of the string OR complete original string if length less than 1 or greater than string length</returns>
public static string Right(string source, int length)
{
- if (source == null) throw new ArgumentNullException("source");
-
- if (length > 0)
+ if (length > 0 && length < source.Length)
return source.Substring(source.Length - length);
else
return source;
@@ -81,8 +79,7 @@
/// <returns>Returns right part of the string</returns>
public static string Mid(string source, int index)
{
- if (source == null) throw new ArgumentNullException("source");
- return source.Substring(index);
+ return Mid(source, index, 0);
}
@@ -91,12 +88,19 @@
/// <summary>Returns middle part of a string</summary>
/// <param name="source">string to split</param>
/// <param name="index">Position in string to start extract</param>
- /// <param name="length">Number of characters to extract</param>
+ /// <param name="length">Number of characters to extract. If 0 extract all to end</param>
/// <returns>Returns middle part of string</returns>
public static string Mid(string source, int index, int length)
{
if (source == null) throw new ArgumentNullException("source");
- return source.Substring(index, length);
+ if (index >= 0 && index < source.Length)
+ {
+ if (length == 0) length = source.Length;
+ length = Min(length, source.Length - index + 1);
+ return source.Substring(index, length);
+ }
+ else
+ return "";
}
#endregion
Modified: trunk/plugins/MyFilms/MesFilms.cs
===================================================================
--- trunk/plugins/MyFilms/MesFilms.cs 2007-04-02 21:33:01 UTC (rev 282)
+++ trunk/plugins/MyFilms/MesFilms.cs 2007-04-02 21:54:43 UTC (rev 283)
@@ -519,17 +519,10 @@
string SelItem;
if (StrTitleSelect == "")
{
- string WStrTxtSelect ="";
- try
- {
- WStrTxtSelect = StrTxtSelect.Substring(0, 9);
- }
- catch
- { }
- if (WStrTxtSelect == "Selection")
+ if (NewString.Left(StrTxtSelect, 9) == "Selection" || (StrTxtSelect == "" && boolselect)) //original code block refactored
{//jump back to main full list
boolselect = false;
- StrTxtSelect = "";
+ StrSelect = StrTxtSelect = "";
l_index = 0;
GetFilmList();
return true;
@@ -537,18 +530,7 @@
if (StrTxtSelect == "")
{
- if (boolselect)
- {//jump back to main full list
- boolselect = false;
- StrTxtSelect = "";
- l_index = 0;
- GetFilmList();
- }
- else
- {
- StrTxtSelect = "";
- return false;
- }
+ return false;
}
else
{ // Jump back to prev view_display (categorised by year, genre etc)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ze...@us...> - 2007-04-02 21:33:05
|
Revision: 282
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=282&view=rev
Author: zebons
Date: 2007-04-02 14:33:01 -0700 (Mon, 02 Apr 2007)
Log Message:
-----------
Modified Paths:
--------------
trunk/plugins/MyFilms/MesFilms.csproj
Modified: trunk/plugins/MyFilms/MesFilms.csproj
===================================================================
--- trunk/plugins/MyFilms/MesFilms.csproj 2007-04-02 21:19:05 UTC (rev 281)
+++ trunk/plugins/MyFilms/MesFilms.csproj 2007-04-02 21:33:01 UTC (rev 282)
@@ -29,9 +29,9 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
- <Reference Include="Core, Version=1.0.2548.1824, Culture=neutral, processorArchitecture=MSIL">
+ <Reference Include="Core, Version=1.0.2576.34540, Culture=neutral, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
- <HintPath>..\..\mediaportal_plugin\MesFilms\Core_Stable\Core.DLL</HintPath>
+ <HintPath>..\..\mediaportal_plugin\MesFilms\Core_Svn\Core.dll</HintPath>
</Reference>
<Reference Include="Databases, Version=1.0.2548.1828, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
@@ -48,9 +48,9 @@
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
- <Reference Include="Utils, Version=1.0.2548.1816, Culture=neutral, processorArchitecture=MSIL">
+ <Reference Include="Utils, Version=1.0.2576.34538, Culture=neutral, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
- <HintPath>..\..\mediaportal_plugin\MesFilms\Core_Stable\Utils.DLL</HintPath>
+ <HintPath>..\..\mediaportal_plugin\MesFilms\Core_Svn\Utils.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ze...@us...> - 2007-04-02 21:19:11
|
Revision: 281
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=281&view=rev
Author: zebons
Date: 2007-04-02 14:19:05 -0700 (Mon, 02 Apr 2007)
Log Message:
-----------
add compatibility to DVDProfiler 3.02
Modified Paths:
--------------
trunk/plugins/MyFilms/CatalogConverter.cs
Modified: trunk/plugins/MyFilms/CatalogConverter.cs
===================================================================
--- trunk/plugins/MyFilms/CatalogConverter.cs 2007-04-02 17:08:47 UTC (rev 280)
+++ trunk/plugins/MyFilms/CatalogConverter.cs 2007-04-02 21:19:05 UTC (rev 281)
@@ -15,6 +15,7 @@
public CatalogConverter()
{
+
ProfilerDict = new Dictionary<string, string>();
ProfilerDict.Add("Title", "OriginalTitle");
ProfilerDict.Add("SortTitle", "TranslatedTitle");
@@ -28,6 +29,7 @@
ProfilerDict.Add("Actors", "Actors");
ProfilerDict.Add("Genres", "Category");
ProfilerDict.Add("Credits", "Director");
+ ProfilerDict.Add("Credits1", "Producer");
ProfilerDict.Add("Overview", "Description");
ProfilerDict.Add("Picture", "Picture");
}
@@ -80,7 +82,11 @@
if (nodeNotes.InnerText.IndexOf("<Country>") != -1)
Country = nodeNotes.InnerText.Substring(nodeNotes.InnerText.IndexOf("<Country>") + 9, nodeNotes.InnerText.IndexOf("</Country>") - nodeNotes.InnerText.IndexOf("<Country>") - 9);
}
-
+ if (nodeMediaType != null)
+ {
+ XmlNode nodeCountryOfOrigin = nodeDVD.SelectSingleNode("CountryOfOrigin");
+ Country = nodeCountryOfOrigin.InnerText;
+ }
string genre = String.Empty;
XmlNodeList genreList = nodeDVD.SelectNodes("Genres/Genre");
foreach (XmlNode nodeGenre in genreList)
@@ -112,13 +118,14 @@
}
string line;
if (role.Length == 0)
- line = String.Format("{0} {1}, ", firstname, lastname);
+ line = String.Format("{0} {1}", firstname, lastname);
else
- line = String.Format("{0} {1} ({2}), ", firstname, lastname, role);
+ line = String.Format("{0} {1} ({2})", firstname, lastname, role);
+ if (cast.Length > 0) cast += ", ";
cast += line;
}
-
- string credits = String.Empty;
+ string Director = String.Empty;
+ string Producer = String.Empty;
XmlNodeList creditsList = nodeDVD.SelectNodes("Credits/Credit");
foreach (XmlNode nodeCredit in creditsList)
{
@@ -126,16 +133,18 @@
string lastname = String.Empty;
if (nodeMediaType != null)
{
- XmlNode nodeFirstName = nodeCredit.SelectSingleNode("FirstName");
- XmlNode nodeLastName = nodeCredit.SelectSingleNode("LastName");
- XmlNode nodeType = nodeCredit.SelectSingleNode("CreditSubtype");
+ firstname = nodeCredit.Attributes["FirstName"].Value;
+ lastname = nodeCredit.Attributes["LastName"].Value;
if (nodeCredit.Attributes["CreditSubtype"] != null && nodeCredit.Attributes["CreditSubtype"].Value != null && nodeCredit.Attributes["CreditSubtype"].Value == "Director")
{
- if (credits.Length > 0) credits += ", ";
- if (nodeFirstName != null && nodeFirstName.InnerText != null) firstname = nodeCredit.Attributes["FirstName"].Value ;
- if (nodeLastName != null && nodeLastName.InnerText != null) lastname = nodeCredit.Attributes["LastName"].Value;
- credits += String.Format("{0} {1}", firstname, lastname);
+ if (Director.Length > 0) Director += ", ";
+ Director += String.Format("{0} {1}", firstname, lastname);
}
+ if (nodeCredit.Attributes["CreditSubtype"] != null && nodeCredit.Attributes["CreditSubtype"].Value != null && nodeCredit.Attributes["CreditSubtype"].Value == "Producer")
+ {
+ if (Producer.Length > 0) Producer += ", ";
+ Producer += String.Format("{0} {1}", firstname, lastname);
+ }
}
else
{
@@ -144,33 +153,42 @@
XmlNode nodeType = nodeCredit.SelectSingleNode("CreditSubtype");
if (nodeType != null && nodeType.InnerText != null && nodeType.InnerText == "Director")
{
- if (credits.Length > 0) credits += ", ";
+ if (Director.Length > 0) Director += ", ";
if (nodeFirstName != null && nodeFirstName.InnerText != null) firstname = nodeFirstName.InnerText;
if (nodeLastName != null && nodeLastName.InnerText != null) lastname = nodeLastName.InnerText;
- credits += String.Format("{0} {1}", firstname, lastname);
+ Director += String.Format("{0} {1}", firstname, lastname);
}
+ if (nodeType != null && nodeType.InnerText != null && nodeType.InnerText == "Producer")
+ {
+ if (Producer.Length > 0) Producer += ", ";
+ if (nodeFirstName != null && nodeFirstName.InnerText != null) firstname = nodeFirstName.InnerText;
+ if (nodeLastName != null && nodeLastName.InnerText != null) lastname = nodeLastName.InnerText;
+ Producer += String.Format("{0} {1}", firstname, lastname);
+ }
}
}
string Image = folderimage + @"\" + nodeID.InnerText.Trim() + "f.jpg";
if (nodeMediaType != null)
{
XmlNode nodeRating = nodeDVD.SelectSingleNode("Review");
- if (nodeRating != null && nodeRating.Attributes["Film"] != null && nodeRating.Attributes["Film"].Value != null)
+ if (nodeRating.Attributes["Film"] != null && nodeRating.Attributes["Film"].Value != null)
Rating = nodeRating.Attributes["Film"].Value + ".0";
- else Rating = "0.0";
+ else
+ Rating = "0.0";
}
else
{
XmlNode nodeRating = nodeDVD.SelectSingleNode("Review/ReviewFilm");
if (nodeRating != null && nodeRating.InnerText != null)
Rating = nodeRating.InnerText + ".0";
- else Rating="0.0";
+ else
+ Rating = "0.0";
}
- if (nodeNumber != null && nodeNumber.InnerText != null)
+ if (nodeNumber != null && nodeNumber.InnerText != null)
WriteAntAtribute(destXml,"CollectionNumber",nodeNumber.InnerText);
else
WriteAntAtribute(destXml, "CollectionNumber", nodeNumber.InnerText);
- if (nodeOTitle != null && nodeOTitle.InnerText != null)
+ if (nodeOTitle != null && nodeOTitle.InnerText.Length > 0)
WriteAntAtribute(destXml, "Title", nodeOTitle.InnerText);
else
WriteAntAtribute(destXml, "Title", nodeTitle.InnerText);
@@ -182,9 +200,9 @@
WriteAntAtribute(destXml, "Year", nodeYear.InnerText);
WriteAntAtribute(destXml, "RunningTime", nodeDuration.InnerText);
WriteAntAtribute(destXml, "Genres", genre);
- WriteAntAtribute(destXml, "Credits", credits);
+ WriteAntAtribute(destXml, "Credits", Director);
+ WriteAntAtribute(destXml, "Credits1", Producer);
WriteAntAtribute(destXml, "Actors", cast);
-// WriteAntAtribute(destXml, "Picture", nodeID.InnerText.Trim() + "f.jpg");
WriteAntAtribute(destXml, "Picture", Image);
if (nodeOverview != null && nodeOverview.InnerText != null)
WriteAntAtribute(destXml, "Overview", nodeOverview.InnerText);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <du...@us...> - 2007-04-02 17:08:48
|
Revision: 280
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=280&view=rev
Author: dukus
Date: 2007-04-02 10:08:47 -0700 (Mon, 02 Apr 2007)
Log Message:
-----------
Compatibility with latest DVDP
Modified Paths:
--------------
trunk/plugins/MyFilms/CatalogConverter.cs
Modified: trunk/plugins/MyFilms/CatalogConverter.cs
===================================================================
--- trunk/plugins/MyFilms/CatalogConverter.cs 2007-04-02 15:49:16 UTC (rev 279)
+++ trunk/plugins/MyFilms/CatalogConverter.cs 2007-04-02 17:08:47 UTC (rev 280)
@@ -152,9 +152,20 @@
}
}
string Image = folderimage + @"\" + nodeID.InnerText.Trim() + "f.jpg";
- XmlNode nodeRating = nodeDVD.SelectSingleNode("Review/ReviewFilm");
- if (nodeRating != null && nodeRating.InnerText != null)
- Rating = nodeRating.InnerText + ".0";
+ if (nodeMediaType != null)
+ {
+ XmlNode nodeRating = nodeDVD.SelectSingleNode("Review");
+ if (nodeRating != null && nodeRating.Attributes["Film"] != null && nodeRating.Attributes["Film"].Value != null)
+ Rating = nodeRating.Attributes["Film"].Value + ".0";
+ else Rating = "0.0";
+ }
+ else
+ {
+ XmlNode nodeRating = nodeDVD.SelectSingleNode("Review/ReviewFilm");
+ if (nodeRating != null && nodeRating.InnerText != null)
+ Rating = nodeRating.InnerText + ".0";
+ else Rating="0.0";
+ }
if (nodeNumber != null && nodeNumber.InnerText != null)
WriteAntAtribute(destXml,"CollectionNumber",nodeNumber.InnerText);
else
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <du...@us...> - 2007-04-02 15:49:19
|
Revision: 279
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=279&view=rev
Author: dukus
Date: 2007-04-02 08:49:16 -0700 (Mon, 02 Apr 2007)
Log Message:
-----------
Modified Paths:
--------------
trunk/plugins/MyFilms/CatalogConverter.cs
Modified: trunk/plugins/MyFilms/CatalogConverter.cs
===================================================================
--- trunk/plugins/MyFilms/CatalogConverter.cs 2007-04-02 15:30:59 UTC (rev 278)
+++ trunk/plugins/MyFilms/CatalogConverter.cs 2007-04-02 15:49:16 UTC (rev 279)
@@ -62,6 +62,7 @@
{
destXml.WriteStartElement("Movie");
XmlNode nodeID = nodeDVD.SelectSingleNode("ID");
+ XmlNode nodeMediaType = nodeDVD.SelectSingleNode("MediaTypes/DVD");
XmlNode nodeNumber = nodeDVD.SelectSingleNode("CollectionNumber");
XmlNode nodeTitle = nodeDVD.SelectSingleNode("Title");
XmlNode nodeOTitle = nodeDVD.SelectSingleNode("OriginalTitle");
@@ -94,12 +95,21 @@
string firstname = String.Empty;
string lastname = String.Empty;
string role = String.Empty;
- XmlNode nodeFirstName = nodeActor.SelectSingleNode("FirstName");
- XmlNode nodeLastName = nodeActor.SelectSingleNode("LastName");
- XmlNode nodeRole = nodeActor.SelectSingleNode("Role");
- if (nodeFirstName != null && nodeFirstName.InnerText != null) firstname = nodeFirstName.InnerText;
- if (nodeLastName != null && nodeLastName.InnerText != null) lastname = nodeLastName.InnerText;
- if (nodeRole != null && nodeRole.InnerText != null) role = nodeRole.InnerText;
+ if (nodeMediaType != null)
+ {
+ if (nodeActor.Attributes["FirstName"] != null && nodeActor.Attributes["FirstName"].Value != null) firstname = nodeActor.Attributes["FirstName"].Value;
+ if (nodeActor.Attributes["LastName"] != null && nodeActor.Attributes["LastName"].Value != null) lastname = nodeActor.Attributes["LastName"].Value ;
+ if (nodeActor.Attributes["Role"] != null && nodeActor.Attributes["Role"].Value != null) role = nodeActor.Attributes["Role"].Value;
+ }
+ else
+ {
+ XmlNode nodeFirstName = nodeActor.SelectSingleNode("FirstName");
+ XmlNode nodeLastName = nodeActor.SelectSingleNode("LastName");
+ XmlNode nodeRole = nodeActor.SelectSingleNode("Role");
+ if (nodeFirstName != null && nodeFirstName.InnerText != null) firstname = nodeFirstName.InnerText;
+ if (nodeLastName != null && nodeLastName.InnerText != null) lastname = nodeLastName.InnerText;
+ if (nodeRole != null && nodeRole.InnerText != null) role = nodeRole.InnerText;
+ }
string line;
if (role.Length == 0)
line = String.Format("{0} {1}, ", firstname, lastname);
@@ -114,16 +124,32 @@
{
string firstname = String.Empty;
string lastname = String.Empty;
- XmlNode nodeFirstName = nodeCredit.SelectSingleNode("FirstName");
- XmlNode nodeLastName = nodeCredit.SelectSingleNode("LastName");
- XmlNode nodeType = nodeCredit.SelectSingleNode("CreditSubtype");
- if (nodeType != null && nodeType.InnerText != null && nodeType.InnerText == "Director")
+ if (nodeMediaType != null)
{
- if (credits.Length > 0) credits += ", ";
- if (nodeFirstName != null && nodeFirstName.InnerText != null) firstname = nodeFirstName.InnerText;
- if (nodeLastName != null && nodeLastName.InnerText != null) lastname = nodeLastName.InnerText;
- credits += String.Format("{0} {1}", firstname, lastname);
+ XmlNode nodeFirstName = nodeCredit.SelectSingleNode("FirstName");
+ XmlNode nodeLastName = nodeCredit.SelectSingleNode("LastName");
+ XmlNode nodeType = nodeCredit.SelectSingleNode("CreditSubtype");
+ if (nodeCredit.Attributes["CreditSubtype"] != null && nodeCredit.Attributes["CreditSubtype"].Value != null && nodeCredit.Attributes["CreditSubtype"].Value == "Director")
+ {
+ if (credits.Length > 0) credits += ", ";
+ if (nodeFirstName != null && nodeFirstName.InnerText != null) firstname = nodeCredit.Attributes["FirstName"].Value ;
+ if (nodeLastName != null && nodeLastName.InnerText != null) lastname = nodeCredit.Attributes["LastName"].Value;
+ credits += String.Format("{0} {1}", firstname, lastname);
+ }
}
+ else
+ {
+ XmlNode nodeFirstName = nodeCredit.SelectSingleNode("FirstName");
+ XmlNode nodeLastName = nodeCredit.SelectSingleNode("LastName");
+ XmlNode nodeType = nodeCredit.SelectSingleNode("CreditSubtype");
+ if (nodeType != null && nodeType.InnerText != null && nodeType.InnerText == "Director")
+ {
+ if (credits.Length > 0) credits += ", ";
+ if (nodeFirstName != null && nodeFirstName.InnerText != null) firstname = nodeFirstName.InnerText;
+ if (nodeLastName != null && nodeLastName.InnerText != null) lastname = nodeLastName.InnerText;
+ credits += String.Format("{0} {1}", firstname, lastname);
+ }
+ }
}
string Image = folderimage + @"\" + nodeID.InnerText.Trim() + "f.jpg";
XmlNode nodeRating = nodeDVD.SelectSingleNode("Review/ReviewFilm");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
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.
|
|
From: <du...@us...> - 2007-04-02 14:22:49
|
Revision: 277
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=277&view=rev
Author: dukus
Date: 2007-04-02 07:22:48 -0700 (Mon, 02 Apr 2007)
Log Message:
-----------
Upload method changed
New control in control panel 1 try
Modified Paths:
--------------
trunk/plugins/mpinstaler/MPInstaler/Build dialog.Designer.cs
trunk/plugins/mpinstaler/MPInstaler/Build dialog.cs
trunk/plugins/mpinstaler/MPInstaler/MPInstaler.csproj
trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs
trunk/plugins/mpinstaler/MPInstaler/download_form.cs
trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.Designer.cs
trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.cs
trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.resx
Added Paths:
-----------
trunk/plugins/mpinstaler/MPInstaler/control/
trunk/plugins/mpinstaler/MPInstaler/control/ControlListView.cs
trunk/plugins/mpinstaler/MPInstaler/control/ControlListView.resx
trunk/plugins/mpinstaler/MPInstaler/control/Graphic1.cdr
trunk/plugins/mpinstaler/MPInstaler/control/Graphic1.png
trunk/plugins/mpinstaler/MPInstaler/control/Graphic2.png
trunk/plugins/mpinstaler/MPInstaler/control/Graphic3.png
trunk/plugins/mpinstaler/MPInstaler/control/TileListItem.cs
trunk/plugins/mpinstaler/MPInstaler/control/TileListItem.resx
Modified: trunk/plugins/mpinstaler/MPInstaler/Build dialog.Designer.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/Build dialog.Designer.cs 2007-04-02 12:54:44 UTC (rev 276)
+++ trunk/plugins/mpinstaler/MPInstaler/Build dialog.Designer.cs 2007-04-02 14:22:48 UTC (rev 277)
@@ -130,7 +130,7 @@
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(249, 20);
this.textBox2.TabIndex = 8;
- this.textBox2.Text = "ftp://ftp.extra.hu/wwwroot";
+ this.textBox2.Text = "ftp://ftp.extra.hu/wwwroot/upload";
//
// label2
//
Modified: trunk/plugins/mpinstaler/MPInstaler/Build dialog.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/Build dialog.cs 2007-04-02 12:54:44 UTC (rev 276)
+++ trunk/plugins/mpinstaler/MPInstaler/Build dialog.cs 2007-04-02 14:22:48 UTC (rev 277)
@@ -79,29 +79,47 @@
listBox1.Items.Add("Upload done.");
listBox1.Refresh();
listBox1.Update();
- string tempfile = Path.GetTempPath() + @"\MPExtensionFileList.xml";
- string configfile = textBox2.Text+"/MPExtensionFileList.xml";
- if (download_form.FtpDownload(configfile, tempfile, textBox3.Text, textBox4.Text))
+ if (true)
{
- listBox1.Items.Add("List file downloaded !");
- listBox1.SelectedIndex = listBox1.Items.Count - 1;
- listBox1.Refresh();
- listBox1.Update();
+ string tempfile = Path.GetTempPath() + @"\"+Path.GetFileNameWithoutExtension(textBox1.Text)+".xml";
+ string configfile = textBox2.Text + "/" + Path.GetFileNameWithoutExtension(textBox1.Text) + ".xml";
MPInstallHelper temp_mpih = new MPInstallHelper();
- temp_mpih.LoadFromFile(tempfile);
MPpackageStruct pk = new MPpackageStruct();
pk.LoadFromFile(textBox1.Text);
temp_mpih.Add(pk);
+ temp_mpih.FileName = tempfile;
temp_mpih.SaveToFile();
- download_form.FtpRenam(configfile, "MPExtensionFileList_old.xml", textBox3.Text, textBox4.Text);
- listBox1.Items.Add("List file renamed !");
- listBox1.Refresh();
- listBox1.Update();
download_form.FtpUpload(tempfile, textBox2.Text, textBox3.Text, textBox4.Text);
listBox1.Items.Add("List file uploaded !");
listBox1.Refresh();
listBox1.Update();
}
+ else
+ {
+ string tempfile = Path.GetTempPath() + @"\MPExtensionFileList.xml";
+ string configfile = textBox2.Text + "/MPExtensionFileList.xml";
+ if (download_form.FtpDownload(configfile, tempfile, textBox3.Text, textBox4.Text))
+ {
+ listBox1.Items.Add("List file downloaded !");
+ listBox1.SelectedIndex = listBox1.Items.Count - 1;
+ listBox1.Refresh();
+ listBox1.Update();
+ MPInstallHelper temp_mpih = new MPInstallHelper();
+ temp_mpih.LoadFromFile(tempfile);
+ MPpackageStruct pk = new MPpackageStruct();
+ pk.LoadFromFile(textBox1.Text);
+ temp_mpih.Add(pk);
+ temp_mpih.SaveToFile();
+ download_form.FtpRenam(configfile, "MPExtensionFileList_old.xml", textBox3.Text, textBox4.Text);
+ listBox1.Items.Add("List file renamed !");
+ listBox1.Refresh();
+ listBox1.Update();
+ download_form.FtpUpload(tempfile, textBox2.Text, textBox3.Text, textBox4.Text);
+ listBox1.Items.Add("List file uploaded !");
+ listBox1.Refresh();
+ listBox1.Update();
+ }
+ }
}
}
else
Modified: trunk/plugins/mpinstaler/MPInstaler/MPInstaler.csproj
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/MPInstaler.csproj 2007-04-02 12:54:44 UTC (rev 276)
+++ trunk/plugins/mpinstaler/MPInstaler/MPInstaler.csproj 2007-04-02 14:22:48 UTC (rev 277)
@@ -75,6 +75,12 @@
<Compile Include="Build dialog.Designer.cs">
<DependentUpon>Build dialog.cs</DependentUpon>
</Compile>
+ <Compile Include="control\ControlListView.cs">
+ <SubType>UserControl</SubType>
+ </Compile>
+ <Compile Include="control\TileListItem.cs">
+ <SubType>UserControl</SubType>
+ </Compile>
<Compile Include="download_form.cs">
<SubType>Form</SubType>
</Compile>
@@ -107,6 +113,14 @@
<SubType>Designer</SubType>
<DependentUpon>Build dialog.cs</DependentUpon>
</EmbeddedResource>
+ <EmbeddedResource Include="control\ControlListView.resx">
+ <DependentUpon>ControlListView.cs</DependentUpon>
+ <SubType>Designer</SubType>
+ </EmbeddedResource>
+ <EmbeddedResource Include="control\TileListItem.resx">
+ <DependentUpon>TileListItem.cs</DependentUpon>
+ <SubType>Designer</SubType>
+ </EmbeddedResource>
<EmbeddedResource Include="download_form.resx">
<SubType>Designer</SubType>
<DependentUpon>download_form.cs</DependentUpon>
Modified: trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs 2007-04-02 12:54:44 UTC (rev 276)
+++ trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs 2007-04-02 14:22:48 UTC (rev 277)
@@ -253,7 +253,7 @@
{
public ArrayList lst = new ArrayList();
string InstalDir = Config.GetFolder(Config.Dir.Base) + @"\" + "Instaler";
- string FileName = "";
+ public string FileName = "";
public MPInstallHelper()
{
FileName = InstalDir + @"\" + "config.xml";
Added: trunk/plugins/mpinstaler/MPInstaler/control/ControlListView.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/control/ControlListView.cs (rev 0)
+++ trunk/plugins/mpinstaler/MPInstaler/control/ControlListView.cs 2007-04-02 14:22:48 UTC (rev 277)
@@ -0,0 +1,627 @@
+using System;
+using System.Collections;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Windows.Forms;
+
+namespace ControlListView
+{
+ /// <summary>
+ /// Summary description for ControlListView.
+ /// </summary>
+ public class ControlListView : System.Windows.Forms.UserControl
+ {
+ private System.ComponentModel.IContainer components;
+ private System.Windows.Forms.ImageList imageListLargeIcons;
+ private System.Windows.Forms.ImageList imageListItemBackground;
+ public new event MouseEventHandler MouseUp=null;
+ public new event MouseEventHandler MouseDown=null;
+ public new event EventHandler DoubleClick=null;
+ public System.Collections.ArrayList controlList;
+ public event SelectedIndexChangedEventHandler SelectedIndexChanged=null;
+ public ControlListView()
+ {
+ // This call is required by the Windows.Forms Form Designer.
+ InitializeComponent();
+ controlList=new ArrayList();
+ // TODO: Add any initialization after the InitializeComponent call
+ InitializeMyComponent();
+ }
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if(components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Component Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ControlListView));
+ this.imageListLargeIcons = new System.Windows.Forms.ImageList(this.components);
+ this.imageListItemBackground = new System.Windows.Forms.ImageList(this.components);
+ this.SuspendLayout();
+ //
+ // imageListLargeIcons
+ //
+ this.imageListLargeIcons.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageListLargeIcons.ImageStream")));
+ this.imageListLargeIcons.TransparentColor = System.Drawing.Color.Transparent;
+ this.imageListLargeIcons.Images.SetKeyName(0, "");
+ this.imageListLargeIcons.Images.SetKeyName(1, "");
+ this.imageListLargeIcons.Images.SetKeyName(2, "");
+ this.imageListLargeIcons.Images.SetKeyName(3, "");
+ this.imageListLargeIcons.Images.SetKeyName(4, "");
+ this.imageListLargeIcons.Images.SetKeyName(5, "");
+ //
+ // imageListItemBackground
+ //
+ this.imageListItemBackground.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageListItemBackground.ImageStream")));
+ this.imageListItemBackground.TransparentColor = System.Drawing.Color.Transparent;
+ this.imageListItemBackground.Images.SetKeyName(0, "Graphic1.png");
+ this.imageListItemBackground.Images.SetKeyName(1, "Graphic1.png");
+ this.imageListItemBackground.Images.SetKeyName(2, "Graphic3.png");
+ //
+ // ControlListView
+ //
+ this.AutoScroll = true;
+ this.BackColor = System.Drawing.Color.White;
+ this.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.Name = "ControlListView";
+ this.Size = new System.Drawing.Size(148, 148);
+ this.Click += new System.EventHandler(this.ControlListView_Click);
+ this.SizeChanged += new System.EventHandler(this.ControlListView_SizeChanged);
+ this.ResumeLayout(false);
+
+ }
+ #endregion
+
+ private void InitializeMyComponent()
+ {
+ base.MouseDown+=new MouseEventHandler(ControlListView_MouseDown);
+ base.MouseUp+=new MouseEventHandler(ControlListView_MouseUp);
+ base.DoubleClick+=new EventHandler(ControlListView_DoubleClick);
+ }
+
+ private void ControlListView_MouseDown(object sender, MouseEventArgs e)
+ {
+ if (this.Selected==false)
+ {
+ this.Selected=true;
+ }
+ if (MouseDown!=null)
+ {
+ MouseDown(sender,e);
+ }
+ }
+
+ private void ControlListView_MouseUp(object sender, MouseEventArgs e)
+ {
+ if (MouseUp!=null)
+ {
+ MouseUp(this,e);
+ }
+ }
+
+ private void ControlListView_DoubleClick(object sender, EventArgs e)
+ {
+ if (DoubleClick!=null)
+ {
+ DoubleClick(sender,e);
+ }
+ }
+ private int itemWidth=250;
+ public int ItemWidth
+ {
+ get
+ {
+ return itemWidth;
+ }
+ set
+ {
+ itemWidth=value;
+ }
+ }
+ private int itemHeight=100;
+ public int ItemHeight
+ {
+ get
+ {
+ return itemHeight;
+ }
+ set
+ {
+ itemHeight=value;
+ }
+ }
+ public void ReCalculateItems()
+ {
+ //this.SuspendLayout();
+ TileListItem lItem;
+ for (int i=0;i<controlList.Count;i++)
+ {
+ lItem=(TileListItem)controlList[i];
+ lItem.Location=GetItemLocation(i);
+ }
+ AdjustHeight();
+ this.ResumeLayout();
+ }
+ private System.Drawing.Color itemHorverColor=Color.FromArgb(117,197,240);
+ public System.Drawing.Color ItemHorverColor
+ {
+ get
+ {
+ return itemHorverColor;
+ }
+ set
+ {
+ itemHorverColor=value;
+ }
+ }
+ private System.Drawing.Color itemSelectionColor=Color.White;
+ public System.Drawing.Color ItemSelectionColor
+ {
+ get
+ {
+ return itemSelectionColor;
+ }
+ set
+ {
+ itemSelectionColor=value;
+ }
+ }
+ private System.Drawing.Color itemNormalColor=Color.White;
+ public System.Drawing.Color ItemNormalColor
+ {
+ get
+ {
+ return itemNormalColor;
+ }
+ set
+ {
+ itemNormalColor=value;
+ }
+ }
+ private System.Drawing.Point GetItemLocation(int index)
+ {
+ int ItemPerRow=(this.Width-20)/ItemWidth;
+ if (ItemPerRow==0)
+ {
+ ItemPerRow=1;
+ }
+ int rowIndex=index/ItemPerRow;
+ int colIndex=index-rowIndex*ItemPerRow;
+ Point p = new Point(colIndex * (ItemWidth + verticleSpacing) + verticleSpacing, rowIndex * (ItemHeight + horizontalSpacing) + horizontalSpacing);
+ return p;
+ }
+ public int HeightToShowAll
+ {
+ get
+ {
+ System.Drawing.Point p=GetItemLocation(controlList.Count-1);
+ return p.Y+ItemHeight+horizontalSpacing;
+ }
+ }
+ private int horizontalSpacing=5;
+ public int HorizontalSpacing
+ {
+ get
+ {
+ return horizontalSpacing;
+ }
+ set
+ {
+ horizontalSpacing=value;
+ }
+ }
+ private int verticleSpacing=5;
+ public int VerticleSpacing
+ {
+ get
+ {
+ return verticleSpacing;
+ }
+ set
+ {
+ verticleSpacing=value;
+ }
+ }
+ private System.Drawing.Color normalColor=Color.White;
+ public System.Drawing.Color NormalColor
+ {
+ get
+ {
+ return normalColor;
+ }
+ set
+ {
+ normalColor=value;
+ }
+ }
+
+ private System.Drawing.Color selectedColor=Color.White;
+ public System.Drawing.Color SelectedColor
+ {
+ get
+ {
+ return selectedColor;
+ }
+ set
+ {
+ selectedColor=value;
+ }
+ }
+
+ private bool selected=false;
+ public bool Selected
+ {
+ get
+ {
+ return selected;
+ }
+ set
+ {
+ selected=value;
+ if (selected==true)
+ {
+ this.BackColor=selectedColor;
+ }
+ else
+ {
+ this.BackColor=normalColor;
+ if (previousSelectedItem!=null)
+ {
+ previousSelectedItem.Selected=false;
+ }
+ }
+ }
+ }
+ private TileListItem previousSelectedItem=null;
+ public TileListItem SelectedItem
+ {
+ get
+ {
+ return previousSelectedItem;
+ }
+ }
+ private TileListItem previousHorverItem=null;
+ public TileListItem HorverItem
+ {
+ get
+ {
+ return previousHorverItem;
+ }
+ }
+ private void lItem_ItemSelected(object sender, EventArgs e)
+ {
+ TileListItem lItem=(TileListItem)sender;
+
+ if (previousSelectedItem!=null)
+ {
+ if (lItem!=previousSelectedItem)
+ {
+ previousSelectedItem.Selected=false;
+ }
+ }
+ previousSelectedItem=lItem;
+ if (SelectedIndexChanged!=null)
+ {
+ this.Selected=true;
+ SelectedIndexChanged(this,lItem);
+ }
+ }
+
+ private bool autoResize=false;
+ public bool AutoResize
+ {
+ get
+ {
+ return autoResize;
+ }
+ set
+ {
+ autoResize=value;
+ }
+ }
+ public System.Windows.Forms.ImageList ItemIconImageList
+ {
+ get
+ {
+ return this.imageListLargeIcons;
+ }
+ set
+ {
+ this.imageListLargeIcons = value;
+ }
+ }
+ public System.Windows.Forms.ImageList ItemBackgroundImage
+ {
+ get
+ {
+ return this.imageListItemBackground;
+ }
+ }
+
+ private void Item_MouseEnter(object sender, EventArgs e)
+ {
+ if (previousHorverItem!=null)
+ {
+ if (previousHorverItem.Selected==false)
+ {
+ previousHorverItem.BackgroundImage=imageListItemBackground.Images[0];
+ }
+ }
+ previousHorverItem=(TileListItem)sender;
+ }
+
+ private Size oldSize;
+ private bool autoAdjustHeight=false;
+ public bool AutoAdjustHeight
+ {
+ get
+ {
+ return autoAdjustHeight;
+ }
+ set
+ {
+ autoAdjustHeight=value;
+ }
+ }
+ private void AdjustHeight()
+ {
+ if(AutoAdjustHeight==false)
+ return;
+ if (this.Count==0)
+ {
+ this.Height=10;
+ }
+ else
+ {
+ int height=0;
+ height=this.HeightToShowAll;
+ if(this.Height!=height+10)
+ this.Height=height+10;
+ }
+ }
+
+ private bool IsReCalculateNeeded
+ {
+ get
+ {
+ int ItemPerRow=(this.Width-20)/ItemWidth;
+ int oldItemPerRow=(oldSize.Width-20)/ItemWidth;
+ if (ItemPerRow==oldItemPerRow)
+ {
+ return false;
+ }
+ else
+ return true;
+ }
+ }
+
+ private void Item_DoubleClick(object sender, EventArgs e)
+ {
+ if (DoubleClick!=null)
+ {
+ DoubleClick(sender,e);
+ }
+ }
+
+ private void ControlListView_Click(object sender, System.EventArgs e)
+ {
+ if (SelectedIndexChanged!=null)
+ {
+ this.Selected=true;
+ if (previousSelectedItem!=null)
+ {
+ previousSelectedItem.Selected=false;
+ previousSelectedItem=null;
+ }
+ SelectedIndexChanged(this,null);
+ }
+ }
+
+ private void ControlListView_SizeChanged(object sender, System.EventArgs e)
+ {
+ if (AutoResize==true&&IsReCalculateNeeded==true)
+ {
+ ReCalculateItems();
+ }
+ oldSize=this.Size;
+ }
+
+
+
+
+ #region IList Members
+
+ public bool IsReadOnly
+ {
+ get
+ {
+ // TODO: Add ControlListView.IsReadOnly getter implementation
+ return false;
+ }
+ }
+
+ public TileListItem this[int index]
+ {
+ get
+ {
+ // TODO: Add ControlListView.this getter implementation
+ return (TileListItem)controlList[index];
+ }
+ set
+ {
+ // TODO: Add ControlListView.this setter implementation
+ controlList[index]=value;
+
+ }
+ }
+
+ public void RemoveAt(int index)
+ {
+ // TODO: Add ControlListView.RemoveAt implementation
+ Remove((TileListItem) this.controlList[index]);
+ }
+
+ public void Insert(int index, TileListItem value)
+ {
+ // TODO: Add ControlListView.Insert implementation
+ TileListItem lItem=(TileListItem)value;
+ PrepareItemToAdd(lItem);
+ this.Controls.Add(lItem);
+ controlList.Insert(index,value);
+ ReCalculateItems();
+ }
+
+ public void Remove(TileListItem value)
+ {
+ // TODO: Add ControlListView.Remove implementation
+ controlList.Remove(value);
+ this.Controls.Remove(value);
+ ReCalculateItems();
+ }
+
+ public bool Contains(TileListItem value)
+ {
+ // TODO: Add ControlListView.Contains implementation
+ if(this.SelectedItem==value)
+ {
+ value.Selected=false;
+ }
+ return controlList.Contains(value);
+ }
+
+ public void Clear()
+ {
+ // TODO: Add ControlListView.Clear implementation
+ controlList.Clear();
+ this.Controls.Clear();
+ ReCalculateItems();
+ }
+
+ public int IndexOf(TileListItem value)
+ {
+ // TODO: Add ControlListView.IndexOf implementation
+ return controlList.IndexOf(value);
+ }
+ private void PrepareItemToAdd(TileListItem lItem)
+ {
+ lItem.ItemSelected+=new EventHandler(lItem_ItemSelected);
+ lItem.MouseEnter+=new EventHandler(Item_MouseEnter);
+ lItem.MouseLeave+=new EventHandler(Item_MouseLeave);
+ lItem.MouseUp+=new MouseEventHandler(ControlListView_MouseUp);
+ lItem.MouseDown+=new MouseEventHandler(ControlListView_MouseDown);
+ lItem.DoubleClick+=new EventHandler(Item_DoubleClick);
+ lItem.Image=imageListLargeIcons.Images[lItem.ImageIndex];
+ lItem.Size=new System.Drawing.Size(ItemWidth, ItemHeight);
+ lItem.HorverColor=ItemHorverColor;
+ lItem.SelectionColor=ItemSelectionColor;
+ lItem.NormalColor=ItemNormalColor;
+ lItem.BackColor=lItem.NormalColor;
+ lItem.NormalImage=imageListItemBackground.Images[0];
+ lItem.HorverImage=imageListItemBackground.Images[1];
+ lItem.SelectionImage=imageListItemBackground.Images[2];
+ lItem.Selected=false;
+ lItem.ShowToolTips=true;
+ }
+ private void Item_MouseLeave(object sender, EventArgs e)
+ {
+
+ }
+ public int Add(TileListItem value)
+ {
+ // TODO: Add ControlListView.Add implementation
+ TileListItem lItem=(TileListItem)value;
+ PrepareItemToAdd(lItem);
+ this.Controls.Add(lItem);
+ int i= controlList.Add(lItem);
+ ReCalculateItems();
+ return i;
+ }
+
+ public bool IsFixedSize
+ {
+ get
+ {
+ // TODO: Add ControlListView.IsFixedSize getter implementation
+ return controlList.IsFixedSize;
+ }
+ }
+
+ #endregion
+
+ #region ICollection Members
+
+ public bool IsSynchronized
+ {
+ get
+ {
+ // TODO: Add ControlListView.IsSynchronized getter implementation
+ return controlList.IsSynchronized;
+ }
+ }
+
+ public int Count
+ {
+ get
+ {
+ // TODO: Add ControlListView.Count getter implementation
+ return controlList.Count;
+ }
+ }
+
+ public void CopyTo(Array array, int index)
+ {
+ // TODO: Add ControlListView.CopyTo implementation
+ for(int i=0;i<array.Length;i++)
+ {
+ if(!(array.GetValue(i) is TileListItem))
+ {
+ throw new Exception("Only TileListItem class is expected");
+ }
+ }
+ this.Controls.CopyTo(array,index);
+ controlList.CopyTo(array,index);
+ }
+
+ public object SyncRoot
+ {
+ get
+ {
+ // TODO: Add ControlListView.SyncRoot getter implementation
+ return controlList.SyncRoot;
+ }
+ }
+
+ #endregion
+
+ #region IEnumerable Members
+
+ public IEnumerator GetEnumerator()
+ {
+ // TODO: Add ControlListView.GetEnumerator implementation
+ return controlList.GetEnumerator();
+ }
+
+ #endregion
+
+
+ }
+ public delegate void SelectedIndexChangedEventHandler(object sender,TileListItem item);
+}
Added: trunk/plugins/mpinstaler/MPInstaler/control/ControlListView.resx
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/control/ControlListView.resx (rev 0)
+++ trunk/plugins/mpinstaler/MPInstaler/control/ControlListView.resx 2007-04-02 14:22:48 UTC (rev 277)
@@ -0,0 +1,519 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <metadata name="imageListLargeIcons.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>351, 17</value>
+ </metadata>
+ <data name="imageListLargeIcons.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
+ LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
+ ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACE
+ QAAAAk1TRnQBSQFMAgEBBgEAAQkBAAEEAQABIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGA
+ AwABQAMAAQEBAAEgBgABgBIAAwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMG
+ Af8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMG
+ Af8DBgH/AwYB/3AAAwYB/wMGAf8DBgH//wAVAAOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/
+ A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/
+ A4EB/wOBAf8DgQH/A4EB/wMGAf9sAAGBAgYC/wIGA/8BBgL/AgYB/wMGAf//ABEAA4EB/wPAAf8DwAH/
+ A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/
+ A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DgQH/A4EB/wMGAf9kAAGBAgYC/wIGA/8BBgP/
+ AQYC/wIGAf8DBgH//wARAAOBZf8DgQH/A4EB/wMGAf9gAAGBAgYC/wIGA/8BBgP/AQYC/wIGAv8CBgH/
+ AwYB//8AEQADgQH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/
+ AgYBgQH/AgYBgQH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/
+ A4EB/wOBAf8DBgH/WAABgQIGAv8CBgP/AQYD/wEGAv8CBgL/AgYB/wMGAf//ABkAA4EB/wPAAf8DwAH/
+ A8AB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/AgYC/wMGAf8DwAH/A8AB/wPAAf8DwAH/
+ A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DgQH/A4EB/wMGAf8MAAMGAf8DBgH/AwYB/wMG
+ Af8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wGB
+ AgYC/wIGA/8BBgP/AQYC/wIGAv8CBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH//wAJAAOBAf8DwAH/
+ A8AB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DgQH/AQYD/wMGAf8DwAH/A8AB/wOBAf8DgQH/
+ A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DwAH/A8AB/wOBAf8DgQH/AwYB/wQAA4EB/wEG
+ AoEB/wEGAoEB/wEGAoEB/wEGAoEB/wEGAoEB/wEGAoEB/wEGAoEB/wEGAoEB/wEGAoEB/wEGAoEB/wEG
+ AoEB/wEGAoEB/wEGAoEB/wEGAoEB/wEGAoEB/wEGAoEB/wEGAoEB/wGBAgYC/wIGA/8BBgP/AQYC/wIG
+ Av8CBgH/AwYB/wEGAoEB/wEGAoEB/wEGAoEB/wEGAoEB/wEGAoEB/wEGAoEB/wMGAf//AAkAA4EB/wPA
+ Af8DgRH/A8AB/wOBAf8BBgP/AwYB/wPAAf8DwAH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMG
+ Af8DBgH/AwYB/wMGAf8DgQH/A8AB/wOBAf8DgQH/AwYB/wQAA4EF/wEGA/8DwAH/AQYD/wPAAf8BBgP/
+ A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wGBAgYC/wIGA/8BBgP/AQYC/wIG
+ Av8CBgH/AwYB/wEGAoEB/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYCgQH/AwYB//8ACQADgQH/A8AB/wPA
+ Af8DgQn/A8AB/wOBAf8BBgP/AwYB/wOBAf8DwAH/A8AB/wOBAf8BBgf/AQYH/wEGB/8BBgf/AQYD/wMG
+ Af8DgQH/A8AB/wPAAf8DgQH/A4EB/wMGAf8DgQX/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEG
+ A/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DgQL/AgYD/wEGA/8BBgL/AgYC/wIGAf8DBgH/AQYCgQH/
+ A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/AQYCgQH/AwYB//8ADQADgQH/A8AB/wOBCf8DgQH/AQYD/wMG
+ Bf8DBgH/A4EB/wPAAf8DgQX/AQYH/wEGB/8BBgf/AQYH/wEGA/8DBgH/A4EB/wPAAf8DgQH/A4EB/wMG
+ Af8DgQX/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wOB
+ Af8DwAf/AQYC/wIGAv8CBgH/AwYB/wEGAoEB/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgKB
+ Af8DBgH//wANAAOBAf8DwAH/A8AB/wOBBf8DgQH/AwYJ/wMGAf8DgQH/A8AB/wPAAf8DgQX/AQYH/wEG
+ B/8BBgf/AQYH/wMGAf8DgQH/A8AB/wPAAf8DgQH/AwYB/wOBBf8DwAH/AQYD/wPAAf8BBgP/A8AB/wEG
+ A/8DwAH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DgQH/A8AF/wPAAf8DgQL/AgYB/wMGAf8BBgKBAf8DwAH/
+ AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wEGAoEB/wMGAf//ABEAA4EB/wPAAf8DgRn/AwYB/wPA
+ Af8DwAH/A4EB/wEGB/8BBgP/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/AwYB/wPAAf8DwAH/A8AB/wOB
+ Af8DBgH/A4EF/wEGA/8DwAH/AQYD/wPAAf8BBgP/AwYB/wMGAf8CgQEGAf8CgQEGAf8CgQEGAf8CgQEG
+ Af8CgQEGAf8DBgH/AwYB/wPAAf8DgQH/A4EB/wMGAf8BBgKBAf8DwAH/AQYD/wPAAf8BBgP/A8AB/wEG
+ A/8DwAH/AQYD/wPAAf8BBgKBAf8DBgH//wARAAOBAf8DwAH/A8AB/wOBAf8DgQH/A4EB/wOBAf8DgQH/
+ A4EB/wMGAf8DwAH/A8AB/wPAAf8DgQH/A4EB/wOBAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wOBAf8DgQH/
+ A4EB/wOBAf8DgQH/A8AB/wMGAf8DgQX/A8AB/wEGA/8DwAH/AQYD/wOBAf8CgQEGAf8DwAP/AQYB/wPA
+ A/8BBgH/A8AD/wEGAf8CgQEGAf8CgQEGAf8DBgH/A4EB/wMGAf8BBgKBAf8DwAH/AQYD/wPAAf8BBgP/
+ A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/AQYCgQH/AwYB//8AFQADgQH/A8AB/wPAAf8DwAH/A8AB/wPA
+ Af8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/AoEBBgH/
+ AwYB/wMGAf8DBgH/AwYB/wOBAf8DgQH/AwYB/wOBBf8BBgP/A8AB/wEGA/8DgQH/AoEBBgH/A8AD/wEG
+ Af8DwAP/AQYB/wPAA/8BBgH/A8AD/wEGAf8CgQEGAf8CgQEGAf8DBgH/AQYCgQH/A8AB/wEGA/8DwAH/
+ AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgKBAf8DBgH//wAVAAOBAf8DgQH/A4EB/wOB
+ Af8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOB
+ Af8CgQEGA/8BBgP/AQYB/wKBAQYB/wMGAf8DgQH/A4EB/wMGAf8DgQX/A8AB/wEGA/8DwAH/A4EB/wPA
+ A/8BBgf/AQYB/wPAA/8BBgH/A8AD/wEGAf8DwAP/AQYB/wKBAQYB/wMGAf8DgQH/A8AB/wPAAf8BBgP/
+ A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8BBgKBAf8DBgH//wBhAAKBAQYB/wKBAQYB/wKB
+ AQYB/wKBAQYB/wMGAf8MAAOBBf8BBgP/A8AB/wOBAf8DwAP/AQYH/wEGAf8DwAP/AQYB/wPAA/8BBgH/
+ A8AD/wEGAf8DwAP/AQYB/wKBAQYB/wMGAf8DgQH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPA
+ Af8BBgP/A8AB/wEGAoEB/wMGAf//AGUAAoEBBgP/AQYB/wMGAf8QAAOBBf8DwAH/AQYD/wOBA/8BBgf/
+ AQYH/wEGAf8DwAP/AQYB/wPAA/8BBgH/A8AD/wEGAf8DwAH/AoEBBgH/AwYB/wEGAoEB/wPAAf8BBgP/
+ A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8BBgKBAf8DBgH//wBlAAKBAQYD/wEGAf8DBgH/
+ EAADgQX/AQYD/wPAAf8DgQH/A8AD/wEGCf8DwAP/AQYB/wPAA/8BBgH/A8AD/wEGAf8DwAP/AQYB/wKB
+ AQYB/wMGAf8DgQH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGAoEB/wMG
+ Af//AGkAAoEBBgP/AQYB/wMGAf8MAAOBBf8DwAH/AQYD/wOBA/8BBgf/AQYJ/wPAA/8BBgH/A8AD/wEG
+ Af8DwAP/AQYB/wPAAf8CgQEGAf8DBgH/AQYCgQH/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEG
+ A/8DwAH/AQYD/wEGAoEB/wMGAf//AGkAAoEBBgP/AQYB/wMGAf8MAAOBBf8BBgP/A8AB/wOBAf8DwAP/
+ AQYP/wEGAf8DwAP/AQYB/wPAA/8BBgH/A8AD/wEGAf8CgQEGAf8DBgH/A4EB/wEGA/8DwAH/AQYD/wPA
+ Af8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgKBAf8DBgH//wA9AAEGAoEB/wMGAf8DBgH/JAACgQEG
+ A/8BBgH/AwYB/wgAA4EF/wPAAf8BBgP/A8AB/wOBB/8BBg//AQYB/wPAA/8BBgH/A8AD/wEGAf8DwAH/
+ AwYB/wEGAoEB/wPAAf8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/AQYCgQH/
+ AwYB//8AOQABBgKBAf8BBgP/AQYD/wEGA/8DBgH/IAACgQEGA/8BBgH/AwYB/wgAA4EF/wEGA/8DwAH/
+ AQYD/wOBAf8DwAf/AQYH/wEGB/8BBgH/A8AD/wEGAf8DwAH/AoEBBgH/AwYB/wEGAoEB/wPAAf8BBgP/
+ A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYCgQH/AwYB//8ALQACgQEGAf8CgQEG
+ Af8CgQEGAf8CgQEGAf8CgQEGAf8CgQEGAf8CgQEGAf8CgQEGAf8DBgH/AwYB/wMGAf8YAAKBAQYD/wEG
+ Af8DBgH/BAADgQX/A8AB/wEGA/8DwAH/AQYD/wOBAf8DwAf/AQYH/wEGB/8BBgH/A8AB/wKBAQYB/wMG
+ Af8DgQH/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/AQYCgQH/
+ AwYB//8ALQACgQEGA/8BBgf/AQYH/wEGA/8BBgH/AoEBBgH/AoEBBgH/AoEBBgH/AwYB/xQAAoEBBgH/
+ AoEBBgP/AQYB/wMGAf8EAAOBBf8BBgP/A8AB/wEGA/8DwAH/AQYD/wOBAf8DgQH/A8AD/wEGAf8DwAP/
+ AQYB/wOBAf8DBgH/AwYB/wOBAf8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/
+ A8AB/wEGA/8DwAH/AQYCgQH/AwYB//8AMQACgQEGA/8BBgf/AQYD/wEGAf8CgQEGAf8CgQEGAf8CgQEG
+ Af8DBgH/EAACgQEGAf8CgQEGA/8BBgP/AQYB/wMGAf8DBgH/BAADgQX/A8AB/wEGA/8DwAH/AQYD/wPA
+ Af8BBgP/A8AB/wOBAf8DgQH/A4EB/wOBAf8DBgH/AQYCgQH/AQYCgQH/A8AB/wEGA/8DwAH/AQYD/wPA
+ Af8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8BBgKBAf8DBgH//wA1AAKBAQYD/wEG
+ B/8BBgH/AoEBBgH/AoEBBgH/AwYB/wwAAoEBBgH/AoEBBgP/AQYD/wEGAf8DBgH/AwYB/wwAA4EF/wEG
+ A/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPA
+ Af8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgKBAf8DBgH/
+ /wA5AAKBAQYD/wEGA/8BBgH/AoEBBgH/AwYB/wgAAoEBBgH/AoEBBgP/AQYD/wEGAf8DBgH/AwYB/xQA
+ A4F1/wMGAf//AD0AAoEBBgf/AQYB/wKBAQYB/wMGAf8DBgH/AoEBBgP/AQYD/wEGAf8DBgH/AwYB/xwA
+ A4EB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/
+ A8AB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/
+ /wBBAAKBAQYD/wEGA/8BBgH/AoEBBgH/AwYB/wQAAoEBBgH/AwYB/wMGAf8oAAOBBf8BBgP/A8AB/wEG
+ A/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8DgQH//wB5AAKBAQYH/wEGAf8CgQEG
+ Af8DBgH/PAADgQX/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/A8AB/wOBAf//AIEA
+ AoEBBgH/AoEBBgH/AwYB/0QAA4El/wOBAf//AIkAAwYB/0wAA4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/
+ A4EB/wOBAf8DgQH//wD/AIIAAwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB//8ANQADBgH/AwYB/wMG
+ Af8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMG
+ Af8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/0AAA4EB/wOBAf8DwAH/A8AB/wPAAf8BBgP/
+ AQYD/wEGA/8BBgH/AQYB/wMGAf8DBgH/AwYB//8AJQADgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/
+ A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/
+ A4EB/wOBAf8DgQH/A4EB/wOBAf8DBgH/NAADgQH/A4EB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wEG
+ A/8BBgP/AQYB/wEGAf8BBgH/AQYB/wPAAf8DgQH/AwYB/wMGAf//AB0AA4EF/wPAAf8DwAH/A8AB/wPA
+ Af8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPA
+ Af8DwAH/A8AB/wPAAf8DwAH/A8AB/wOBAf8DgQH/AwYB/ywAA4EB/wPAAf8DwAH/A8AB/wPAAf8DwAH/
+ A8AB/wPAAf8BBgP/AQYD/wEGA/8BBgH/AQYB/wEGAf8BBgH/A8AD/wEGA/8BBgP/AQYB/wMGAf8cAAMG
+ Af8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMG
+ Af8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wgA
+ AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/
+ AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8UAAOBBf8DwAH/AQYBgQEG
+ Af8BBgGBAQYB/wEGAYEBBgH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPA
+ Af8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DgQH/A4EB/wOBAf8DBgH/JAADgQX/
+ A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8BBgP/AQYB/wEGAf8BBgH/AQYB/wPAA/8BBgP/
+ AQYD/wEGA/8BBgH/A8AB/wMGAf8UAAOBAf8BBgKBAf8BBgKBAf8BBgKBAf8BBgKBAf8BBgKBAf8BBgKB
+ Af8BBgKBAf8BBgKBAf8BBgKBAf8BBgKBAf8BBgKBAf8BBgKBAf8BBgKBAf8BBgKBAf8BBgKBAf8BBgKB
+ Af8BBgKBAf8BBgKBAf8BBgKBAf8BBgKBAf8BBgKBAf8BBgKBAf8BBgKBAf8BBgKBAf8BBgKBAf8BBgKB
+ Af8BBgKBAf8BBgKBAf8BBgKBAf8BBgKBAf8DBgH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOB
+ Af8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOB
+ Af8DgQH/A4EB/wOBAf8DgQH/AwYB/xAAA4EF/wPAAf8BBgH/AQYB/wEGAf8BBgH/AQYBgQEGAf8DwAH/
+ A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wOBAf8DgQH/A4EB/wOBAf8DgQH/
+ A4EB/wPAAf8DwAH/A8AB/wOBAf8DgQH/A4EB/wMGAf8gAAOBBf8DwAX/A8AB/wPAAf8DwAH/A8AB/wPA
+ Af8DwAH/AQYD/wEGA/8BBgH/AQYB/wEGAf8BBgH/A8AD/wEGA/8BBgP/AQYB/wPAAf8DwAH/A8AB/wMG
+ Af8QAAOBBf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/
+ A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/
+ AQYCgQH/AwYB/wOBBf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPA
+ Af8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DgQH/A4EB/wMG
+ Af8MAAOBBf8DwC3/A4EB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DgQH/A4EB/wOBAf8DwAH/
+ A4EB/wOBAf8DgQH/AwYB/yAAA4EB/wOBBf8DwAX/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/AQYD/wEG
+ Af8BBgH/A8AD/wEGA/8BBgP/AQYB/wPAAf8DwAH/A8AB/wPAAf8DBgH/EAADgQX/A8AB/wEGA/8DwAH/
+ AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AYECBgP/AQYC/wIGAf8BgQIGAf8DBgH/A8AB/wEGA/8CBgGB
+ Av8BBgL/AgYC/wIGAYEB/wMGAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/AQYCgQH/AwYB/wOB
+ Bf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwCH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPA
+ Af8DwAH/A4EB/wOBAf8DgQH/AwYB/wgAA4EF/wPAAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/
+ AwYB/wMGAf8DBgH/A4EB/wOBAf8DgQH/A8AB/wPAAf8BBgP/AQYD/wEGA/8BBgH/AQYB/wMGAf8DBgH/
+ AwYB/wOBAf8DgQH/A4EB/wOBAf8DBgH/HAADgQH/A4EB/wPAAf8DgQX/A8AF/wPAAf8DwAH/A8AB/wPA
+ Af8BBgP/AQYD/wEGAf8BBgH/A8AD/wEGA/8BBgH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/AwYB/wwA
+ A4EF/wEGA/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wGBAgYD/wEGAv8CBgH/AYECBgH/
+ AwYB/wEGA/8DwAH/AgYBgQL/AQYC/wIGAv8CBgGBAf8DBgH/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/
+ A8AB/wEGAoEB/wMGAf8DgQX/A8AZ/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBhn/A8AB/wPA
+ Af8DwAH/A4EB/wOBAf8DgQH/AwYB/wgAA4EF/wPAAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/
+ A4EB/wOBAf8DgQH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/AQYD/wEGA/8BBgH/AQYB/wEGAf8BBgH/
+ A8AB/wOBAf8DBgH/AwYB/wOBAf8DgQH/AwYB/xwAA4EB/wPAAf8DgQH/A8AB/wOBBf8DwAX/A8AB/wPA
+ Af8DwAH/A8AB/wEGA/8DwAP/AQYD/wEGAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/AwYB/wwA
+ A4EF/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/A8AB/wGBAgYD/wEGAv8CBgH/AYECBgH/
+ AwYB/wPAAf8BBgP/AgYBgQL/AQYC/wIGAv8CBgGBAf8DBgH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/
+ AQYD/wEGAoEB/wMGAf8DgQX/A8AB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wMGAf8DBgH/AwYB/wMG
+ Af8DBgH/AwYB/wMGAf8DBgH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A8AB/wPAAf8DwAH/A4EB/wOB
+ Af8DgQH/AwYB/wgAA4EF/wPAHf8DgQH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wEGA/8BBgP/
+ AQYD/wEGAf8BBgH/AQYB/wEGAf8DwAP/AQYD/wEGA/8BBgH/AwYB/wOBAf8DBgH/GAADgQH/A8AB/wOB
+ Af8DwAH/A4EB/wPAAf8DgQX/A8AF/wPAAf8DgQH/A4EB/wOBAf8DgQP/AQYB/wPAAf8DwAH/A8AB/wPA
+ Af8DwAH/A8AB/wPAAf8DwAH/A8AB/wMGAf8IAAOBBf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/
+ A8AB/wEGA/8BgQIGAf8DwAP/AQYC/wIGAf8DBgH/AQYD/wPAAf8CBgGBBf8DwAH/AgYC/wMGAf8DwAH/
+ AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYCgQH/AwYB/wOBBf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPA
+ Af8DwAH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPA
+ Af8DwAH/A8AB/wPAAf8DgQH/A4EB/wOBAf8DBgH/CAADgQX/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/
+ A8AB/wOBBf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wEGA/8BBgH/AQYB/wEGAf8BBgH/
+ A8AD/wEGA/8BBgP/AQYD/wEGAf8DwAH/AwYB/wMGAf8YAAOBAf8DgQH/A8AB/wOBAf8DwAH/A4EB/wPA
+ Af8DgQX/A8AB/wOBAf8DBgH/AwYB/wMGAf8DBgH/A4EB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPA
+ Af8DwAH/A8AB/wMGAf8IAAOBBf8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/
+ AYECBgH/AYECBgH/AYECBgH/AQYD/wPAAf8BBgP/A8AB/wIGAYEB/wIGAYEB/wIGAYEB/wPAAf8BBgP/
+ A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/AQYCgQH/AwYB/wOBBf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPA
+ Af8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/AgYC/wIG
+ Av8DwAH/A8AB/wPAAf8DgQH/A4EB/wOBAf8DBgH/CAADgR3/A4EF/wPABf8DwAH/A8AB/wPAAf8DwAH/
+ A8AB/wPAAf8BBgP/AQYD/wEGAf8BBgH/AQYB/wEGAf8DwAP/AQYD/wEGA/8BBgH/A8AB/wPAAf8DwAH/
+ AwYB/xgAA4EB/wPAAf8DgQH/A8AB/wOBAf8DwAH/A4EB/wPAAf8DgQH/A4EB/wMGAf8MAAOBAf8DBgH/
+ A4EB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/AwYB/wgAA4EF/wEGA/8DwAH/AQYD/wPA
+ Af8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8DBgH/A8AB/wMGAf8DwAH/AQYD/wPAAf8BBgP/A4EB/wPA
+ Af8DBgH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgKBAf8DBgH/A4EF/wPAAf8DwAH/
+ A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/
+ A8AB/wPAAf8CBgL/AgYC/wPAAf8DwAH/A8AB/wOBAf8DgQH/A4EB/wMGAf8MAAOBAf8DwAH/A8AB/wPA
+ Af8DwAH/A8AB/wPAAf8DgQH/A4EF/wPABf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8BBgP/AQYB/wEG
+ Af8DwAP/AQYD/wEGA/8BBgH/A8AB/wPAAf8DwAH/A8AB/wMGAf8YAAOBAf8DgQH/A8AB/wOBAf8DwAH/
+ A4EB/wPAAf8DgQH/A8AB/wOBAf8DBgH/DAADgQH/AwYB/wOBAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPA
+ Af8DwAH/A8AB/wMGAf8IAAOBBf8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/
+ AwYB/wPAAf8DBgH/AQYD/wPAAf8BBgP/A8AB/wOBAf8DwAH/AwYB/wPAAf8BBgP/A8AB/wEGA/8DwAH/
+ AQYD/wPAAf8BBgP/AQYCgQH/AwYB/wOBBf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPA
+ Af8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/AwYB/wMG
+ Af8DBgH/AwYB/wMGAf8DBgH/AwYB/wwAA4EB/wPAAf8DwAH/A8AB/wPAAf8DgQH/A4EB/wPAAf8DgQX/
+ A8AF/wPAAf8DwAH/A8AB/wPAAf8BBgP/AQYD/wEGAf8BBgH/A8AD/wEGA/8BBgH/A8AB/wPAAf8DwAH/
+ A8AB/wPAAf8DwAH/AwYB/xQAA4EB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A4EB/wMG
+ Af8MAAOBAf8DBgH/A4EB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/AwYB/wgAA4EF/wEG
+ A/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8DBgH/A8AB/wMGAf8DwAH/AQYD/wPA
+ Af8BBgP/A4EB/wPAAf8DBgH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgKBAf8DBgH/
+ A4E9/wOBAf8DgQH/A4EB/wOBAf8DgQH/AwYB/wMGAf8DBgH/AwYB/wMGAf8DBgH/A4EB/wOBAf8DgQH/
+ A4EB/wMGAf8MAAOBAf8DgQH/A4EB/wOBAf8DgQH/A8AB/wOBAf8DwAH/A4EF/wPABf8DwAH/A8AB/wPA
+ Af8DwAH/AQYD/wPAA/8BBgP/AQYB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DBgH/FAADgQH/
+ A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AD/wEGAf8DgQH/AwYB/wwAA4EB/wMGAf8DgQH/A4EB/wPA
+ Af8DgQH/A8AB/wOBAf8DwAH/A4EB/wPAAf8DBgH/CAADgQX/A8AB/wEGA/8DwAH/AQYD/wPAAf8DBgH/
+ AwYB/wEGA/8DwAH/AwYB/wMGAf8DwAH/AwYB/wMGAf8DwAH/AQYD/wPAAf8DBgH/AwYB/wMGAf8DwAH/
+ AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wEGAoEB/wMGAf8EAAOBAf8DwAH/A8AB/wPAAf8DwAH/
+ A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wOBBf8DwAH/A8AB/wPAAf8DgQH/
+ A4EB/wOBAf8DgQH/A4EB/wMGAf8DwAX/A8AB/wOBAf8DBgH/GAADgQH/A8AB/wOBAf8DwAH/A4EB/wPA
+ Af8DgQX/A8AF/wPAAf8DgQH/A4EB/wOBAf8DgQP/AQYB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPA
+ Af8DwAH/A8AB/wMGAf8QAAOBAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAA/8BBgH/A8AB/wPAAf8DgQH/
+ AwYB/wMGAf8DBgH/AwYB/wOBCf8DgQH/A8AB/wOBAf8DwAH/A4EB/wPAAf8DgQH/AwYB/wgAA4EF/wEG
+ A/8DwAH/AQYD/wPAAf8DgQH/A4EB/wOBAf8DBgH/AwYB/wOBAf8DgQH/A8AB/wOBAf8DgQH/AwYB/wMG
+ Af8DBgH/A4EB/wMGAf8DBgH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgKBAf8DBgH/
+ CAADgQH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wOB
+ Bf8DwAH/A8AB/wPAAf8DgQH/AwYB/wPAAf8DgQH/A4EB/wMGAf8DwAX/A8AB/wOBAf8DBgH/GAADgQH/
+ A4EB/wPAAf8DgQH/A8AB/wOBAf8DwAH/A4EF/wPAAf8DgQH/AwYB/wMGAf8DBgH/AwYB/wOBAf8DwAH/
+ A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DBgH/EAADgQH/A8AB/wPAAf8DwAH/A8AB/wPA
+ A/8BBgH/A8AB/wPAAf8BBgH/AQYB/wEGAf8BBgH/A4EB/wOBAf8DgQH/A4EB/wPABf8DwAX/A4EB/wPA
+ Af8DgQH/A8AB/wOBAf8DwAH/AwYB/wgAA4EF/wPAAf8BBgP/A8AB/wEGA/8DgQH/A8AB/wPAAf8DgQH/
+ A4EB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A4EB/wOBAf8DgQX/AwYB/wMGAf8DwAH/AQYD/wPAAf8BBgP/
+ A8AB/wEGA/8DwAH/AQYD/wEGAoEB/wMGAf8MAAOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/
+ A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQX/A8AB/wPAAf8DwAH/A4EB/wMGAf8DwAH/A4EB/wOBAf8DBgH/
+ A8AF/wPAAf8DgQH/AwYB/xgAA4EB/wPAAf8DgQH/A8AB/wOBAf8DwAH/A4EB/wPAAf8DgQH/A4EB/wMG
+ Df8DgQH/AwYB/wOBAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wMGAf8UAAOBAf8DwAH/
+ A8AD/wEGAf8DBgH/AwYB/wMGAf8BBgH/AQYB/wEGAf8BBgP/AQYB/wEGA/8BBgP/A8AB/wPAAf8DwAH/
+ A8AF/wPABf8DgQH/A8AB/wOBAf8DwAH/AwYB/wwAA4EF/wEGA/8DwAH/AQYD/wPAAf8DgQX/A8AJ/wPA
+ Af8DwAH/A8AB/wPAAf8DwAH/A8AB/wPABf8DBgH/A8AB/wMGAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPA
+ Af8BBgP/A8AB/wEGAoEB/wMGAf9AAAOBBf8DwAH/A8AB/wPAAf8DwAH/A4EB/wOBAf8DgQH/A4EB/wOB
+ Af8DgQH/A8AB/wPAAf8DgQH/AwYB/xgAA4EB/wOBAf8DwAH/A4EB/wPAAf8DgQH/A8AB/wOBAf8DwAH/
+ A4EB/wMGDf8DgQH/AwYB/wOBAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wMGAf8UAAOB
+ A/8BBgP/AQYB/wMGAf8DBgH/AwYB/wMGAf8DBgP/AQYD/wEGAf8BBgP/AQYD/wPAAf8DwAH/A8AB/wPA
+ Af8DwAX/A8AF/wOBAf8DwAH/A4EB/wMGAf8MAAOBBf8DwAH/AQYD/wPAAf8BBgP/A4EJ/wOBAf8DgR3/
+ AwYB/wPAAf8DwAH/A4EB/wMGAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/AQYCgQH/AwYB/0AA
+ A4EF/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wOBAf8DBgH/
+ GAADgQH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DgQH/AwYN/wOBAf8DBgH/A4EB/wPA
+ Af8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/AwYB/xgAA4ED/wEGAf8DBgH/A8AB/wMGAf8DBgH/
+ AwYD/wEGA/8BBgH/AQYD/wEGA/8DwAH/A8AB/wPAAf8DwAH/A8AB/wPABf8DwAX/A4EB/wMGAf8QAAOB
+ Bf8BBgP/A8AB/wEGA/8DwAH/AQYD/wOBAf8DgQH/A8AB/wEGA/8DgQH/A4EB/wOBAf8DgQH/A4EB/wOB
+ Af8DgQH/A4EB/wPAAf8DwAH/A4EB/wMGAf8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYCgQH/
+ AwYB/0AAA4EF/wPAAf8DwCH/A8AB/wPAAf8DgQH/AwYB/xgAA4EB/wPAAf8DwAH/A8AB/wPAAf8DwAH/
+ A8AB/wPAA/8BBgH/A4EB/wMGDf8DgQH/AwYB/wOBAf8DgQH/A8AB/wOBAf8DwAH/A4EB/wPAAf8DgQH/
+ A8AB/wMGAf8MAAMGAf8DBgH/AwYB/wOBAf8DwAH/AwYF/wMGAf8DBgH/AwYD/wEGA/8BBgH/AQYD/wEG
+ A/8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAX/A8AF/wMGAf8QAAOBBf8DwAH/AQYD/wPAAf8BBgP/
+ A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/A4EB/wPAAf8DwAH/
+ A4EB/wMGAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/AQYCgQH/AwYB/0AAA4EF/wPAKf8DwAH/
+ A4EB/wMGAf8YAAOBAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAA/8BBgH/A8AB/wPAAf8DgQH/AwYB/wMG
+ Af8DBgH/AwYB/wOBCf8DgQH/A8AB/wOBAf8DwAH/A4EB/wPAAf8DgQH/AwYB/wgAAwYB/wMGAf8DBgH/
+ AwYB/wMGAf8DgQH/AQYB/wEGAf8DBgH/AwYB/wMGAf8DBgP/AQYD/wEGAf8BBgP/AQYD/wPAAf8DwAH/
+ A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAX/AwYB/xQAA4EF/wEGA/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEG
+ A/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8DgQX/A8AB/wOBAf8DBgH/A8AB/wEG
+ A/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGAoEB/wMGAf9AAAOBBf8DwCn/A8AB/wOBAf8DBgH/GAADgQH/
+ A8AB/wPAAf8DwAH/A8AB/wPAA/8BBgH/A8AB/wPAAf8BBgH/AQYB/wEGAf8BBgH/A4EB/wOBAf8DgQH/
+ A4EB/wPABf8DwAX/A4EB/wPAAf8DgQH/A8AB/wOBAf8DwAH/AwYB/wgAAwYB/wPAAf8DBgH/AwYB/wMG
+ Af8EAAOBAf8BBgH/AQYB/wEGAf8BBgP/AQYB/wMGA/8BBgH/AQYD/wEGA/8BBgP/A8AB/wPAAf8DwAH/
+ A8AB/wPAAf8DwAH/A8AB/wPAAf8DBgH/GAADgQX/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEG
+ A/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wOBAf8DgQH/A4EB/wOBAf8DBgH/AQYD/wPA
+ Af8BBgP/A8AB/wEGA/8DwAH/AQYD/wEGAoEB/wMGAf9AAAOBBf8DwCn/A8AB/wOBAf8DBgH/HAADgQH/
+ A8AB/wPAA/8BBgP/AQYB/wPAAf8DwAH/AQYB/wEGAf8BBgH/AQYD/wEGAf8BBgP/AQYD/wPAAf8DwAH/
+ A8AB/wPABf8DwAX/A4EB/wPAAf8DgQH/A8AB/wMGAf8MAAMGBf8DBgH/AwYB/wMGAf8IAAOBAf8DgQH/
+ A4EB/wMGA/8BBgH/AQYD/wEGA/8BBgP/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/AwYB/wMGAf8cAAOB
+ Bf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEG
+ A/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/AQYCgQH/
+ AwYB/0AAA4EF/wPAKf8DwAH/A4EB/wMGAf8cAAOBA/8BBgP/AQYD/wEGAf8DwAH/A8AB/wEGAf8BBgH/
+ AQYB/wEGA/8BBgP/AQYB/wEGA/8BBgP/A8AB/wPAAf8DwAH/A8AB/wPABf8DwAX/A4EB/wPAAf8DgQH/
+ AwYB/xAAAwYB/wMGAf8DBgH/AwYB/xAAA4EB/wMGAf8DgQH/AQYD/wEGA/8BBgP/A8AB/wPAAf8DwAH/
+ A4EB/wOBAf8DgQH/JAADgXX/AwYB/0QAA4EF/wPAKf8DwAH/A4EB/wMGAf8gAAOBA/8BBgH/A8AB/wPA
+ Af8BBgH/AQYB/wEGAf8BBgH/AQYB/wEGA/8BBgP/AQYB/wEGA/8BBgP/A8AB/wPAAf8DwAH/A8AB/wPA
+ Af8DwAX/A8AF/wOBAf8DBgH/IAADBgH/FAADBgH/BAADgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8wAAOB
+ Af8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPA
+ Af8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/0gA
+ A4EF/wPAKf8DBgH/A4EB/wMGAf8gAAOBAf8DwAH/A8AB/wEGAf8BBgH/AQYB/wEGAf8BBgH/AQYD/wEG
+ A/8BBgP/AQYB/wEGA/8BBgP/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AF/wPABf8DBgH/IAADBgH/
+ DAADBgH/AwYB/wMGAf9QAAOBBf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPAAf8BBgP/A8AB/wEGA/8DwAH/
+ AQYD/wPAAf8DgQH/gAADgQX/A8Ap/wPAAf8DgQH/AwYB/yQAA4EB/wEGAf8BBgH/AQYB/wEGAf8BBgH/
+ AQYB/wEGAf8BBgP/AQYD/wEGA/8BBgH/AQYD/wEGA/8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/
+ A8AF/wMGAf8kAAMGAf8IAAMGAf8DBgH/AwYB/wMGAf9UAAOBBf8BBgP/A8AB/wEGA/8DwAH/AQYD/wPA
+ Af8BBgP/A8AB/wEGA/8DwAH/A4EB/4gAA4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/
+ A4EB/wOBAf8DgQH/A4EB/wOBAf8sAAOBAf8BBgH/AQYB/wEGAf8BBgP/AQYD/wEGA/8BBgH/AQYD/wEG
+ A/8BBgP/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DBgH/KAADBgH/AwYB/wMGAf8DBgH/
+ AwYB/wMGAf8DBgH/WAADgSX/A4EB//QAA4EB/wOBAf8DgQP/AQYD/wEGAf8BBgP/AQYD/wEGA/8DwAH/
+ A8AB/wPAAf8DwAH/A8AB/wPAAf8DBgH/AwYB/ywAAwYB/wMGAf8DBgH/AwYB/wMGAf9kAAOBAf8DgQH/
+ A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB//8AAQADgQH/A4EB/wOBAf8BBgP/AQYD/wEGA/8DwAH/
+ A8AB/wPAAf8DBgH/AwYB/wMGAf80AAMGAf8DBgH/AwYB//8AnQADgQH/A4EB/wOBAf8DgQH/A4EB/wOB
+ Af9AAAMGAf8DBgH/4AABQgFNAT4HAAE+AwABKAMAAYADAAFAAwABAQEAAQEGAAEEFgAD/wQAAQ8D/wEf
+ CwABDwL/Af4BDwsAAQcC/wH8AQ8LAAEHAv8B+AEPCwABAwL/AfABHwgAAYACAAEDAYACAAEBCAABgAIA
+ AQEMAAHAAgABAQwAAcAPAAHgDwAB4A8AAfAPAAHwDwAB+A8AAfgPAAP/AQcMAAP/AY8MAAP/AY8MAAP/
+ AccMAAP/AccMAAH/Af4BPwHjDAAB/wH8AR8B4wwAAf8B4AEDAfEMAAH/AeABAwHhDAAB/wHwAQcBgQwA
+ Af8B+AEOAQcMAAH/AfwBGAEfAwABAQgAAf8B/AEAAX8DAAEDCAAB/wH8AREB/wGAAQAC/wgAAf8B/AEf
+ Af8BwAEBAv8IAAH/Af4BPwH/AeABAwL/CAAC/wF/Af8B8AEHAv8IAAn/AfgBDwn/AYACAAEfAf8B4AEB
+ Cf8DAAEPAf8BgAEAAX8I/wMAAQcB/wIAAT8BgAIAAQEBgAIAAR8DAAEDAf4CAAEfBwABDwMAAQMB/AIA
+ AQ8HAAEHAwABAwH8AgABDwcAAQMDAAEDAfgCAAEHBwABAwMAAQMB+AIAAQcHAAEDAwABAwHwAgABAwcA
+ AQMDAAEDAfACAAEDBwABAwMAAQMB8AEBAcABAwcAAQMBgAIAAQMB8AEBAcABAwcAAQEBwAIAAQEB8AEB
+ AcABAwgAAeACAAEBAfABAQHAAQMEAAGAAwAB/AMAAfACAAEDBAABwAMAAfwDAAHwAgABAwQAAeADAAH8
+ AwAB+AIAAQcEAAL/AgAB/AMAAfgCAAEHBAAC/wIAAfwDAAH8AgABDwQAAv8CAAH8AwAB4AIAAQ8EAAL/
+ AgAB/AMAAcACAAEfBAAC/wIAAfwDAAHBAgABPwQAAv8CAAH+AgABAQHBAYABAAF/BAAC/wIAAf4CAAEB
+ AeEB4AEBAf8DAAEBAv8CAAH/AgABAwH9AfQBDwH/AwABAwL/AgAB/wIAAQMB/QHHAv8BgAEABP8CAAH/
+ AYABAAEHAf0BhwL/AcABAQT/AYABAQH/AcABAAEPAfwBBwL/AeABAwf/AeABAAEfAfwBHwL/AfABBwf/
+ AfgBAAF/AfwBfwz/AQMB/wH8B/8L
+</value>
+ </data>
+ <metadata name="imageListItemBackground.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>504, 17</value>
+ </metadata>
+ <data name="imageListItemBackground.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
+ LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
+ ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAW
+ GAAAAk1TRnQBSQFMAgEBAwEAAQQBAAEEAQAB+gEAAWQBAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
+ AwAB6AEDAgABZAMAAQEBAAEIBQABoAGGAQEXAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEA
+ AcAB3AHAAQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEA
+ A0IBAAM5AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIA
+ Af8BMwMAAWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIA
+ AmYCAAFmAZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHM
+ ATMCAAHMAWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEz
+ AQABZgEAATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIz
+ Af8BAAEzAWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEz
+ AQABMwGZAWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZ
+ AQABMwLMAQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFm
+ AQABMwEAAWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFm
+ ATMBmQEAAWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEz
+ AQABZgGZAWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEA
+ AWYBzAH/AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZ
+ ATMBmQEAAZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFm
+ AgABmQFmATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZ
+ AcwBAAKZAf8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIA
+ AZkB/wEzAQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHM
+ AQABmQEAAcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHM
+ AWYCAAHMAWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZ
+ AWYBAAHMApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHM
+ Af8CAAHMAf8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/
+ AQABmQEAAcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFm
+ ATMBAAHMAmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZ
+ AQAB/wGZAcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/
+ AQAC/wEzAQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/
+ AQAC/wFmAQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEA
+ A/gBAAHwAfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/wEADP8B9OHz
+ AfQX/wH04fMB9Bf/AfTh8wH0C//6AAn/AfIBB+XvAQcB8hH/AfIBB+XvAQcB8hH/AfIBB+XvAQcB8gj/
+ +gAH/wHwA+8BBwHxAfLf8wHyAfEBBwPvAfAN/wHwA+8BBwHxAfLf8wHyAfEBBwPvAfAN/wHwA+8BBwHx
+ AfLf8wHyAfEBBwPvAfAG//oABf8B9APvAfLn/wHyA+8B9An/AfQD7wHy5/8B8gPvAfQJ/wH0A+8B8uf/
+ AfID7wH0BP/6AAT/AfIC7wHx6/8B8QLvAfIH/wHyAu8B8ev/AfEC7wHyB/8B8gLvAfHr/wHxAu8B8gP/
+ +gAD/wHzAu8B9O3/AfQC7wHzBf8B8wLvAfTt/wH0Au8B8wX/AfMC7wH07f8B9ALvAfMC//oAA/8C7/H/
+ Au8F/wLv8f8C7wX/Au/x/wLvAv/6AAL/AQcB7wHz8f8B8wHvAQcD/wEHAe8B8/H/AfMB7wEHA/8BBwHv
+ AfPx/wHzAe8BBwH/+gAB/wH0Ae8BvPP/AbwB7wH0Af8B9AHvAbzz/wG8Ae8B9AH/AfQB7wG88/8BvAHv
+ AfT6AAH/AQcB7wH08/8B9AHvAQcB/wEHAe8B9PP/AfQB7wEHAf8BBwHvAfTz/wH0Ae8BB/oAAf8C7/X/
+ Au8B/wLv9f8C7wH/Au/1/wLv+gAB9AHvAfD1/wHwAe8B9AHvAfD1/wHwAe8B9AHvAfD1/wHwAe/6AAHz
+ Ae8B8vX/AfIB7wHzAe8B8vX/AfIB7wHzAe8B8vX/AfIB7/oAAfMB7wHz9f8B8wHvAfMB7wHz9f8B8wHv
+ AfMB7wHz9f8B8wHv+gAB8wHvAfP1/wHzAe8B8wHvAfP1/wHzAe8B8wHvAfP1/wHzAe/6AAHzAe8B8/X/
+ AfMB7wHzAe8B8/X/AfMB7wHzAe8B8/X/AfMB7/oAAfMB7wHz9f8B8wHvAfMB7wHz9f8B8wHvAfMB7wHz
+ 9f8B8wHv+gAB8wHvAfP1/wHzAe8B8wHvAfP1/wHzAe8B8wHvAfP1/wHzAe/6AAHzAe8B8/X/AfMB7wHz
+ Ae8B8/X/AfMB7wHzAe8B8/X/AfMB7/oAAfMB7wHz9f8B8wHvAfMB7wHz9f8B8wHvAfMB7wHz9f8B8wHv
+ +gAB8wHvAfP1/wHzAe8B8wHvAfP1/wHzAe8B8wHvAfP1/wHzAe/6AAHzAe8B8/X/AfMB7wHzAe8B8/X/
+ AfMB7wHzAe8B8/X/AfMB7/oAAfMB7wHz9f8B8wHvAfMB7wHz9f8B8wHvAfMB7wHz9f8B8wHv+gAB8wHv
+ AfP1/wHzAe8B8wHvAfP1/wHzAe8B8wHvAfP1/wHzAe/6AAHzAe8B8/X/AfMB7wHzAe8B8/X/AfMB7wHz
+ Ae8B8/X/AfMB7/oAAfMB7wHz9f8B8wHvAfMB7wHz9f8B8wHvAfMB7wHz9f8B8wHv+gAB8wHvAfP1/wHz
+ Ae8B8wHvAfP1/wHzAe8B8wHvAfP1/wHzAe/6AAHzAe8B8/X/AfMB7wHzAe8B8/X/AfMB7wHzAe8B8/X/
+ AfMB7/oAAfMB7wHz9f8B8wHvAfMB7wHz9f8B8wHvAfMB7wHz9f8B8wHv+gAB8wHvAfP1/wHzAe8B8wHv
+ AfP1/wHzAe8B8wHvAfP1/wHzAe/6AAHzAe8B8/X/AfMB7wHzAe8B8/X/AfMB7wHzAe8B8/X/AfMB7/oA
+ AfMB7wHz9f8B8wHvAfMB7wHz9f8B8wHvAfMB7wHz9f8B8wHv+gAB8wHvAfP1/wHzAe8B8wHvAfP1/wHz
+ Ae8B8wHvAfP1/wHzAe/6AAHzAe8B8/X/AfMB7wHzAe8B8/X/AfMB7wHzAe8B8/X/AfMB7/oAAfMB7wHz
+ 9f8B8wHvAfMB7wHz9f8B8wHvAfMB7wHz9f8B8wHv+gAB8wHvAfP1/wHzAe8B8wHvAfP1/wHzAe8B8wHv
+ AfP1/wHzAe/6AAHzAe8B8/X/AfMB7wHzAe8B8/X/AfMB7wHzAe8B8/X/AfMB7/oAAfMB7wHz9f8B8wHv
+ AfMB7wHz9f8B8wHvAfMB7wHz9f8B8wHv+gAB8wHvAfP1/wHzAe8B8wHvAfP1/wHzAe8B8wHvAfP1/wHz
+ Ae/6AAHzAe8B8/X/AfMB7wHzAe8B8/X/AfMB7wHzAe8B8/X/AfMB7/oAAfMB7wHz9f8B8wHvAfMB7wHz
+ 9f8B8wHvAfMB7wHz9f8B8wHv+gAB8wHvAfP1/wHzAe8B8wHvAfP1/wHzAe8B8wHvAfP1/wHzAe/6AAHz
+ Ae8B8/X/AfMB7wHzAe8B8/X/AfMB7wHzAe8B8/X/AfMB7/oAAfMB7wHz9f8B8wHvAfMB7wHz9f8B8wHv
+ AfMB7wHz9f8B8wHv+gAB8wHvAfP1/wHzAe8B8wHvAfP1/wHzAe8B8wHvAfP1/wHzAe/6AAHzAe8B8/X/
+ AfMB7wHzAe8B8/X/AfMB7wHzAe8B8/X/AfMB7/oAAfMB7wHz9f8B8wHvAfMB7wHz9f8B8wHvAfMB7wHz
+ ...
[truncated message content] |
|
From: <an...@us...> - 2007-04-02 12:54:51
|
Revision: 276
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=276&view=rev
Author: and-81
Date: 2007-04-02 05:54:44 -0700 (Mon, 02 Apr 2007)
Log Message:
-----------
Modified Paths:
--------------
trunk/plugins/MCEReplacement/AssemblyInfo.cs
trunk/plugins/MCEReplacement/MCEReplacement.cs
trunk/plugins/MCEReplacement/MCEReplacement.csproj
trunk/plugins/TV3MceBlaster/AssemblyInfo.cs
Modified: trunk/plugins/MCEReplacement/AssemblyInfo.cs
===================================================================
--- trunk/plugins/MCEReplacement/AssemblyInfo.cs 2007-04-02 10:08:23 UTC (rev 275)
+++ trunk/plugins/MCEReplacement/AssemblyInfo.cs 2007-04-02 12:54:44 UTC (rev 276)
@@ -34,8 +34,8 @@
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
-[assembly: AssemblyVersion("1.0.2.0")]
-[assembly: AssemblyFileVersionAttribute("1.0.2.0")]
+[assembly: AssemblyVersion("1.0.3.0")]
+[assembly: AssemblyFileVersionAttribute("1.0.3.0")]
//
// In order to sign your assembly you must specify a key to use. Refer to the
Modified: trunk/plugins/MCEReplacement/MCEReplacement.cs
===================================================================
--- trunk/plugins/MCEReplacement/MCEReplacement.cs 2007-04-02 10:08:23 UTC (rev 275)
+++ trunk/plugins/MCEReplacement/MCEReplacement.cs 2007-04-02 12:54:44 UTC (rev 276)
@@ -26,7 +26,7 @@
#region Constants
- public const string PluginVersion = "MCE Replacement Plugin 1.0.3.0 for MediaPortal + SVN";
+ public const string PluginVersion = "MCE Replacement Plugin 1.0.3.0 for MediaPortal 0.2.1.0";
public const int MessageModeCommand = 0x0018;
Modified: trunk/plugins/MCEReplacement/MCEReplacement.csproj
===================================================================
--- trunk/plugins/MCEReplacement/MCEReplacement.csproj 2007-04-02 10:08:23 UTC (rev 275)
+++ trunk/plugins/MCEReplacement/MCEReplacement.csproj 2007-04-02 12:54:44 UTC (rev 276)
@@ -152,29 +152,28 @@
<Compile Include="Win32.cs" />
</ItemGroup>
<ItemGroup>
- <Reference Include="Core, Version=1.0.2581.1884, Culture=neutral, processorArchitecture=MSIL">
+ <Reference Include="Core, Version=1.0.2485.22312, Culture=neutral, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
- <HintPath>..\..\MediaPortal\Core\bin\Release\Core.dll</HintPath>
+ <HintPath>..\..\MediaPortal 0.2.1.0\Core.DLL</HintPath>
<Private>False</Private>
</Reference>
- <Reference Include="Databases, Version=1.0.2581.1890, Culture=neutral, processorArchitecture=MSIL">
+ <Reference Include="Databases, Version=1.0.2485.22313, Culture=neutral, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
- <HintPath>..\..\MediaPortal\Databases\bin\Release\Databases.dll</HintPath>
+ <HintPath>..\..\MediaPortal 0.2.1.0\Databases.DLL</HintPath>
<Private>False</Private>
</Reference>
- <Reference Include="Dialogs, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <Reference Include="Dialogs, Version=0.0.0.0, Culture=neutral, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
- <HintPath>..\..\MediaPortal\Dialogs\bin\Release\Dialogs.dll</HintPath>
+ <HintPath>..\..\MediaPortal 0.2.1.0\Dialogs.DLL</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.DirectX.Direct3D, Version=1.0.2902.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<SpecificVersion>False</SpecificVersion>
- <HintPath>..\..\MediaPortal\xbmc\bin\Release\Microsoft.DirectX.Direct3D.dll</HintPath>
- <Private>False</Private>
+ <HintPath>..\..\MediaPortal 0.2.1.0\Microsoft.DirectX.Direct3D.dll</HintPath>
</Reference>
- <Reference Include="RemotePlugins, Version=1.0.2581.1913, Culture=neutral, processorArchitecture=MSIL">
+ <Reference Include="RemotePlugins, Version=1.0.2485.22315, Culture=neutral, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
- <HintPath>..\..\MediaPortal\RemotePlugins\bin\Release\RemotePlugins.dll</HintPath>
+ <HintPath>..\..\MediaPortal 0.2.1.0\RemotePlugins.DLL</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="System" />
@@ -182,16 +181,11 @@
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
- <Reference Include="TVCapture, Version=1.0.2581.1894, Culture=neutral, processorArchitecture=MSIL">
+ <Reference Include="TVCapture, Version=1.0.2485.22314, Culture=neutral, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
- <HintPath>..\..\MediaPortal\TVCapture\bin\Release\TVCapture.dll</HintPath>
+ <HintPath>..\..\MediaPortal 0.2.1.0\TVCapture.DLL</HintPath>
<Private>False</Private>
</Reference>
- <Reference Include="Utils, Version=1.0.2581.1867, Culture=neutral, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>..\..\MediaPortal\Utils\bin\Release\Utils.dll</HintPath>
- <Private>False</Private>
- </Reference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Forms\ExternalChannels.resx">
Modified: trunk/plugins/TV3MceBlaster/AssemblyInfo.cs
===================================================================
--- trunk/plugins/TV3MceBlaster/AssemblyInfo.cs 2007-04-02 10:08:23 UTC (rev 275)
+++ trunk/plugins/TV3MceBlaster/AssemblyInfo.cs 2007-04-02 12:54:44 UTC (rev 276)
@@ -34,8 +34,8 @@
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
-[assembly: AssemblyVersion("1.0.2.0")]
-[assembly: AssemblyFileVersionAttribute("1.0.2.0")]
+[assembly: AssemblyVersion("1.0.3.0")]
+[assembly: AssemblyFileVersionAttribute("1.0.3.0")]
//
// In order to sign your assembly you must specify a key to use. Refer to the
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <hap...@us...> - 2007-04-02 10:08:47
|
Revision: 275
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=275&view=rev
Author: happytalk
Date: 2007-04-02 03:08:23 -0700 (Mon, 02 Apr 2007)
Log Message:
-----------
fixed various bugs concerning position memory. Remembers exact position across user_config/view changes/restart
Modified Paths:
--------------
trunk/plugins/MyFilms/MesFilms.cs
Modified: trunk/plugins/MyFilms/MesFilms.cs
===================================================================
--- trunk/plugins/MyFilms/MesFilms.cs 2007-04-01 16:38:52 UTC (rev 274)
+++ trunk/plugins/MyFilms/MesFilms.cs 2007-04-02 10:08:23 UTC (rev 275)
@@ -720,7 +720,6 @@
l_index = 0;
GUIControl.SelectItemControl(GetID, (int)Controls.CTRL_List, (int)l_index);
GUIPropertyManager.SetProperty("#nbobjects", lsCtlFilm.Count.ToString() + " " + GUILocalizeStrings.Get(127));
- l_index = 0;
return !(lsCtlFilm.Count == 1 && item.IsFolder); //ret false if single folder found
}
@@ -1090,7 +1089,7 @@
xmlwriter.SetValue(CurrentConfig, "StrSort", StrSort.ToString());
xmlwriter.SetValue(CurrentConfig, "CurrentSortMethod", CurrentSortMethod.ToString());
xmlwriter.SetValue(CurrentConfig, "StrSortSens", StrSortSens.ToString());
- xmlwriter.SetValue(CurrentConfig, "Selection", TxtSelect.Label.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.SetValueAsBool(CurrentConfig, "boolselect", boolselect);
xmlwriter.SetValue(CurrentConfig, "WStrSort", WStrSort);
@@ -1157,20 +1156,21 @@
}
StrSelect = xmlreader.GetValueAsString(CurrentConfig, "StrSelect", "");
StrActors = xmlreader.GetValueAsString(CurrentConfig, "StrActors", "");
+ StrTitleSelect = xmlreader.GetValueAsString(CurrentConfig, "StrTitleSelect", "");
+ StrFilmSelect = xmlreader.GetValueAsString(CurrentConfig, "StrFilmSelect", "");
StrDfltSelect = xmlreader.GetValueAsString(CurrentConfig, "StrDfltSelect", "");
- StrTitleSelect = xmlreader.GetValueAsString(CurrentConfig, "StrTitleSelect", "");
StrSort = xmlreader.GetValueAsString(CurrentConfig, "StrSort", "");
CurrentSortMethod = xmlreader.GetValueAsString(CurrentConfig, "CurrentSortMethod", "");
- TxtSelect.Label = xmlreader.GetValueAsString(CurrentConfig, "Selection", "");
StrSortSens = xmlreader.GetValueAsString(CurrentConfig, "StrSortSens", "");
+ StrTxtSelect = xmlreader.GetValueAsString(CurrentConfig, "Selection", "");
l_index = xmlreader.GetValueAsInt(CurrentConfig, "IndexItem", -1);
- StrViewDfltItem = xmlreader.GetValueAsString(CurrentConfig, "ViewDfltItem", "");
- StrViewDfltText = xmlreader.GetValueAsString(CurrentConfig, "ViewDfltText", "");
- TitleDelim = xmlreader.GetValueAsString(CurrentConfig, "TitleDelim", ".");
boolselect = xmlreader.GetValueAsBool(CurrentConfig, "boolselect", false);
WStrSort = xmlreader.GetValueAsString(CurrentConfig, "WStrSort", "");
Wstar = xmlreader.GetValueAsString(CurrentConfig, "Wstar", "");
LastID = xmlreader.GetValueAsInt(CurrentConfig, "LastID", -1);
+ StrViewDfltItem = xmlreader.GetValueAsString(CurrentConfig, "ViewDfltItem", "");
+ StrViewDfltText = xmlreader.GetValueAsString(CurrentConfig, "ViewDfltText", "");
+ TitleDelim = xmlreader.GetValueAsString(CurrentConfig, "TitleDelim", ".");
}
}
//--------------------------------------------------------------------------------------------
@@ -1178,6 +1178,8 @@
//--------------------------------------------------------------------------------------------
private string Choice_Config()
{
+ string newConfig = "";
+
GUIDialogMenu dlg = (GUIDialogMenu)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_MENU);
if (dlg == null)
{
@@ -1202,9 +1204,9 @@
}
using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MyFilms.xml"))
{
- CurrentConfig = xmlreader.GetValueAsString("MyFilms", "ConfigName" + dlg.SelectedLabel, "");
+ newConfig = xmlreader.GetValueAsString("MyFilms", "ConfigName" + dlg.SelectedLabel, "");
}
- return CurrentConfig;
+ return newConfig;
}
//--------------------------------------------------------------------------------------------
// Initial Windows load. If LoadDfltSlct = true => load default select if any
@@ -1394,15 +1396,15 @@
}
if (choice_view == "Config")
{
- string oldConfig = CurrentConfig;
- string newView = Choice_Config();
- if (newView != "" && newView != oldConfig) // if user escapes dialog or bad value leave system unchanged
+ string newConfig = Choice_Config();
+ if (newConfig != "" && newConfig != CurrentConfig) // if user escapes dialog or bad value leave system unchanged
{
//Change "Config":
save_config_values();
mydivx.Clear();
- Load_Config(newView, true);
- Fin_Charge_Init(true);
+ CurrentConfig = newConfig;
+ Load_Config(newConfig, true);
+ Fin_Charge_Init(false); //need to load current selection as reloaded from myfilms.xml file to remember position
}
return;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <du...@us...> - 2007-04-01 16:38:55
|
Revision: 274
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=274&view=rev
Author: dukus
Date: 2007-04-01 09:38:52 -0700 (Sun, 01 Apr 2007)
Log Message:
-----------
Upload option
Modified Paths:
--------------
trunk/plugins/mpinstaler/MPInstaler/Build dialog.Designer.cs
trunk/plugins/mpinstaler/MPInstaler/Build dialog.cs
trunk/plugins/mpinstaler/MPInstaler/MPInstaler.csproj
trunk/plugins/mpinstaler/MPInstaler/Properties/Resources.Designer.cs
trunk/plugins/mpinstaler/MPInstaler/Properties/Settings.Designer.cs
trunk/plugins/mpinstaler/MPInstaler/download_form.cs
Modified: trunk/plugins/mpinstaler/MPInstaler/Build dialog.Designer.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/Build dialog.Designer.cs 2007-04-01 16:24:32 UTC (rev 273)
+++ trunk/plugins/mpinstaler/MPInstaler/Build dialog.Designer.cs 2007-04-01 16:38:52 UTC (rev 274)
@@ -37,6 +37,13 @@
this.button3 = new System.Windows.Forms.Button();
this.listBox1 = new System.Windows.Forms.ListBox();
this.progressBar1 = new System.Windows.Forms.ProgressBar();
+ this.button4 = new System.Windows.Forms.Button();
+ this.textBox2 = new System.Windows.Forms.TextBox();
+ this.label2 = new System.Windows.Forms.Label();
+ this.textBox3 = new System.Windows.Forms.TextBox();
+ this.label3 = new System.Windows.Forms.Label();
+ this.textBox4 = new System.Windows.Forms.TextBox();
+ this.label4 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// saveFileDialog1
@@ -48,7 +55,7 @@
//
this.textBox1.Location = new System.Drawing.Point(12, 23);
this.textBox1.Name = "textBox1";
- this.textBox1.Size = new System.Drawing.Size(452, 20);
+ this.textBox1.Size = new System.Drawing.Size(334, 20);
this.textBox1.TabIndex = 0;
//
// label1
@@ -62,7 +69,7 @@
//
// button1
//
- this.button1.Location = new System.Drawing.Point(469, 20);
+ this.button1.Location = new System.Drawing.Point(354, 20);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(27, 23);
this.button1.TabIndex = 2;
@@ -82,7 +89,7 @@
//
// button3
//
- this.button3.Location = new System.Drawing.Point(421, 220);
+ this.button3.Location = new System.Drawing.Point(306, 220);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(75, 23);
this.button3.TabIndex = 4;
@@ -92,29 +99,92 @@
//
// listBox1
//
- this.listBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
this.listBox1.FormattingEnabled = true;
this.listBox1.HorizontalScrollbar = true;
this.listBox1.Location = new System.Drawing.Point(12, 54);
this.listBox1.Name = "listBox1";
- this.listBox1.Size = new System.Drawing.Size(484, 134);
+ this.listBox1.Size = new System.Drawing.Size(369, 134);
this.listBox1.TabIndex = 5;
//
// progressBar1
//
- this.progressBar1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
+ this.progressBar1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.progressBar1.Location = new System.Drawing.Point(12, 198);
this.progressBar1.Name = "progressBar1";
- this.progressBar1.Size = new System.Drawing.Size(484, 16);
+ this.progressBar1.Size = new System.Drawing.Size(369, 16);
this.progressBar1.TabIndex = 6;
//
+ // button4
+ //
+ this.button4.Location = new System.Drawing.Point(147, 220);
+ this.button4.Name = "button4";
+ this.button4.Size = new System.Drawing.Size(95, 23);
+ this.button4.TabIndex = 7;
+ this.button4.Text = "Build && Upload";
+ this.button4.UseVisualStyleBackColor = true;
+ this.button4.Click += new System.EventHandler(this.button4_Click);
+ //
+ // textBox2
+ //
+ this.textBox2.Location = new System.Drawing.Point(403, 54);
+ this.textBox2.Name = "textBox2";
+ this.textBox2.Size = new System.Drawing.Size(249, 20);
+ this.textBox2.TabIndex = 8;
+ this.textBox2.Text = "ftp://ftp.extra.hu/wwwroot";
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Location = new System.Drawing.Point(400, 38);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(41, 13);
+ this.label2.TabIndex = 9;
+ this.label2.Text = "Server ";
+ //
+ // textBox3
+ //
+ this.textBox3.Location = new System.Drawing.Point(403, 97);
+ this.textBox3.Name = "textBox3";
+ this.textBox3.Size = new System.Drawing.Size(249, 20);
+ this.textBox3.TabIndex = 10;
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.Location = new System.Drawing.Point(400, 81);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(58, 13);
+ this.label3.TabIndex = 11;
+ this.label3.Text = "User name";
+ //
+ // textBox4
+ //
+ this.textBox4.Location = new System.Drawing.Point(403, 138);
+ this.textBox4.Name = "textBox4";
+ this.textBox4.Size = new System.Drawing.Size(249, 20);
+ this.textBox4.TabIndex = 12;
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.Location = new System.Drawing.Point(400, 122);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(53, 13);
+ this.label4.TabIndex = 13;
+ this.label4.Text = "Password";
+ //
// Build_dialog
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(502, 255);
+ this.ClientSize = new System.Drawing.Size(677, 255);
+ this.Controls.Add(this.label4);
+ this.Controls.Add(this.textBox4);
+ this.Controls.Add(this.label3);
+ this.Controls.Add(this.textBox3);
+ this.Controls.Add(this.label2);
+ this.Controls.Add(this.textBox2);
+ this.Controls.Add(this.button4);
this.Controls.Add(this.progressBar1);
this.Controls.Add(this.listBox1);
this.Controls.Add(this.button3);
@@ -144,5 +214,12 @@
private System.Windows.Forms.Button button3;
private System.Windows.Forms.ListBox listBox1;
private System.Windows.Forms.ProgressBar progressBar1;
+ private System.Windows.Forms.Button button4;
+ private System.Windows.Forms.TextBox textBox2;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.TextBox textBox3;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.TextBox textBox4;
+ private System.Windows.Forms.Label label4;
}
}
\ No newline at end of file
Modified: trunk/plugins/mpinstaler/MPInstaler/Build dialog.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/Build dialog.cs 2007-04-01 16:24:32 UTC (rev 273)
+++ trunk/plugins/mpinstaler/MPInstaler/Build dialog.cs 2007-04-01 16:38:52 UTC (rev 274)
@@ -4,6 +4,8 @@
using System.Data;
using System.Drawing;
using System.Text;
+using System.IO;
+using System.Net;
using System.Windows.Forms;
namespace MPInstaler
@@ -39,8 +41,16 @@
private void button2_Click(object sender, EventArgs e)
{
- _struct.BuildFileName = textBox1.Text;
- _struct.BuilFile(listBox1,progressBar1);
+ if (!String.IsNullOrEmpty(textBox1.Text))
+ {
+ _struct.BuildFileName = textBox1.Text;
+ _struct.BuilFile(listBox1, progressBar1);
+ }
+ else
+ {
+ MessageBox.Show("File name is mandatory !", "Stop");
+ textBox1.Focus();
+ }
}
public void onbuild()
{
@@ -51,5 +61,55 @@
{
listBox1.Items.Clear();
}
+
+
+ private void button4_Click(object sender, EventArgs e)
+ {
+ this.Cursor = Cursors.WaitCursor;
+ if (!String.IsNullOrEmpty(textBox1.Text))
+ {
+ _struct.BuildFileName = textBox1.Text;
+ _struct.BuilFile(listBox1, progressBar1);
+ listBox1.Items.Add("Upload begin...");
+ listBox1.SelectedIndex = listBox1.Items.Count - 1;
+ listBox1.Refresh();
+ listBox1.Update();
+ if (download_form.FtpUpload(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text))
+ {
+ listBox1.Items.Add("Upload done.");
+ listBox1.Refresh();
+ listBox1.Update();
+ string tempfile = Path.GetTempPath() + @"\MPExtensionFileList.xml";
+ string configfile = textBox2.Text+"/MPExtensionFileList.xml";
+ if (download_form.FtpDownload(configfile, tempfile, textBox3.Text, textBox4.Text))
+ {
+ listBox1.Items.Add("List file downloaded !");
+ listBox1.SelectedIndex = listBox1.Items.Count - 1;
+ listBox1.Refresh();
+ listBox1.Update();
+ MPInstallHelper temp_mpih = new MPInstallHelper();
+ temp_mpih.LoadFromFile(tempfile);
+ MPpackageStruct pk = new MPpackageStruct();
+ pk.LoadFromFile(textBox1.Text);
+ temp_mpih.Add(pk);
+ temp_mpih.SaveToFile();
+ download_form.FtpRenam(configfile, "MPExtensionFileList_old.xml", textBox3.Text, textBox4.Text);
+ listBox1.Items.Add("List file renamed !");
+ listBox1.Refresh();
+ listBox1.Update();
+ download_form.FtpUpload(tempfile, textBox2.Text, textBox3.Text, textBox4.Text);
+ listBox1.Items.Add("List file uploaded !");
+ listBox1.Refresh();
+ listBox1.Update();
+ }
+ }
+ }
+ else
+ {
+ MessageBox.Show("File name is mandatory !", "Stop");
+ textBox1.Focus();
+ }
+ this.Cursor = Cursors.Arrow;
+ }
}
}
\ No newline at end of file
Modified: trunk/plugins/mpinstaler/MPInstaler/MPInstaler.csproj
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/MPInstaler.csproj 2007-04-01 16:24:32 UTC (rev 273)
+++ trunk/plugins/mpinstaler/MPInstaler/MPInstaler.csproj 2007-04-01 16:38:52 UTC (rev 274)
@@ -147,6 +147,7 @@
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
+ <DesignTime>True</DesignTime>
</Compile>
<None Include="app.config" />
<None Include="MPInstaler_TemporaryKey.pfx" />
Modified: trunk/plugins/mpinstaler/MPInstaler/Properties/Resources.Designer.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/Properties/Resources.Designer.cs 2007-04-01 16:24:32 UTC (rev 273)
+++ trunk/plugins/mpinstaler/MPInstaler/Properties/Resources.Designer.cs 2007-04-01 16:38:52 UTC (rev 274)
@@ -8,10 +8,10 @@
// </auto-generated>
//------------------------------------------------------------------------------
-namespace MPInstaler.Properties
-{
-
-
+namespace MPInstaler.Properties {
+ using System;
+
+
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
@@ -22,48 +22,40 @@
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources
- {
-
+ internal class Resources {
+
private static global::System.Resources.ResourceManager resourceMan;
-
+
private static global::System.Globalization.CultureInfo resourceCulture;
-
+
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources()
- {
+ internal Resources() {
}
-
+
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager
- {
- get
- {
- if ((resourceMan == null))
- {
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("MPInstaler.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
-
+
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture
- {
- get
- {
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
return resourceCulture;
}
- set
- {
+ set {
resourceCulture = value;
}
}
Modified: trunk/plugins/mpinstaler/MPInstaler/Properties/Settings.Designer.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/Properties/Settings.Designer.cs 2007-04-01 16:24:32 UTC (rev 273)
+++ trunk/plugins/mpinstaler/MPInstaler/Properties/Settings.Designer.cs 2007-04-01 16:38:52 UTC (rev 274)
@@ -8,21 +8,17 @@
// </auto-generated>
//------------------------------------------------------------------------------
-namespace MPInstaler.Properties
-{
-
-
+namespace MPInstaler.Properties {
+
+
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.0.0")]
- internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
- {
-
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-
- public static Settings Default
- {
- get
- {
+
+ public static Settings Default {
+ get {
return defaultInstance;
}
}
Modified: trunk/plugins/mpinstaler/MPInstaler/download_form.cs
===================================================================
--- trunk/plugins/mpinstaler/MPInstaler/download_form.cs 2007-04-01 16:24:32 UTC (rev 273)
+++ trunk/plugins/mpinstaler/MPInstaler/download_form.cs 2007-04-01 16:38:52 UTC (rev 274)
@@ -15,6 +15,7 @@
string source = string.Empty;
string dest = string.Empty;
WebClient client = new WebClient();
+ public int direction = 0;
public download_form(string s, string d)
{
InitializeComponent();
@@ -22,6 +23,8 @@
dest = d;
client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(DownloadProgressCallback);
client.DownloadFileCompleted += new AsyncCompletedEventHandler(DownloadEnd);
+ client.UploadProgressChanged+= new UploadProgressChangedEventHandler(UploadProgressCallback);
+ client.UploadFileCompleted += new UploadFileCompletedEventHandler(DownloadEnd);
progressBar1.Minimum = 0;
progressBar1.Maximum = 100;
progressBar1.Value = 0;
@@ -31,7 +34,12 @@
{
if (!String.IsNullOrEmpty(source) && !String.IsNullOrEmpty(dest))
{
- client.DownloadFileAsync(new System.Uri(source), dest);
+ if (direction == 0)
+ client.DownloadFileAsync(new System.Uri(source), dest);
+ else
+ {
+ client.UploadFileAsync(new System.Uri(source), dest);
+ }
//client.DownloadFile(new System.Uri(source), dest);
}
}
@@ -45,6 +53,11 @@
// e.ProgressPercentage);
progressBar1.Value = e.ProgressPercentage;
}
+
+ private void UploadProgressCallback(object sender, UploadProgressChangedEventArgs e)
+ {
+ progressBar1.Value = e.ProgressPercentage;
+ }
private void DownloadEnd(object sender, AsyncCompletedEventArgs e)
{
if (e.Error != null)
@@ -57,6 +70,112 @@
this.Close();
}
+ public static bool FtpDownload(string source, string dest, string user, string pwd)
+ {
+ FtpWebRequest reqFTP;
+ try
+ {
+ //filePath = <<The full path where the file is to be created.>>,
+ //fileName = <<Name of the file to be created(Need not be the name of the file on FTP server).>>
+ FileStream outputStream = new FileStream(dest, FileMode.Create);
+
+ reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(source));
+ reqFTP.Method = WebRequestMethods.Ftp.DownloadFile;
+ reqFTP.UseBinary = true;
+ reqFTP.Credentials = new NetworkCredential(user, pwd);
+ FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();
+ Stream ftpStream = response.GetResponseStream();
+ long cl = response.ContentLength;
+ int bufferSize = 2048;
+ int readCount;
+ byte[] buffer = new byte[bufferSize];
+
+ readCount = ftpStream.Read(buffer, 0, bufferSize);
+ while (readCount > 0)
+ {
+ outputStream.Write(buffer, 0, readCount);
+ readCount = ftpStream.Read(buffer, 0, bufferSize);
+ }
+
+ ftpStream.Close();
+ outputStream.Close();
+ response.Close();
+ if (response.StatusCode == FtpStatusCode.ClosingData)
+ return true;
+ else
+ return false;
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message);
+ return false;
+ }
+ }
+
+ public static bool FtpUpload(string source, string dest, string user, string pwd)
+ {
+ try
+ {
+ if (!dest.EndsWith("/")) dest += "/";
+ dest += Path.GetFileName(source);
+ FtpWebRequest request = (FtpWebRequest)WebRequest.Create(dest);
+ request.Method = WebRequestMethods.Ftp.UploadFile;
+ // This example assumes the FTP site uses anonymous logon.
+ request.Credentials = new NetworkCredential(user, pwd);
+ request.UseBinary = true;
+ // Copy the contents of the file to the request stream.
+ StreamReader sourceStream = new StreamReader(source);
+ byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
+ sourceStream.Close();
+ request.ContentLength = fileContents.Length;
+
+ Stream requestStream = request.GetRequestStream();
+ requestStream.Write(fileContents, 0, fileContents.Length);
+ requestStream.Close();
+
+ FtpWebResponse response = (FtpWebResponse)request.GetResponse();
+ response.Close();
+ if (response.StatusCode == FtpStatusCode.ClosingData)
+ return true;
+ else
+ return false;
+ }
+ catch(Exception ex)
+ {
+ MessageBox.Show("Error :"+ex.Message);
+ return false;
+ }
+ }
+
+ public static bool FtpRenam(string source, string newFilename, string user, string pwd)
+ {
+ FtpWebRequest reqFTP;
+ try
+ {
+ MessageBox.Show(newFilename);
+ reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(source));
+ reqFTP.Method = WebRequestMethods.Ftp.Rename;
+ reqFTP.RenameTo = newFilename;
+ reqFTP.UseBinary = true;
+ reqFTP.Credentials = new NetworkCredential(user , pwd);
+ FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();
+ Stream ftpStream = response.GetResponseStream();
+
+ ftpStream.Close();
+ response.Close();
+ if (response.StatusCode == FtpStatusCode.ClosingData)
+ return true;
+ else
+ return false;
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message);
+ return false;
+ }
+ }
+
+
private void button1_Click(object sender, EventArgs e)
{
client.CancelAsync();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ze...@us...> - 2007-04-01 16:24:35
|
Revision: 273
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=273&view=rev
Author: zebons
Date: 2007-04-01 09:24:32 -0700 (Sun, 01 Apr 2007)
Log Message:
-----------
Section for ANT Updating Item in wrong xml file.
Modified Paths:
--------------
trunk/plugins/MyFilms/MesFilms.csproj
trunk/plugins/MyFilms/MesFilmsDetail.cs
trunk/plugins/MyFilms/MesFilmsSetup.cs
Modified: trunk/plugins/MyFilms/MesFilms.csproj
===================================================================
--- trunk/plugins/MyFilms/MesFilms.csproj 2007-04-01 16:15:16 UTC (rev 272)
+++ trunk/plugins/MyFilms/MesFilms.csproj 2007-04-01 16:24:32 UTC (rev 273)
@@ -29,9 +29,9 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
- <Reference Include="Core, Version=1.0.2576.34540, Culture=neutral, processorArchitecture=x86">
+ <Reference Include="Core, Version=1.0.2548.1824, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
- <HintPath>..\..\mediaportal_plugin\MesFilms\Core_Svn\Core.dll</HintPath>
+ <HintPath>..\..\mediaportal_plugin\MesFilms\Core_Stable\Core.DLL</HintPath>
</Reference>
<Reference Include="Databases, Version=1.0.2548.1828, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
@@ -48,9 +48,9 @@
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
- <Reference Include="Utils, Version=1.0.2576.34538, Culture=neutral, processorArchitecture=x86">
+ <Reference Include="Utils, Version=1.0.2548.1816, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
- <HintPath>..\..\mediaportal_plugin\MesFilms\Core_Svn\Utils.dll</HintPath>
+ <HintPath>..\..\mediaportal_plugin\MesFilms\Core_Stable\Utils.DLL</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
Modified: trunk/plugins/MyFilms/MesFilmsDetail.cs
===================================================================
--- trunk/plugins/MyFilms/MesFilmsDetail.cs 2007-04-01 16:15:16 UTC (rev 272)
+++ trunk/plugins/MyFilms/MesFilmsDetail.cs 2007-04-01 16:24:32 UTC (rev 273)
@@ -342,14 +342,14 @@
int ItemID;
dlg.Reset();
- using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml"))
+ using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MyFilms.xml"))
{
- StrUpdItem1 = xmlreader.GetValueAsString("MesFilms", "AntUpdItem1", "");
- StrUpdText1 = xmlreader.GetValueAsString("MesFilms", "AntUpdText1", "");
- StrUpdDflT1 = xmlreader.GetValueAsString("MesFilms", "AntUpdDflT1", "");
- StrUpdItem2 = xmlreader.GetValueAsString("MesFilms", "AntUpdItem2", "");
- StrUpdText2 = xmlreader.GetValueAsString("MesFilms", "AntUpdText2", "");
- StrUpdDflT2 = xmlreader.GetValueAsString("MesFilms", "AntUpdDflT2", "");
+ StrUpdItem1 = xmlreader.GetValueAsString(CurrentConfig, "AntUpdItem1", "");
+ StrUpdText1 = xmlreader.GetValueAsString(CurrentConfig, "AntUpdText1", "");
+ StrUpdDflT1 = xmlreader.GetValueAsString(CurrentConfig, "AntUpdDflT1", "");
+ StrUpdItem2 = xmlreader.GetValueAsString(CurrentConfig, "AntUpdItem2", "");
+ StrUpdText2 = xmlreader.GetValueAsString(CurrentConfig, "AntUpdText2", "");
+ StrUpdDflT2 = xmlreader.GetValueAsString(CurrentConfig, "AntUpdDflT2", "");
}
dlg.SetHeading(924); // menu
dlg.Add(GUILocalizeStrings.Get(931));//rating
@@ -358,7 +358,7 @@
boolfile = true;
dlg.Add(GUILocalizeStrings.Get(863));//file
}
- if (!(StrUpdItem1 == "(none)"))
+ if (!(StrUpdItem1 == "(none)"))
if (StrUpdText1.Length > 0)
dlg.Add(StrUpdText1); //Specific Item1 label to update
else
Modified: trunk/plugins/MyFilms/MesFilmsSetup.cs
===================================================================
--- trunk/plugins/MyFilms/MesFilmsSetup.cs 2007-04-01 16:15:16 UTC (rev 272)
+++ trunk/plugins/MyFilms/MesFilmsSetup.cs 2007-04-01 16:24:32 UTC (rev 273)
@@ -224,6 +224,22 @@
AntTSort.Focus();
return;
}
+ if (AntUpdItem1.Text.Length == 0)
+ AntUpdItem1.Text = "(none)";
+ if (!(AntUpdItem1.Text == "(none)") && (AntUpdText1.Text.Length == 0))
+ {
+ System.Windows.Forms.MessageBox.Show("The Button Label is mandatory with the corresponding Update Field Item !", "Configuration", MessageBoxButtons.OK, MessageBoxIcon.Stop);
+ AntUpdText1.Focus();
+ return;
+ }
+ if (AntUpdItem2.Text.Length == 0)
+ AntUpdItem2.Text = "(none)";
+ if (!(AntUpdItem2.Text == "(none)") && (AntUpdText2.Text.Length == 0))
+ {
+ System.Windows.Forms.MessageBox.Show("The Button Label is mandatory with the corresponding Update Field Item !", "Configuration", MessageBoxButtons.OK, MessageBoxIcon.Stop);
+ AntUpdText2.Focus();
+ return;
+ }
StrDfltSelect = "";
string wAntFilterSign;
if (AntFilterSign1.Text == "#")
@@ -250,19 +266,15 @@
else
StrDfltSelect = "(" + StrDfltSelect + "(" + AntFilterItem2.Text + " " + wAntFilterSign + " '" + AntFilterText2.Text + "' or " + AntFilterItem2.Text + " is null)) AND ";
Verify_Config();
- string currentLanguage = String.Empty;
- using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "MediaPortal.xml")))
- {
- currentLanguage = xmlreader.GetValueAsString("skin", "language", "English");
- }
- string LanguageDirectory = Config.GetFolder(Config.Dir.Language);
+ //string currentLanguage = String.Empty;
+ //using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "MediaPortal.xml")))
+ //{
+ // currentLanguage = xmlreader.GetValueAsString("skin", "language", "English");
+ //}
+ //string LanguageDirectory = Config.GetFolder(Config.Dir.Language);
if (AntTitle2.Text.Length == 0)
AntTitle2.Text = "(none)";
- if (AntUpdItem1.Text.Length == 0)
- AntUpdItem1.Text = "(none)";
- if (AntUpdItem2.Text.Length == 0)
- AntUpdItem2.Text = "(none)";
if (Config_Dflt.Checked)
{
MyFilms_xmlwriter.SetValue("MyFilms", "Default_Config", Config_Name.Text.ToString());
@@ -323,7 +335,7 @@
Config_Name.Items.Add(w_Config_Name);
Config_Name.Text = w_Config_Name;
// Config_Name.ResetText();
- Refresh_Items(false);
+// Refresh_Items(false);
}
private void butPath_Click(object sender, EventArgs e)
@@ -408,7 +420,6 @@
CatalogType.SelectedIndex = 0;
StrDfltSelect = "";
mydivx.Clear();
- Config_Dflt.Checked = false;
View_Dflt_Item.Items.Clear();
View_Dflt_Item.Items.Add("(none)");
View_Dflt_Item.Items.Add("Year");
@@ -416,6 +427,7 @@
View_Dflt_Item.Items.Add("Country");
if (!all)
return;
+ Config_Dflt.Checked = false;
MesFilmsCat.ResetText();
MesFilmsImg.ResetText();
AntStorage.ResetText();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|