|
From: <nor...@us...> - 2007-08-13 08:55:33
|
Revision: 828
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=828&view=rev
Author: northern_sky
Date: 2007-08-13 01:55:30 -0700 (Mon, 13 Aug 2007)
Log Message:
-----------
some minor designstuff, dynamic checkboxes in fileview, removed prepostbutton/form and inc it in regular appitemsettings
Modified Paths:
--------------
trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppFilesImportProgress.Designer.cs
trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppFilesImportProgress.cs
trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppFilesView.Designer.cs
trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppFilesView.cs
trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppFilesView.resx
trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsBase.Designer.cs
trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsBase.cs
trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsDirCache.Designer.cs
trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsDirCache.cs
trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsGamebase.Designer.cs
trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsGamebase.cs
trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsGrouper.cs
trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsMame.Designer.cs
trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsMame.cs
trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsMame.resx
trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/SetupForm.cs
trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/GUIPrograms.cs
trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/GUIProgramsAlt.csproj
trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/ApplicationItem.cs
trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/ApplicationItemMame.cs
trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/ProgramUtils.cs
trunk/plugins/myGUIProgramsAlt/README.txt
Removed Paths:
-------------
trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsPrePost.Designer.cs
trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsPrePost.cs
trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsPrePost.resx
Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppFilesImportProgress.Designer.cs
===================================================================
--- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppFilesImportProgress.Designer.cs 2007-08-11 06:03:06 UTC (rev 827)
+++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppFilesImportProgress.Designer.cs 2007-08-13 08:55:30 UTC (rev 828)
@@ -106,7 +106,7 @@
this.Controls.Add(this.progressBar);
this.Name = "AppSettingsFilesImportProgress";
this.Load += new System.EventHandler(this.AppFilesImportProgress_Load);
- this.Controls.SetChildIndex(this.prePostButton, 0);
+
this.Controls.SetChildIndex(this.enabledCheckbox, 0);
this.Controls.SetChildIndex(this.titleLabel, 0);
this.Controls.SetChildIndex(this.applicationExeLabel, 0);
Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppFilesImportProgress.cs
===================================================================
--- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppFilesImportProgress.cs 2007-08-11 06:03:06 UTC (rev 827)
+++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppFilesImportProgress.cs 2007-08-13 08:55:30 UTC (rev 828)
@@ -75,7 +75,10 @@
waitExitCheckBox.Visible = false;
shellexecuteCheckBox.Visible = false;
informationLabel.Visible = false;
- prePostButton.Visible = false;
+ preCommandsLabel.Visible = false;
+ preCommandTextBox.Visible = false;
+ postCommandsLabel.Visible = false;
+ postCommandTextBox.Visible = false;
}
public void RunImport()
Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppFilesView.Designer.cs
===================================================================
--- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppFilesView.Designer.cs 2007-08-11 06:03:06 UTC (rev 827)
+++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppFilesView.Designer.cs 2007-08-13 08:55:30 UTC (rev 828)
@@ -53,10 +53,7 @@
this.imageDirsLabel = new System.Windows.Forms.Label();
this.fileDirLabel = new System.Windows.Forms.Label();
this.filesGroupBox = new System.Windows.Forms.GroupBox();
- this.importPlaychoiceCheckBox = new System.Windows.Forms.CheckBox();
- this.importMahjongCheckBox = new System.Windows.Forms.CheckBox();
- this.validImagesCheckBox = new System.Windows.Forms.CheckBox();
- this.importOriginalsCheckBox = new System.Windows.Forms.CheckBox();
+ this.importOptionsCheckedListBox = new System.Windows.Forms.CheckedListBox();
this.FileSettingsGroupBox = new System.Windows.Forms.GroupBox();
this.gamebaseDBTextBox = new System.Windows.Forms.TextBox();
this.gamebaseLabel = new System.Windows.Forms.Label();
@@ -77,13 +74,13 @@
this.fileListView.HideSelection = false;
this.fileListView.Location = new System.Drawing.Point(8, 19);
this.fileListView.Name = "fileListView";
- this.fileListView.Size = new System.Drawing.Size(276, 343);
+ this.fileListView.Size = new System.Drawing.Size(276, 352);
this.fileListView.SmallImageList = this.smallImageList;
this.fileListView.TabIndex = 1;
this.fileListView.UseCompatibleStateImageBehavior = false;
this.fileListView.View = System.Windows.Forms.View.Details;
- this.fileListView.SelectedIndexChanged += new System.EventHandler(this.fileListView_SelectedIndexChanged);
this.fileListView.DoubleClick += new System.EventHandler(this.fileListView_DoubleClick);
+ this.fileListView.SelectedIndexChanged += new System.EventHandler(this.fileListView_SelectedIndexChanged);
//
// fileTitle
//
@@ -183,13 +180,13 @@
this.contextFavouritesMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.grouperToolStripMenuItem});
this.contextFavouritesMenuStrip.Name = "contextFavouritesMenuStrip";
- this.contextFavouritesMenuStrip.Size = new System.Drawing.Size(125, 26);
+ this.contextFavouritesMenuStrip.Size = new System.Drawing.Size(118, 26);
this.contextFavouritesMenuStrip.Opening += new System.ComponentModel.CancelEventHandler(this.contextFavouritesMenuStrip_Opening);
//
// grouperToolStripMenuItem
//
this.grouperToolStripMenuItem.Name = "grouperToolStripMenuItem";
- this.grouperToolStripMenuItem.Size = new System.Drawing.Size(124, 22);
+ this.grouperToolStripMenuItem.Size = new System.Drawing.Size(117, 22);
this.grouperToolStripMenuItem.Text = "Grouper";
//
// fileExtensionsTextBox
@@ -197,7 +194,7 @@
this.fileExtensionsTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.fileExtensionsTextBox.Location = new System.Drawing.Point(85, 71);
this.fileExtensionsTextBox.Name = "fileExtensionsTextBox";
- this.fileExtensionsTextBox.Size = new System.Drawing.Size(330, 21);
+ this.fileExtensionsTextBox.Size = new System.Drawing.Size(330, 20);
this.fileExtensionsTextBox.TabIndex = 28;
//
// imageDirsTextBox
@@ -205,7 +202,7 @@
this.imageDirsTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.imageDirsTextBox.Location = new System.Drawing.Point(85, 45);
this.imageDirsTextBox.Name = "imageDirsTextBox";
- this.imageDirsTextBox.Size = new System.Drawing.Size(330, 21);
+ this.imageDirsTextBox.Size = new System.Drawing.Size(330, 20);
this.imageDirsTextBox.TabIndex = 27;
//
// fileDirTextBox
@@ -213,7 +210,7 @@
this.fileDirTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.fileDirTextBox.Location = new System.Drawing.Point(85, 19);
this.fileDirTextBox.Name = "fileDirTextBox";
- this.fileDirTextBox.Size = new System.Drawing.Size(330, 21);
+ this.fileDirTextBox.Size = new System.Drawing.Size(330, 20);
this.fileDirTextBox.TabIndex = 26;
//
// fileDirButton
@@ -276,10 +273,7 @@
// filesGroupBox
//
this.filesGroupBox.BackColor = System.Drawing.SystemColors.Control;
- this.filesGroupBox.Controls.Add(this.importPlaychoiceCheckBox);
- this.filesGroupBox.Controls.Add(this.importMahjongCheckBox);
- this.filesGroupBox.Controls.Add(this.validImagesCheckBox);
- this.filesGroupBox.Controls.Add(this.importOriginalsCheckBox);
+ this.filesGroupBox.Controls.Add(this.importOptionsCheckedListBox);
this.filesGroupBox.Controls.Add(this.fileListView);
this.filesGroupBox.Controls.Add(this.newButton);
this.filesGroupBox.Controls.Add(this.editButton);
@@ -297,46 +291,20 @@
this.filesGroupBox.TabStop = false;
this.filesGroupBox.Text = "Files";
//
- // importPlaychoiceCheckBox
+ // importOptionsCheckedListBox
//
- this.importPlaychoiceCheckBox.AutoSize = true;
- this.importPlaychoiceCheckBox.Location = new System.Drawing.Point(299, 345);
- this.importPlaychoiceCheckBox.Name = "importPlaychoiceCheckBox";
- this.importPlaychoiceCheckBox.Size = new System.Drawing.Size(160, 17);
- this.importPlaychoiceCheckBox.TabIndex = 87;
- this.importPlaychoiceCheckBox.Text = "Import Playchoice/Vs games";
- this.importPlaychoiceCheckBox.UseVisualStyleBackColor = true;
+ this.importOptionsCheckedListBox.BackColor = System.Drawing.SystemColors.Control;
+ this.importOptionsCheckedListBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.importOptionsCheckedListBox.CheckOnClick = true;
+ this.importOptionsCheckedListBox.FormattingEnabled = true;
+ this.importOptionsCheckedListBox.HorizontalScrollbar = true;
+ this.importOptionsCheckedListBox.Location = new System.Drawing.Point(290, 234);
+ this.importOptionsCheckedListBox.Name = "importOptionsCheckedListBox";
+ this.importOptionsCheckedListBox.ScrollAlwaysVisible = true;
+ this.importOptionsCheckedListBox.Size = new System.Drawing.Size(176, 137);
+ this.importOptionsCheckedListBox.Sorted = true;
+ this.importOptionsCheckedListBox.TabIndex = 88;
//
- // importMahjongCheckBox
- //
- this.importMahjongCheckBox.AutoSize = true;
- this.importMahjongCheckBox.Location = new System.Drawing.Point(299, 321);
- this.importMahjongCheckBox.Name = "importMahjongCheckBox";
- this.importMahjongCheckBox.Size = new System.Drawing.Size(136, 17);
- this.importMahjongCheckBox.TabIndex = 86;
- this.importMahjongCheckBox.Text = "Import Mahjong games";
- this.importMahjongCheckBox.UseVisualStyleBackColor = true;
- //
- // validImagesCheckBox
- //
- this.validImagesCheckBox.AutoSize = true;
- this.validImagesCheckBox.Location = new System.Drawing.Point(299, 275);
- this.validImagesCheckBox.Name = "validImagesCheckBox";
- this.validImagesCheckBox.Size = new System.Drawing.Size(154, 17);
- this.validImagesCheckBox.TabIndex = 84;
- this.validImagesCheckBox.Text = "Only files with valid images";
- this.validImagesCheckBox.UseVisualStyleBackColor = true;
- //
- // importOriginalsCheckBox
- //
- this.importOriginalsCheckBox.AutoSize = true;
- this.importOriginalsCheckBox.Location = new System.Drawing.Point(299, 298);
- this.importOriginalsCheckBox.Name = "importOriginalsCheckBox";
- this.importOriginalsCheckBox.Size = new System.Drawing.Size(123, 17);
- this.importOriginalsCheckBox.TabIndex = 85;
- this.importOriginalsCheckBox.Text = "Only import originals";
- this.importOriginalsCheckBox.UseVisualStyleBackColor = true;
- //
// FileSettingsGroupBox
//
this.FileSettingsGroupBox.BackColor = System.Drawing.SystemColors.Control;
@@ -365,7 +333,7 @@
this.gamebaseDBTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.gamebaseDBTextBox.Location = new System.Drawing.Point(85, 96);
this.gamebaseDBTextBox.Name = "gamebaseDBTextBox";
- this.gamebaseDBTextBox.Size = new System.Drawing.Size(330, 21);
+ this.gamebaseDBTextBox.Size = new System.Drawing.Size(330, 20);
this.gamebaseDBTextBox.TabIndex = 89;
this.toolTip.SetToolTip(this.gamebaseDBTextBox, "Select a gamebase (*.mdb) file to import\r\n");
//
@@ -402,7 +370,6 @@
this.Load += new System.EventHandler(this.AppFilesView_Load);
this.contextFavouritesMenuStrip.ResumeLayout(false);
this.filesGroupBox.ResumeLayout(false);
- this.filesGroupBox.PerformLayout();
this.FileSettingsGroupBox.ResumeLayout(false);
this.FileSettingsGroupBox.PerformLayout();
this.ResumeLayout(false);
@@ -437,13 +404,10 @@
private System.Windows.Forms.GroupBox FileSettingsGroupBox;
private System.Windows.Forms.ToolTip toolTip;
private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog;
- private System.Windows.Forms.CheckBox importPlaychoiceCheckBox;
- private System.Windows.Forms.CheckBox importMahjongCheckBox;
- private System.Windows.Forms.CheckBox validImagesCheckBox;
- private System.Windows.Forms.CheckBox importOriginalsCheckBox;
private System.Windows.Forms.TextBox gamebaseDBTextBox;
private System.Windows.Forms.Label gamebaseLabel;
private System.Windows.Forms.Button gamebaseDBButton;
private System.Windows.Forms.OpenFileDialog openFileDialog;
+ private System.Windows.Forms.CheckedListBox importOptionsCheckedListBox;
}
}
\ No newline at end of file
Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppFilesView.cs
===================================================================
--- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppFilesView.cs 2007-08-11 06:03:06 UTC (rev 827)
+++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppFilesView.cs 2007-08-13 08:55:30 UTC (rev 828)
@@ -45,6 +45,25 @@
private ApplicationItem currentApplication = null;
public event EventHandler OnImageFolderSearch;
+
+
+ public string ImportOptionToString(ImportOption importOption)
+ {
+ switch (importOption)
+ {
+ case ImportOption.OnlyImportValidImages:
+ return "Only import files with valid images";
+ case ImportOption.OnlyImportOriginals:
+ return "Only import originals";
+ case ImportOption.ImportMahjongGames:
+ return "Import Mahjong games";
+ case ImportOption.ImportPlaychoiceGames:
+ return "Import Playchoice/Vs games";
+ default:
+ return "";
+ }
+ }
+
public AppSettingsFilesView()
{
InitializeComponent();
@@ -574,6 +593,45 @@
}
}
+ private bool IsItemChecked(string itemString)
+ {
+ foreach (object item in importOptionsCheckedListBox.CheckedItems)
+ {
+ if (itemString == item.ToString())
+ {
+
+ return true;
+ }
+ }
+ return false;
+ }
+
+ private void CheckImportOption(ApplicationItem applicationItem)
+ {
+ if (applicationItem.ImportValidImagesOnly)
+ {
+ importOptionsCheckedListBox.SetItemChecked(importOptionsCheckedListBox.Items.IndexOf(ImportOptionToString(ImportOption.OnlyImportValidImages)),true);
+ }
+ if (applicationItem.ImportMameMahjong)
+ {
+ importOptionsCheckedListBox.SetItemChecked(importOptionsCheckedListBox.Items.IndexOf(ImportOptionToString(ImportOption.ImportMahjongGames)), true);
+
+ }
+ if (applicationItem.ImportMamePlaychoice10)
+ {
+ importOptionsCheckedListBox.SetItemChecked(importOptionsCheckedListBox.Items.IndexOf(ImportOptionToString(ImportOption.ImportPlaychoiceGames)), true);
+ }
+ if (applicationItem is ApplicationItemMame)
+ {
+ if (((ApplicationItemMame)applicationItem).ImportOriginalsOnly)
+ {
+ importOptionsCheckedListBox.SetItemChecked(importOptionsCheckedListBox.Items.IndexOf(ImportOptionToString(ImportOption.OnlyImportOriginals)), true);
+
+ }
+ }
+
+ }
+
public void FillApplicationItem(ApplicationItem applicationItem)
{
if (applicationItem == null) return;
@@ -585,36 +643,34 @@
applicationItem.FileDirectory = fileDirTextBox.Text;
applicationItem.ValidExtensions = fileExtensionsTextBox.Text;
+
if ((currentApplication is ApplicationItemMame) || ((currentApplication is ApplicationItemGameBase)))
{
- applicationItem.ImportValidImagesOnly = this.validImagesCheckBox.Checked;
+ applicationItem.ImportValidImagesOnly = IsItemChecked(ImportOptionToString(ImportOption.OnlyImportValidImages));
}
if ((currentApplication is ApplicationItemMame))
{
- ((ApplicationItemMame)applicationItem).ImportOriginalsOnly = this.importOriginalsCheckBox.Checked;
- applicationItem.ImportMameMahjong = this.importMahjongCheckBox.Checked;
- applicationItem.ImportMamePlaychoice10 = this.importPlaychoiceCheckBox.Checked;
+ ((ApplicationItemMame)applicationItem).ImportOriginalsOnly = IsItemChecked(ImportOptionToString(ImportOption.OnlyImportOriginals));
+ applicationItem.ImportMameMahjong = IsItemChecked(ImportOptionToString(ImportOption.ImportMahjongGames));
+ applicationItem.ImportMamePlaychoice10 = IsItemChecked(ImportOptionToString(ImportOption.ImportPlaychoiceGames));
}
if ((currentApplication is ApplicationItemGameBase))
{
applicationItem.Source = this.gamebaseDBTextBox.Text;
}
+
}
private void AppFilesView_Load(object sender, EventArgs e)
{
-
-
toolTip.SetToolTip(fileDirTextBox, "Directorys to display in MediaPortal,seperate with ; \r\n(mandatory)");
toolTip.SetToolTip(fileExtensionsTextBox, "Only files with matching extensions will be displayed. \r\nSeparate several extension" +
"s by a ; (.zip;.txt)\r\n(mandatory)");
toolTip.SetToolTip(imageDirsTextBox, "Optional directory where MediaPortal searches for matching images. \r\n MediaPort" +
"al will cycle through all the directories and display a mini-slideshow of all matching images.Separate with a ;");
-
-
}
protected void imageDirButton_Click(object sender, EventArgs e)
@@ -645,10 +701,7 @@
{
//by default "dont show these...
- this.validImagesCheckBox.Visible = false;
- this.importOriginalsCheckBox.Visible = false;
- this.importMahjongCheckBox.Visible = false;
- this.importPlaychoiceCheckBox.Visible = false;
+
this.gamebaseDBTextBox.Visible = false;
this.gamebaseDBButton.Visible = false;
this.gamebaseLabel.Visible = false;
@@ -671,21 +724,19 @@
fileExtensionsTextBox.Text = currentApplication.ValidExtensions;
- if ((currentApplication is ApplicationItemMame) || ((currentApplication is ApplicationItemGameBase)))
+ if ((currentApplication.ImportOptionList != null) && (currentApplication.ImportOptionList.Count > 0))
{
- this.validImagesCheckBox.Visible = true;
- this.validImagesCheckBox.Checked = currentApplication.ImportValidImagesOnly;
+ importOptionsCheckedListBox.Items.Clear();
+ importOptionsCheckedListBox.Visible = true;
+ foreach (ImportOption importOption in currentApplication.ImportOptionList)
+ {
+ importOptionsCheckedListBox.Items.Add(ImportOptionToString(importOption));
+ }
+ CheckImportOption(currentApplication);
}
-
- if ((currentApplication is ApplicationItemMame))
+ else
{
- this.importOriginalsCheckBox.Visible = true;
- this.importMahjongCheckBox.Visible = true;
- this.importPlaychoiceCheckBox.Visible = true;
-
- this.importOriginalsCheckBox.Checked = ((ApplicationItemMame)currentApplication).ImportOriginalsOnly;
- this.importMahjongCheckBox.Checked = currentApplication.ImportMameMahjong;
- this.importPlaychoiceCheckBox.Checked = currentApplication.ImportMamePlaychoice10;
+ importOptionsCheckedListBox.Visible = false;
}
if ((currentApplication is ApplicationItemGameBase))
Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppFilesView.resx
===================================================================
--- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppFilesView.resx 2007-08-11 06:03:06 UTC (rev 827)
+++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppFilesView.resx 2007-08-13 08:55:30 UTC (rev 828)
@@ -175,6 +175,9 @@
<metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>353, 17</value>
</metadata>
+ <metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>353, 17</value>
+ </metadata>
<metadata name="folderBrowserDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>443, 17</value>
</metadata>
Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsBase.Designer.cs
===================================================================
--- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsBase.Designer.cs 2007-08-11 06:03:06 UTC (rev 827)
+++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsBase.Designer.cs 2007-08-13 08:55:30 UTC (rev 828)
@@ -52,9 +52,12 @@
this.openFileDialog = new System.Windows.Forms.OpenFileDialog();
this.folderBrowserDialog = new System.Windows.Forms.FolderBrowserDialog();
this.applicationExeTextBox = new System.Windows.Forms.TextBox();
- this.prePostButton = new System.Windows.Forms.Button();
this.startupDirComboBox = new System.Windows.Forms.ComboBox();
this.pictureBox = new System.Windows.Forms.PictureBox();
+ this.postCommandsLabel = new System.Windows.Forms.Label();
+ this.preCommandTextBox = new System.Windows.Forms.TextBox();
+ this.preCommandsLabel = new System.Windows.Forms.Label();
+ this.postCommandTextBox = new System.Windows.Forms.TextBox();
((System.ComponentModel.ISupportInitialize)(this.pictureBox)).BeginInit();
this.SuspendLayout();
//
@@ -108,7 +111,7 @@
// shellexecuteCheckBox
//
this.shellexecuteCheckBox.AutoSize = true;
- this.shellexecuteCheckBox.Location = new System.Drawing.Point(7, 322);
+ this.shellexecuteCheckBox.Location = new System.Drawing.Point(5, 345);
this.shellexecuteCheckBox.Name = "shellexecuteCheckBox";
this.shellexecuteCheckBox.Size = new System.Drawing.Size(88, 17);
this.shellexecuteCheckBox.TabIndex = 7;
@@ -119,7 +122,7 @@
// waitExitCheckBox
//
this.waitExitCheckBox.AutoSize = true;
- this.waitExitCheckBox.Location = new System.Drawing.Point(7, 368);
+ this.waitExitCheckBox.Location = new System.Drawing.Point(5, 391);
this.waitExitCheckBox.Name = "waitExitCheckBox";
this.waitExitCheckBox.Size = new System.Drawing.Size(82, 17);
this.waitExitCheckBox.TabIndex = 8;
@@ -197,7 +200,7 @@
// quoteCheckBox
//
this.quoteCheckBox.AutoSize = true;
- this.quoteCheckBox.Location = new System.Drawing.Point(7, 299);
+ this.quoteCheckBox.Location = new System.Drawing.Point(5, 322);
this.quoteCheckBox.Name = "quoteCheckBox";
this.quoteCheckBox.Size = new System.Drawing.Size(102, 17);
this.quoteCheckBox.TabIndex = 19;
@@ -227,7 +230,7 @@
// allowRefreshCheckBox
//
this.allowRefreshCheckBox.AutoSize = true;
- this.allowRefreshCheckBox.Location = new System.Drawing.Point(7, 345);
+ this.allowRefreshCheckBox.Location = new System.Drawing.Point(5, 368);
this.allowRefreshCheckBox.Name = "allowRefreshCheckBox";
this.allowRefreshCheckBox.Size = new System.Drawing.Size(154, 17);
this.allowRefreshCheckBox.TabIndex = 30;
@@ -255,16 +258,6 @@
this.applicationExeTextBox.TabIndex = 32;
this.applicationExeTextBox.TextChanged += new System.EventHandler(this.applicationExeTextBox_TextChanged);
//
- // prePostButton
- //
- this.prePostButton.Location = new System.Drawing.Point(7, 448);
- this.prePostButton.Name = "prePostButton";
- this.prePostButton.Size = new System.Drawing.Size(85, 56);
- this.prePostButton.TabIndex = 34;
- this.prePostButton.Text = "Configure pre/post commands";
- this.prePostButton.UseVisualStyleBackColor = true;
- this.prePostButton.Click += new System.EventHandler(this.prePostButton_Click);
- //
// startupDirComboBox
//
this.startupDirComboBox.FormattingEnabled = true;
@@ -277,20 +270,57 @@
//
this.pictureBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.pictureBox.InitialImage = null;
- this.pictureBox.Location = new System.Drawing.Point(248, 299);
+ this.pictureBox.Location = new System.Drawing.Point(248, 322);
this.pictureBox.Name = "pictureBox";
this.pictureBox.Size = new System.Drawing.Size(170, 170);
this.pictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox.TabIndex = 37;
this.pictureBox.TabStop = false;
//
+ // postCommandsLabel
+ //
+ this.postCommandsLabel.Location = new System.Drawing.Point(2, 257);
+ this.postCommandsLabel.Name = "postCommandsLabel";
+ this.postCommandsLabel.Size = new System.Drawing.Size(85, 20);
+ this.postCommandsLabel.TabIndex = 40;
+ this.postCommandsLabel.Text = "PostCommands";
+ this.postCommandsLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ //
+ // preCommandTextBox
+ //
+ this.preCommandTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.preCommandTextBox.Location = new System.Drawing.Point(93, 231);
+ this.preCommandTextBox.Name = "preCommandTextBox";
+ this.preCommandTextBox.Size = new System.Drawing.Size(325, 20);
+ this.preCommandTextBox.TabIndex = 39;
+ //
+ // preCommandsLabel
+ //
+ this.preCommandsLabel.Location = new System.Drawing.Point(2, 231);
+ this.preCommandsLabel.Name = "preCommandsLabel";
+ this.preCommandsLabel.Size = new System.Drawing.Size(93, 20);
+ this.preCommandsLabel.TabIndex = 38;
+ this.preCommandsLabel.Text = "PreCommands:";
+ this.preCommandsLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ //
+ // postCommandTextBox
+ //
+ this.postCommandTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.postCommandTextBox.Location = new System.Drawing.Point(93, 257);
+ this.postCommandTextBox.Name = "postCommandTextBox";
+ this.postCommandTextBox.Size = new System.Drawing.Size(325, 20);
+ this.postCommandTextBox.TabIndex = 41;
+ //
// AppSettingsBase
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.postCommandTextBox);
+ this.Controls.Add(this.postCommandsLabel);
+ this.Controls.Add(this.preCommandTextBox);
+ this.Controls.Add(this.preCommandsLabel);
this.Controls.Add(this.pictureBox);
this.Controls.Add(this.startupDirComboBox);
- this.Controls.Add(this.prePostButton);
this.Controls.Add(this.applicationExeTextBox);
this.Controls.Add(this.informationLabel);
this.Controls.Add(this.allowRefreshCheckBox);
@@ -343,8 +373,11 @@
protected System.Windows.Forms.FolderBrowserDialog folderBrowserDialog;
protected System.Windows.Forms.OpenFileDialog openFileDialog;
protected System.Windows.Forms.TextBox applicationExeTextBox;
- protected System.Windows.Forms.Button prePostButton;
protected System.Windows.Forms.ComboBox startupDirComboBox;
private System.Windows.Forms.PictureBox pictureBox;
+ protected System.Windows.Forms.Label postCommandsLabel;
+ protected System.Windows.Forms.TextBox preCommandTextBox;
+ protected System.Windows.Forms.Label preCommandsLabel;
+ protected System.Windows.Forms.TextBox postCommandTextBox;
}
}
\ No newline at end of file
Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsBase.cs
===================================================================
--- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsBase.cs 2007-08-11 06:03:06 UTC (rev 827)
+++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsBase.cs 2007-08-13 08:55:30 UTC (rev 828)
@@ -43,9 +43,6 @@
{
public partial class AppSettingsBase : SettingsBase
{
- string preLaunch = string.Empty;
- string postLaunch = string.Empty;
-
public AppSettingsBase()
{
InitializeComponent();
@@ -62,8 +59,8 @@
applicationExeTextBox.Text = curApp.Filename;
applicationArgumentsTextBox.Text = curApp.Arguments;
// Pre-Post-Launch
- preLaunch = curApp.PreLaunch;
- postLaunch = curApp.PostLaunch;
+ preCommandTextBox.Text = curApp.PreLaunch;
+ postCommandTextBox.Text = curApp.PostLaunch;
// ProcessWindowStyle
// The enumerator ProcessWindowStyle has these items:
//Normal = 0,
@@ -92,8 +89,8 @@
curApp.Filename = applicationExeTextBox.Text;
curApp.Arguments = applicationArgumentsTextBox.Text;
// Pre-Post-Launch
- curApp.PreLaunch = preLaunch;
- curApp.PostLaunch = postLaunch;
+ curApp.PreLaunch = preCommandTextBox.Text;
+ curApp.PostLaunch = postCommandTextBox.Text;
// ProcessWindowStyle
curApp.WindowStyle = (ProcessWindowStyle)winStyleComboBox.SelectedIndex;
@@ -127,7 +124,9 @@
toolTip.SetToolTip(enabledCheckbox, "Only enabled items will appear in MediaPortal");
toolTip.SetToolTip(applicationExeTextBox, "Program you wish to execute, include the full path (mandatory if ShellExecute is " + "OFF)");
toolTip.SetToolTip(allowRefreshCheckBox, "Check this if users can run the import through the REFRESH button in MediaPortal.");
- toolTip.SetToolTip(prePostButton, "Configure an command to run as pre or post of the main filelaunching ie explorer; joy2key; etc .Separate with ;.");
+ toolTip.SetToolTip(this.preCommandTextBox, "Configure an command to run as pre of the main filelaunching ie explorer; joy2key; etc .Separate with ;.");
+ toolTip.SetToolTip(postCommandTextBox, "Configure an command to run as post of the main filelaunching ie explorer; joy2key; etc .Separate with ;.");
+
}
@@ -161,22 +160,6 @@
}
}
- private void prePostButton_Click(object sender, EventArgs e)
- {
- using (AppSettingsPrePost prePostForm = new AppSettingsPrePost())
- {
- prePostForm.Title = titleTextBox.Text;
- prePostForm.PreLaunch = this.preLaunch;
- prePostForm.PostLaunch = this.postLaunch;
- DialogResult dialogResult = prePostForm.ShowDialog(this);
- if (dialogResult == DialogResult.OK)
- {
- this.preLaunch = prePostForm.PreLaunch;
- this.postLaunch = prePostForm.PostLaunch;
- }
- }
- }
-
private void shellexecuteCheckBox_CheckedChanged(object sender, EventArgs e)
{
if (this.shellexecuteCheckBox.Checked)
Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsDirCache.Designer.cs
===================================================================
--- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsDirCache.Designer.cs 2007-08-11 06:03:06 UTC (rev 827)
+++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsDirCache.Designer.cs 2007-08-13 08:55:30 UTC (rev 828)
@@ -80,7 +80,7 @@
//
this.platformComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.platformComboBox.FormattingEnabled = true;
- this.platformComboBox.Location = new System.Drawing.Point(93, 231);
+ this.platformComboBox.Location = new System.Drawing.Point(93, 286);
this.platformComboBox.Name = "platformComboBox";
this.platformComboBox.Size = new System.Drawing.Size(325, 21);
this.platformComboBox.TabIndex = 42;
@@ -89,7 +89,7 @@
//
this.platformLabel.AutoSize = true;
this.platformLabel.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
- this.platformLabel.Location = new System.Drawing.Point(2, 234);
+ this.platformLabel.Location = new System.Drawing.Point(2, 289);
this.platformLabel.Name = "platformLabel";
this.platformLabel.Size = new System.Drawing.Size(84, 13);
this.platformLabel.TabIndex = 41;
@@ -103,6 +103,10 @@
this.Controls.Add(this.platformLabel);
this.Name = "AppSettingsDirCache";
this.Load += new System.EventHandler(this.AppSettingsDirCache_Load);
+ this.Controls.SetChildIndex(this.preCommandsLabel, 0);
+ this.Controls.SetChildIndex(this.preCommandTextBox, 0);
+ this.Controls.SetChildIndex(this.postCommandsLabel, 0);
+ this.Controls.SetChildIndex(this.postCommandTextBox, 0);
this.Controls.SetChildIndex(this.enabledCheckbox, 0);
this.Controls.SetChildIndex(this.titleLabel, 0);
this.Controls.SetChildIndex(this.applicationExeLabel, 0);
@@ -123,7 +127,6 @@
this.Controls.SetChildIndex(this.allowRefreshCheckBox, 0);
this.Controls.SetChildIndex(this.informationLabel, 0);
this.Controls.SetChildIndex(this.applicationExeTextBox, 0);
- this.Controls.SetChildIndex(this.prePostButton, 0);
this.Controls.SetChildIndex(this.startupDirComboBox, 0);
this.Controls.SetChildIndex(this.platformLabel, 0);
this.Controls.SetChildIndex(this.platformComboBox, 0);
Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsDirCache.cs
===================================================================
--- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsDirCache.cs 2007-08-11 06:03:06 UTC (rev 827)
+++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsDirCache.cs 2007-08-13 08:55:30 UTC (rev 828)
@@ -45,20 +45,26 @@
InitializeComponent();
}
- public override void LoadSettings(ApplicationItem curApp)
+ public override void LoadSettings(ApplicationItem applicationItem)
{
ProgramUtils.FillComboBox("tblPlatform", "platform", platformComboBox);
- base.LoadSettings(curApp);
+ base.LoadSettings(applicationItem);
- startupDirComboBox.Text = curApp.StartupDir;
- shellexecuteCheckBox.Checked = curApp.UseShellExecute;
- quoteCheckBox.Checked = curApp.UseQuotes;
- waitExitCheckBox.Checked = (curApp.WaitForExit);
- allowRefreshCheckBox.Checked = curApp.RefreshGUIAllowed;
- if (curApp.PlatformId != 0)
+ startupDirComboBox.Text = applicationItem.StartupDir;
+ shellexecuteCheckBox.Checked = applicationItem.UseShellExecute;
+ quoteCheckBox.Checked = applicationItem.UseQuotes;
+ waitExitCheckBox.Checked = (applicationItem.WaitForExit);
+ allowRefreshCheckBox.Checked = applicationItem.RefreshGUIAllowed;
+ if (applicationItem.PlatformId != 0)
{
- platformComboBox.SelectedValue = curApp.PlatformId;
+ platformComboBox.SelectedValue = applicationItem.PlatformId;
}
+
+ if((applicationItem.Title != "") && (applicationItem.Title != "New item"))
+ {
+ informationLabel.Text = applicationItem.Title;
+
+ }
}
public override void SaveSettings(ApplicationItem curApp)
Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsGamebase.Designer.cs
===================================================================
--- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsGamebase.Designer.cs 2007-08-11 06:03:06 UTC (rev 827)
+++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsGamebase.Designer.cs 2007-08-13 08:55:30 UTC (rev 828)
@@ -92,10 +92,7 @@
this.informationLabel.Click += new System.EventHandler(this.informationLabel_Click);
this.informationLabel.MouseEnter += new System.EventHandler(this.informationLabel_MouseEnter);
//
- // prePostButton
//
- this.prePostButton.Location = new System.Drawing.Point(4, 419);
- //
// AppSettingsGamebase
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsGamebase.cs
===================================================================
--- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsGamebase.cs 2007-08-11 06:03:06 UTC (rev 827)
+++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsGamebase.cs 2007-08-13 08:55:30 UTC (rev 828)
@@ -51,7 +51,7 @@
base.LoadSettings(curApp);
this.startupDirComboBox.Text = curApp.StartupDir;
- this.quoteCheckBox.Checked = true; //(curApp.UseQuotes);
+ this.quoteCheckBox.Checked = true; //(applicationItem.UseQuotes);
this.waitExitCheckBox.Checked = (curApp.WaitForExit);
this.allowRefreshCheckBox.Checked = curApp.RefreshGUIAllowed;
}
Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsGrouper.cs
===================================================================
--- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsGrouper.cs 2007-08-11 06:03:06 UTC (rev 827)
+++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsGrouper.cs 2007-08-13 08:55:30 UTC (rev 828)
@@ -80,8 +80,10 @@
waitExitCheckBox.Visible = false;
shellexecuteCheckBox.Visible = false;
informationLabel.Visible = false;
-
- prePostButton.Visible = false;
+ preCommandsLabel.Visible = false;
+ preCommandTextBox.Visible = false;
+ postCommandsLabel.Visible = false;
+ postCommandTextBox.Visible = false;
}
}
}
\ No newline at end of file
Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsMame.Designer.cs
===================================================================
--- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsMame.Designer.cs 2007-08-11 06:03:06 UTC (rev 827)
+++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsMame.Designer.cs 2007-08-13 08:55:30 UTC (rev 828)
@@ -35,7 +35,6 @@
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
-
// enabledCheckbox
//
this.toolTip.SetToolTip(this.enabledCheckbox, "Only enabled items will appear in MediaPortal");
@@ -114,14 +113,13 @@
this.catverLink.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.catverLink.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.catverLink_LinkClicked);
//
-
// groupBox1
//
this.groupBox1.Controls.Add(this.historyDatLink);
this.groupBox1.Controls.Add(this.catverLink);
- this.groupBox1.Location = new System.Drawing.Point(232, 405);
+ this.groupBox1.Location = new System.Drawing.Point(5, 448);
this.groupBox1.Name = "groupBox1";
- this.groupBox1.Size = new System.Drawing.Size(226, 117);
+ this.groupBox1.Size = new System.Drawing.Size(226, 87);
this.groupBox1.TabIndex = 82;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Add CATVER.INI and HISTORY.DAT in your mame.exe folder for full dataimport";
@@ -133,7 +131,10 @@
this.Controls.Add(this.groupBox1);
this.Name = "AppSettingsMame";
this.Load += new System.EventHandler(this.AppSettingsMameDirect_Load);
- this.Controls.SetChildIndex(this.prePostButton, 0);
+ this.Controls.SetChildIndex(this.preCommandsLabel, 0);
+ this.Controls.SetChildIndex(this.preCommandTextBox, 0);
+ this.Controls.SetChildIndex(this.postCommandsLabel, 0);
+ this.Controls.SetChildIndex(this.postCommandTextBox, 0);
this.Controls.SetChildIndex(this.informationLabel, 0);
this.Controls.SetChildIndex(this.enabledCheckbox, 0);
this.Controls.SetChildIndex(this.titleLabel, 0);
Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsMame.cs
===================================================================
--- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsMame.cs 2007-08-11 06:03:06 UTC (rev 827)
+++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsMame.cs 2007-08-13 08:55:30 UTC (rev 828)
@@ -92,7 +92,11 @@
shellexecuteCheckBox.Visible = false;
this.enabledCheckbox.Checked = true;
- this.prePostButton.Visible = false;
+
+ preCommandsLabel.Visible = false;
+ preCommandTextBox.Visible = false;
+ postCommandsLabel.Visible = false;
+ postCommandTextBox.Visible = false;
}
private void informationLabel_Click(object sender, EventArgs e)
Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsMame.resx
===================================================================
--- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsMame.resx 2007-08-11 06:03:06 UTC (rev 827)
+++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppSettingsMame.resx 2007-08-13 08:55:30 UTC (rev 828)
@@ -123,97 +123,384 @@
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="informationLabel.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
- /9j/4AAQSkZJRgABAQEASABIAAD/4QAWRXhpZgAATU0AKgAAAAgAAAAAAAD/2wBDAAUDBAQEAwUEBAQF
- BQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUF
- BQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4e
- Hh7/wAARCABLAOEDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAA
- AgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRol
- JicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZ
- mqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QA
- HwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
- BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RV
- VldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPE
- xcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD4yooooAKKKKACiiig
- AorpJPCN/beCz4nvT5EMkqJbRFfmlDZ+f2Xjj1+grm6ucJQtzLciFSM78rvbQKK6PwH4S1DxZq32S0/c
- 20eDc3TD5IVJ/Vj0C9z7AkYV7GsV3NEmSqOygnqQDQ6clFTa0YKpFzcE9UQ0UUVBYUV1HhvwdfaroGpa
- 9KxttPs4JHR2XJndR91R6A4yeg6dTXL1cqcopNrciNSM21F7bhRRRUFhRWz4Q8Oaj4n1hNO05BnG6WZ+
- EhTPLMfT9ScAcmqniCyXTdbvtPSQyrbXDwhyuCwViM47dKv2cuXntoR7SLnyX13KNFORWdgqgsxOAB1J
- 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
- FFABRRRQAUUUUAFFFFABRRRQAUUUUAf/2Q==
+ Qk1+WAAAAAAAADYAAAAoAAAAlgAAADIAAAABABgAAAAAAAAAAAATCwAAEwsAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB
+ AAABAAABAAAAAAAAAAAAAAAAAgAAAwAAAwAABAEAAwEAAwEAAwEAAwEAAwEAAwEAAQEAAQEAAQAAAAEB
+ AAEAAAIAAAIAAQEABAEABgAACQAACAAABQAABAACAgAEAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAEAAAACAAADAQAEAQAE
+ AQABAAABAAEBAAECAAACAAABAAAAAAEAAAIAAAIAAAQAAAIAAQEAAAIBAAIEAAEGAAAIAAAHAAAFAAAD
+ AAEBAAQAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAQAAAQEBAgICAgIAAAcEAgcBAAoFAQMBAwMCBAQDAwYDAQsHBwYDAgUCBAQCAwIC
+ BQEABQICBQABBQAABwEBCwEACAMABQMAAAMBAAEBAAAAAAAAAgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAABAAACAQECAQEBBQMBBQEA
+ Ew0IEAkEFAkAGg0AFwYAHgwAHgsBHgsBGwgAHwwAGwsAGgsADAQBAgIBAQAFAQALAAALAAAHAAABAAIA
+ AAIAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAABAAABAAAAAAAAAAEAAAIBAQMCAgIFAgELBgJEPDOBc2GRdEWlg02vilKqg0ayiUqyh0iyh0eu
+ hUapgEOddjpELAkTCQALAwAHAQQDAQsBAQoAAQIAAwAABAAAAgABAAABAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAQAAAgEBAwICAgQB
+ AAsFARcOB1lKM6SCQ7qSRteqXN6uXN+uV96rU9yoUOCsVN2rVdqqVZd1Mz4uCBQHABAEAQMABAABBwAA
+ AgACAAACAAEAAAQAAQMAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ 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
+ cW9pZmZhAQECdnh5m52eS01OAgIDAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAACAA0DAAsFAAYEAAQBAAEAAgAIEgwECwcRFRcCAQcJCQgGCwQOEQoAAQEOChQI
+ Aw4FAQoLBg0eGR4UDxQGAgUVEg8HBQAOCwcbGBULCQgEAgMQDQ8BAQMDBQkICxAbHSAWDgsIBAMEBAMQ
+ CgBmTiamfzy8izfcqlPbqFDcqU7TpEvTqE3WqUnUp0bTq1SnhkY9KQwRBgIFAQUSDhUHAgUGAggQCxMg
+ GiAKBQkEAAEOCwsXFxYFBQQAAwAGCQYHCwkDAQEKBQYeGRoOCQoGAQILBwgiHR4TDg8GAQIFAAEFBAMK
+ DAkIDQgNFA4FCgQDAwESDAsPBQUKAQMHAgQXFRkDAwsAAAgREhgHBwgKCAYNCgYQDAcJBQMSDw8ICQ0I
+ Cg4LBgYUDg4eGRkMBwcLBgUIAgEMBQUZEhEfGhkLBQYLBgYTDg0VEA8QCwoNCAYQCwsPCgoMBwYOCQgL
+ BgYHAwEDAwADBQQKCw8EBAwCAgodGCAdFBgMAgILAwEdGRYIBwUFBgUQEBAWFhYHBwcDAwMCAgMAAAEA
+ AAEAAAEAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEABgMABAQAAgQBAAEB
+ AAADAAEFAwIGBQMCBQoCCAcCAgMEAQcHCAcDCgQCCwUBCwMBBwICBQIBAgMFBgABAgECAQUEAQgGAwoG
+ BAgEAwUBAgYDBQEBBAEBBAMDBQUEBgUEBgUFCAUGBgcEAhwPBWlQKaqDQLyMO+CrUtimTNirVdCmTtan
+ RtyqRNipR8+nVZJ3QTspDhAFAQcAAgsGCQQDBAICAwEBAgQCAwUCAgUCAgcDAwoGBgUCAgcEAgcEAwcD
+ AwkFBAQAAAgEBAUBAQcDAggEAwgEAwYCAgYBAgQDAgIFAwMGAwEDAQEFAwMDAQcDAAoDAgoCAwUAAQMC
+ BgEBBgEBBAMDBAUEBAUDAgYDAgcGBQUCAgoGBwYDAwUCAQQCBAMCBQMCBAUDBAYCAwkFBQYCAg4JCgQB
+ AwMBBAMBAwgHCAIAAgcGCAQCAwUFBgMBAwMBAgYGBgMBAwcGBwEBAAIFBAECBQEDCQIDCQYDCAYBAwkE
+ BQQBBAEBBQEDCAAAAgMDAwMDAwICAgcHBwAAAAAAAAAAAQAAAQAAAQAAAQAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAIAAAMAAQMAAgMAAgIAAwQDAwEBBwEAEwYCFgIAFwUAEAUAEgUBDwIA
+ EAQBDgUACgYABQcAAgUAAgUAAAQDAAMDAAEBAQAABQIBBAEBAwACAwECBgIDCAMBGBAJCQMAAAAHAQEH
+ CAUFBgMDBgUDDAUAZ1AspH9Au4o42qhT0qRN1adQ2ahN2KVD26hG06RGzaZXp4lOOSUKFAkABwIAAgMB
+ AAMAAAEAAQMCAAICAwEBBgEADQIBEwUAGQcBFQMAEwcAFAkAFgwAEggAGA0CEwgAEQcAEwgAEgcAFAkA
+ CwYAAgIBAgQEAgMGAAIFAAECBAIBBAEACAQDAwECAgIFCgYCEAkDCQMABwMAAQEBAQIHAQMJAAEGBQEB
+ EAUBDwMABwMABQIBCAQACQQACwUBCgIADQUCCgUCCQMACAIACQUCBgQCBwMBBQIACQYDBgMBBgIACAQC
+ BQMBBgMBBgIACAMACgMADgkFBgQACwkCCQYACQYACQUCAwIDAQILAAALAgIEAgEBBQQEAwICAQEBAQEB
+ AAAAAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAC
+ AgACAAADAQEbFBJANCpMOiBWPhxSOBNMNBVRNxdSORdOOBFNPBFJPRRFPhglIgsJCAAEAgAAAQMAAQQA
+ AAEEAgICAAECAQMDAgMHAgETCAFlUzwoGAgEAwQBAQQEAwEEAQEAAQMDAwQZEAZkTSmthUK/jz7ap07a
+ pk/YpU/XpU3VpUnWpUXTpEbQqFWRdTg7KQkMBgADBAEAAwEAAgIAAQQAAQQFAgUJAwEeDwdTPidrUDVw
+ UjJrUi1qUyxqUyxpUitpUStpUitlTiloUSlnTypkTSUsHAgJBAACAAEBAwcAAAcAAQYAAAEBAgABAgAA
+ AQABAAEqHxFPPSQZCgAPBgAIBQUAAAgAAAsCAwwGAwUsHRNoVUNIOSBAMBdFNBZFMhNNORtMNxlKNRdJ
+ NRZINBdHNBhGNBhGNBlGNBlHNRpHNRpHNRpGNBlGNBlGNBlGNBlINRpHMRlHMBhFMhdDNRRCNhJBNg5C
+ NxQ1KxEUDQEJBggAAAcCAQEFAwIEAgEDAQEBAQEBAQEAAAAAAAAAAAEAAAEAAAEAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAAABAAAAAAAAAgUCBA0FAT8yIZiFVZqCP9S0ZeK8beK6
+ aOG3YuW+ZOG9YNq6YdO3a5+GTU41FR8IAAkBAQAAAwEAAQEAAAECBAAABQAAAgcDABcIAaOHXYBjNCQW
+ AwsGAAQBAAEAAAABAgABBQQEBA4HAW9VK55xJ9+nS92nTtikUtSiVNKjUNSlSdelQdGiP9CqWKSHST8u
+ DhAGAAcDBAEABAAACQAACgIBBQkEAC4fDopxQ6qJScKaUsidU8idU8idU8ecUsabUcWZUMKXTcSZUL6T
+ ScSZUJp5QzolDxQHAgkDAgECBwECBwAAAgACAAADAAABAAIBATQkCaSIWV5EISAOAA8GAAICBgABCwAB
+ DAMBBBcMA1xGLZ97Qpx2NbGJRbiMRrOGPrSIPraJQLSIP7GGQK+GQK+FQK+GQa+GQa+FQK2FQK2EP6yD
+ PqyCPauCPaqBPKqAPKp+Q6h+RaZ/QqOAPqKCPKKFPJ2BPaaKU...
[truncated message content] |