From: <du...@us...> - 2007-03-10 08:27:45
|
Revision: 172 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=172&view=rev Author: dukus Date: 2007-03-10 00:27:43 -0800 (Sat, 10 Mar 2007) Log Message: ----------- Language strings full support Group properties Control panel improvement Modified Paths: -------------- trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs trunk/plugins/mpinstaler/MPInstaler/Form1.cs trunk/plugins/mpinstaler/MPInstaler/Language dialog.cs trunk/plugins/mpinstaler/MPInstaler/MPinstalerStruct.cs trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.Designer.cs trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.cs trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.resx trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.cs trunk/plugins/mpinstaler/MPInstaler.suo Added Paths: ----------- trunk/plugins/mpinstaler/MPInstaler/application.ico Modified: trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs 2007-03-09 17:26:16 UTC (rev 171) +++ trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs 2007-03-10 08:27:43 UTC (rev 172) @@ -77,6 +77,8 @@ this.label1 = new System.Windows.Forms.Label(); this.tabPage_Language = new System.Windows.Forms.TabPage(); this.tabPage_Proiect = new System.Windows.Forms.TabPage(); + this.label9 = new System.Windows.Forms.Label(); + this.proiectt_textBox5 = new System.Windows.Forms.TextBox(); this.proiectt_textBox4 = new System.Windows.Forms.TextBox(); this.label5 = new System.Windows.Forms.Label(); this.proiectt_textBox3 = new System.Windows.Forms.TextBox(); @@ -91,8 +93,8 @@ this.tabPage_Other = new System.Windows.Forms.TabPage(); this.othert_comboBox1 = new System.Windows.Forms.ComboBox(); this.label8 = new System.Windows.Forms.Label(); - this.proiectt_textBox5 = new System.Windows.Forms.TextBox(); - this.label9 = new System.Windows.Forms.Label(); + this.label10 = new System.Windows.Forms.Label(); + this.proiectt_textBox6 = new System.Windows.Forms.TextBox(); this.menuStrip1.SuspendLayout(); this.contextMenuStrip1.SuspendLayout(); this.tabPage_Skin.SuspendLayout(); @@ -172,6 +174,7 @@ // // optionsToolStripMenuItem // + this.optionsToolStripMenuItem.Enabled = false; this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem"; this.optionsToolStripMenuItem.Size = new System.Drawing.Size(168, 22); this.optionsToolStripMenuItem.Text = "Options"; @@ -187,6 +190,7 @@ this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; this.exitToolStripMenuItem.Size = new System.Drawing.Size(168, 22); this.exitToolStripMenuItem.Text = "Exit"; + this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); // // addToolStripMenuItem // @@ -211,7 +215,7 @@ this.tagReadersToolStripMenuItem, this.externalPlayersToolStripMenuItem}); this.windowPluginToolStripMenuItem.Name = "windowPluginToolStripMenuItem"; - this.windowPluginToolStripMenuItem.Size = new System.Drawing.Size(132, 22); + this.windowPluginToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.windowPluginToolStripMenuItem.Text = "Plugin"; // // windowToolStripMenuItem @@ -256,7 +260,7 @@ this.mediaToolStripMenuItem, this.fullToolStripMenuItem}); this.skinToolStripMenuItem.Name = "skinToolStripMenuItem"; - this.skinToolStripMenuItem.Size = new System.Drawing.Size(132, 22); + this.skinToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.skinToolStripMenuItem.Text = "Skin"; // // componentToolStripMenuItem @@ -284,34 +288,35 @@ // languageToolStripMenuItem // this.languageToolStripMenuItem.Name = "languageToolStripMenuItem"; - this.languageToolStripMenuItem.Size = new System.Drawing.Size(132, 22); + this.languageToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.languageToolStripMenuItem.Text = "Language"; this.languageToolStripMenuItem.Click += new System.EventHandler(this.languageToolStripMenuItem_Click); // // textToolStripMenuItem // this.textToolStripMenuItem.Name = "textToolStripMenuItem"; - this.textToolStripMenuItem.Size = new System.Drawing.Size(132, 22); + this.textToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.textToolStripMenuItem.Text = "Text"; this.textToolStripMenuItem.Click += new System.EventHandler(this.textToolStripMenuItem_Click); // // settingsToolStripMenuItem // + this.settingsToolStripMenuItem.Enabled = false; this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem"; - this.settingsToolStripMenuItem.Size = new System.Drawing.Size(132, 22); + this.settingsToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.settingsToolStripMenuItem.Text = "Settings"; // // textToolStripMenuItem1 // this.textToolStripMenuItem1.Name = "textToolStripMenuItem1"; - this.textToolStripMenuItem1.Size = new System.Drawing.Size(132, 22); + this.textToolStripMenuItem1.Size = new System.Drawing.Size(152, 22); this.textToolStripMenuItem1.Text = "Thumbs"; this.textToolStripMenuItem1.Click += new System.EventHandler(this.textToolStripMenuItem1_Click); // // otherToolStripMenuItem // this.otherToolStripMenuItem.Name = "otherToolStripMenuItem"; - this.otherToolStripMenuItem.Size = new System.Drawing.Size(132, 22); + this.otherToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.otherToolStripMenuItem.Text = "Other"; this.otherToolStripMenuItem.Click += new System.EventHandler(this.otherToolStripMenuItem_Click); // @@ -494,6 +499,8 @@ // // tabPage_Proiect // + this.tabPage_Proiect.Controls.Add(this.proiectt_textBox6); + this.tabPage_Proiect.Controls.Add(this.label10); this.tabPage_Proiect.Controls.Add(this.label9); this.tabPage_Proiect.Controls.Add(this.proiectt_textBox5); this.tabPage_Proiect.Controls.Add(this.proiectt_textBox4); @@ -511,11 +518,29 @@ this.tabPage_Proiect.Text = "Proiect Properties"; this.tabPage_Proiect.UseVisualStyleBackColor = true; // + // label9 + // + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(395, 5); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(66, 13); + this.label9.TabIndex = 9; + this.label9.Text = "Description :"; + // + // proiectt_textBox5 + // + this.proiectt_textBox5.Location = new System.Drawing.Point(398, 21); + this.proiectt_textBox5.Multiline = true; + this.proiectt_textBox5.Name = "proiectt_textBox5"; + this.proiectt_textBox5.Size = new System.Drawing.Size(229, 84); + this.proiectt_textBox5.TabIndex = 8; + this.proiectt_textBox5.TextChanged += new System.EventHandler(this.proiectt_textBox1_TextChanged); + // // proiectt_textBox4 // this.proiectt_textBox4.Location = new System.Drawing.Point(94, 85); this.proiectt_textBox4.Name = "proiectt_textBox4"; - this.proiectt_textBox4.Size = new System.Drawing.Size(298, 20); + this.proiectt_textBox4.Size = new System.Drawing.Size(76, 20); this.proiectt_textBox4.TabIndex = 7; this.proiectt_textBox4.TextChanged += new System.EventHandler(this.proiectt_textBox1_TextChanged); // @@ -652,23 +677,22 @@ this.label8.TabIndex = 0; this.label8.Text = "Directory (relative) :"; // - // proiectt_textBox5 + // label10 // - this.proiectt_textBox5.Location = new System.Drawing.Point(398, 21); - this.proiectt_textBox5.Multiline = true; - this.proiectt_textBox5.Name = "proiectt_textBox5"; - this.proiectt_textBox5.Size = new System.Drawing.Size(229, 84); - this.proiectt_textBox5.TabIndex = 8; - this.proiectt_textBox5.TextChanged += new System.EventHandler(this.proiectt_textBox1_TextChanged); + this.label10.AutoSize = true; + this.label10.Location = new System.Drawing.Point(176, 92); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(42, 13); + this.label10.TabIndex = 10; + this.label10.Text = "Group :"; // - // label9 + // proiectt_textBox6 // - this.label9.AutoSize = true; - this.label9.Location = new System.Drawing.Point(395, 5); - this.label9.Name = "label9"; - this.label9.Size = new System.Drawing.Size(66, 13); - this.label9.TabIndex = 9; - this.label9.Text = "Description :"; + this.proiectt_textBox6.Location = new System.Drawing.Point(224, 85); + this.proiectt_textBox6.Name = "proiectt_textBox6"; + this.proiectt_textBox6.Size = new System.Drawing.Size(168, 20); + this.proiectt_textBox6.TabIndex = 11; + this.proiectt_textBox6.TextChanged += new System.EventHandler(this.proiectt_textBox1_TextChanged); // // Form1 // @@ -767,6 +791,8 @@ private System.Windows.Forms.Label label8; private System.Windows.Forms.Label label9; private System.Windows.Forms.TextBox proiectt_textBox5; + private System.Windows.Forms.TextBox proiectt_textBox6; + private System.Windows.Forms.Label label10; } } Modified: trunk/plugins/mpinstaler/MPInstaler/Form1.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/Form1.cs 2007-03-09 17:26:16 UTC (rev 171) +++ trunk/plugins/mpinstaler/MPInstaler/Form1.cs 2007-03-10 08:27:43 UTC (rev 172) @@ -220,6 +220,7 @@ proiectt_textBox3.Text = _struct.UpdateURL; proiectt_textBox4.Text = _struct.Version; proiectt_textBox5.Text = _struct.Description; + proiectt_textBox6.Text = _struct.Group; _loading = false; } @@ -228,6 +229,8 @@ Form2 StrForm = new Form2(); StrForm.Language = _struct.Language; StrForm.ShowDialog(); + LanguageStringComparer lsc = new LanguageStringComparer(); + StrForm.Language.Sort(lsc); _struct.Language = StrForm.Language; } @@ -239,6 +242,7 @@ private void buildToolStripMenuItem_Click(object sender, EventArgs e) { + sToolStripMenuItem_Click(sender, e); Build_dialog buildfrm = new Build_dialog(this._struct); buildfrm.ShowDialog(); this._struct = buildfrm._struct; @@ -422,6 +426,7 @@ _struct.UpdateURL = proiectt_textBox3.Text; _struct.Version = proiectt_textBox4.Text; _struct.Description = proiectt_textBox5.Text; + _struct.Group = proiectt_textBox6.Text; ; } } @@ -430,6 +435,11 @@ addother(MPinstalerStruct.OTHER_TYPE, ""); } + private void exitToolStripMenuItem_Click(object sender, EventArgs e) + { + this.Close(); + } + } } \ No newline at end of file Modified: trunk/plugins/mpinstaler/MPInstaler/Language dialog.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/Language dialog.cs 2007-03-09 17:26:16 UTC (rev 171) +++ trunk/plugins/mpinstaler/MPInstaler/Language dialog.cs 2007-03-10 08:27:43 UTC (rev 172) @@ -105,9 +105,9 @@ private void button3_Click(object sender, EventArgs e) { + Language.Clear(); for(int i=0;i<listView1.Items.Count;i++) { - Language.Clear(); Language.Add(new LanguageString(listView1.Items[i].SubItems[2].Text, listView1.Items[i].Text, listView1.Items[i].SubItems[1].Text)); } } Modified: trunk/plugins/mpinstaler/MPInstaler/MPinstalerStruct.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/MPinstalerStruct.cs 2007-03-09 17:26:16 UTC (rev 171) +++ trunk/plugins/mpinstaler/MPInstaler/MPinstalerStruct.cs 2007-03-10 08:27:43 UTC (rev 172) @@ -40,6 +40,7 @@ string _name = string.Empty; string _version = string.Empty; string _description = string.Empty; + string _group = string.Empty; public ArrayList Uninstall = new ArrayList(); public ArrayList FileList = new ArrayList(); @@ -73,6 +74,11 @@ set {_author = value; } } + public string Group + { + get { return _group; } + set { _group = value; } + } public string Description { get { return _description; } @@ -110,7 +116,8 @@ Author = string.Empty; Name = string.Empty; Version = string.Empty; - UpdateURL = string.Empty; + UpdateURL = string.Empty; + Group = string.Empty; } public bool SaveToFile(string fil) @@ -167,7 +174,7 @@ writer.WriteElementString("UpdateURL", this.UpdateURL); writer.WriteElementString("Version", this.Version); writer.WriteElementString("Description", this.Description); - + writer.WriteElementString("Group", this.Group); writer.WriteEndElement(); writer.WriteEndElement(); writer.Flush(); @@ -267,6 +274,9 @@ XmlNode node_des = nodeoption.SelectSingleNode("Description"); if (node_des != null) this._description = node_des.InnerText; + XmlNode node_gr = nodeoption.SelectSingleNode("Group"); + if (node_gr != null) + this.Group = node_gr.InnerText; } public MPIFileList FindList(string typ, string stpy) @@ -493,11 +503,80 @@ public string language; public string mapSting; public string dwCode; + public string prefix; + public string sufix; + public LanguageString(string lang,string dc, string str ) { language = lang; dwCode = dc; mapSting = str; + prefix = string.Empty; + sufix = string.Empty; } + public LanguageString(string lang, string dc, string str, string pre, string su) + { + language = lang; + dwCode = dc; + mapSting = str; + prefix = pre; + sufix = su; + } + public LanguageString() + { + language = string.Empty; + dwCode = string.Empty; + mapSting =string.Empty; + prefix = string.Empty; + sufix = string.Empty; + } } + + public class LanguageStringComparer : IComparer<LanguageString> + { + public int Compare(LanguageString x, LanguageString y) + { + if (x == null) + { + if (y == null) + { + // If x is null and y is null, they're + // equal. + return 0; + } + else + { + // If x is null and y is not null, y + // is greater. + return -1; + } + } + else + { + // If x is not null... + // + if (y == null) + // ...and y is null, x is greater. + { + return 1; + } + else + { + if (x.language.Trim().ToUpper() == y.language.Trim().ToUpper()) + { + if (Convert.ToInt32(x.dwCode) == Convert.ToInt32(y.dwCode)) + return 0; + else if (Convert.ToInt32(x.dwCode) > Convert.ToInt32(y.dwCode)) + return 1; + else return -1; + } + else + { + return (x.language.CompareTo( y.language)); + } + + } + } + } + } } Modified: trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs 2007-03-09 17:26:16 UTC (rev 171) +++ trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs 2007-03-10 08:27:43 UTC (rev 172) @@ -90,6 +90,29 @@ MessageBox.Show(ex.Message); } } + + public void installLanguage(ListBox lb) + { + MPLanguageHelper mpih = new MPLanguageHelper(); + if (this._intalerStruct.Language.Count > 0) + { + LanguageString firstLs = this._intalerStruct.Language[0]; + mpih.Load(firstLs.language); + lb.Items.Add("Adding language :" + firstLs.language); + foreach (LanguageString ls in this._intalerStruct.Language) + { + if (firstLs.language != ls.language) + { + mpih.Language.Sort(new LanguageStringComparer()); + lb.Items.Add("Adding language :" + ls.language); + mpih.Save(); + mpih.Load(ls.language); + } + mpih.Add(ls); + } + mpih.Save(); + } + } public void load() { @@ -173,6 +196,7 @@ } catch (Exception) { + //MessageBox.Show(ex.Message+ex.StackTrace); isValid = false; } } @@ -250,6 +274,7 @@ writer.WriteElementString("Version", it._intalerStruct.Version); writer.WriteElementString("Author", it._intalerStruct.Author); writer.WriteElementString("Description", it._intalerStruct.Description); + writer.WriteElementString("Group", it._intalerStruct.Group); writer.WriteStartElement("Uninstall"); for (int j = 0; j < it._intalerStruct.Uninstall.Count; j++) { @@ -322,6 +347,9 @@ pkg._intalerStruct.Author = nodefile.SelectSingleNode("Author").InnerText; pkg._intalerStruct.Version = nodefile.SelectSingleNode("Version").InnerText; pkg._intalerStruct.UpdateURL = nodefile.SelectSingleNode("URL").InnerText; + XmlNode grup_node = nodefile.SelectSingleNode("Group"); + if (grup_node != null) + pkg._intalerStruct.Group = grup_node.InnerText; XmlNode node_des = nodefile.SelectSingleNode("Description"); XmlNodeList uninstallList = nodefile.SelectNodes("Uninstall/FileInfo"); foreach (XmlNode un in uninstallList) @@ -339,10 +367,134 @@ } - public class MPInstallHelperStruct + public class MPLanguageHelper { - public MPInstallHelperStruct() + public List<LanguageString> Language; + public string iChars; + public string fileName=string.Empty; + public bool isLoaded=false; + Encoding docencoding = null ; + public MPLanguageHelper() { + Language = new List<LanguageString>(); } + public void Add(LanguageString ls) + { + this.Language.Sort(new LanguageStringComparer()); + int idx = -1;// this.Language.BinarySearch(ls, new LanguageStringComparer()); + for (int i = 0; i < this.Language.Count; i++) + if (this.Language[i].dwCode.Trim() == ls.dwCode.Trim()) + { + idx = i; + break; + } + if (idx < 0) + this.Language.Add(ls); + else + { + this.Language[idx].language = ls.language; + this.Language[idx].prefix = ls.prefix; + this.Language[idx].sufix = ls.sufix; + this.Language[idx].mapSting = ls.mapSting; + } + + } + public void Load(string lg) + { + isLoaded = LoadMap(Config.GetFile(Config.Dir.Language, lg + @"\strings.xml")); + fileName = Config.GetFile(Config.Dir.Language, lg + @"\strings.xml"); + } + public void Save() + { + if (isLoaded) + SaveMap(fileName); + } + + public bool SaveMap(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 LoadMap(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; + } + } } } Added: trunk/plugins/mpinstaler/MPInstaler/application.ico =================================================================== (Binary files differ) Property changes on: trunk/plugins/mpinstaler/MPInstaler/application.ico ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.Designer.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.Designer.cs 2007-03-09 17:26:16 UTC (rev 171) +++ trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.Designer.cs 2007-03-10 08:27:43 UTC (rev 172) @@ -28,17 +28,23 @@ /// </summary> private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(controlp)); this.listView1 = new System.Windows.Forms.ListView(); this.columnHeader1 = new System.Windows.Forms.ColumnHeader(); this.columnHeader2 = new System.Windows.Forms.ColumnHeader(); this.columnHeader3 = new System.Windows.Forms.ColumnHeader(); this.columnHeader4 = new System.Windows.Forms.ColumnHeader(); + this.columnHeader9 = new System.Windows.Forms.ColumnHeader(); + this.imageList1 = new System.Windows.Forms.ImageList(this.components); this.button1 = new System.Windows.Forms.Button(); this.button2 = new System.Windows.Forms.Button(); this.button3 = new System.Windows.Forms.Button(); this.button4 = new System.Windows.Forms.Button(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); + this.label2 = new System.Windows.Forms.Label(); + this.comboBox2 = new System.Windows.Forms.ComboBox(); this.linkLabel1 = new System.Windows.Forms.LinkLabel(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.button5 = new System.Windows.Forms.Button(); @@ -63,11 +69,13 @@ this.columnHeader1, this.columnHeader2, this.columnHeader3, - this.columnHeader4}); + this.columnHeader4, + this.columnHeader9}); this.listView1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.listView1.FullRowSelect = true; this.listView1.GridLines = true; this.listView1.HideSelection = false; + this.listView1.LargeImageList = this.imageList1; this.listView1.Location = new System.Drawing.Point(3, 0); this.listView1.MultiSelect = false; this.listView1.Name = "listView1"; @@ -76,6 +84,7 @@ this.listView1.UseCompatibleStateImageBehavior = false; this.listView1.View = System.Windows.Forms.View.Details; this.listView1.SelectedIndexChanged += new System.EventHandler(this.listView1_SelectedIndexChanged); + this.listView1.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.listView1_ColumnClick); // // columnHeader1 // @@ -90,12 +99,23 @@ // columnHeader3 // this.columnHeader3.Text = "Version"; - this.columnHeader3.Width = 202; + this.columnHeader3.Width = 83; // // columnHeader4 // this.columnHeader4.Text = "File"; // + // columnHeader9 + // + this.columnHeader9.Text = "Group"; + this.columnHeader9.Width = 124; + // + // imageList1 + // + this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream"))); + this.imageList1.TransparentColor = System.Drawing.Color.Transparent; + this.imageList1.Images.SetKeyName(0, "application.ico"); + // // button1 // this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); @@ -144,6 +164,9 @@ // // tabControl1 // + this.tabControl1.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))); this.tabControl1.Controls.Add(this.tabPage1); this.tabControl1.Controls.Add(this.tabPage2); this.tabControl1.Location = new System.Drawing.Point(1, 1); @@ -154,6 +177,8 @@ // // tabPage1 // + this.tabPage1.Controls.Add(this.label2); + this.tabPage1.Controls.Add(this.comboBox2); this.tabPage1.Controls.Add(this.linkLabel1); this.tabPage1.Controls.Add(this.listView1); this.tabPage1.Controls.Add(this.button2); @@ -168,8 +193,31 @@ this.tabPage1.Text = "Local"; this.tabPage1.UseVisualStyleBackColor = true; // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(250, 280); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(36, 13); + this.label2.TabIndex = 7; + this.label2.Text = "View :"; + // + // comboBox2 + // + this.comboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox2.FormattingEnabled = true; + this.comboBox2.Items.AddRange(new object[] { + "List", + "Icons"}); + this.comboBox2.Location = new System.Drawing.Point(250, 296); + this.comboBox2.Name = "comboBox2"; + this.comboBox2.Size = new System.Drawing.Size(82, 21); + this.comboBox2.TabIndex = 6; + this.comboBox2.SelectedIndexChanged += new System.EventHandler(this.comboBox2_SelectedIndexChanged); + // // linkLabel1 // + 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, 321); this.linkLabel1.Name = "linkLabel1"; @@ -194,6 +242,7 @@ // // button5 // + this.button5.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.button5.Location = new System.Drawing.Point(10, 286); this.button5.Name = "button5"; this.button5.Size = new System.Drawing.Size(215, 23); @@ -204,6 +253,9 @@ // // listView2 // + this.listView2.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))); this.listView2.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.columnHeader5, this.columnHeader6, @@ -299,5 +351,9 @@ private System.Windows.Forms.ColumnHeader columnHeader7; private System.Windows.Forms.LinkLabel linkLabel1; private System.Windows.Forms.ColumnHeader columnHeader8; + private System.Windows.Forms.ImageList imageList1; + private System.Windows.Forms.ColumnHeader columnHeader9; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.ComboBox comboBox2; } } \ No newline at end of file Modified: trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.cs 2007-03-09 17:26:16 UTC (rev 171) +++ trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.cs 2007-03-10 08:27:43 UTC (rev 172) @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Collections; using System.ComponentModel; using System.IO; using System.Data; @@ -13,7 +14,11 @@ public partial class controlp : Form { public MPInstallHelper lst = new MPInstallHelper(); - public MPInstallHelper lst_online = new MPInstallHelper(); + public MPInstallHelper lst_online = new MPInstallHelper(); + private Hashtable[] groupTables; + int groupColumn = 0; + + public controlp() { InitializeComponent(); @@ -27,6 +32,7 @@ private void controlp_Load(object sender, EventArgs e) { listView1.Items.Clear(); + listView1.Sorting = SortOrder.Ascending; lst.LoadFromFile(); LoadToListview(); } @@ -50,22 +56,133 @@ 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 }); } + InitGroups(lv); + SetGroups(0, lv); } + private void InitGroups( ListView myListView) + { + groupTables = new Hashtable[myListView.Columns.Count]; + for (int column = 0; column < myListView.Columns.Count; column++) + { + // Create a hash table containing all the groups + // needed for a single column. + groupTables[column] = CreateGroupsTable(column,myListView); + } + + // Start with the groups created for the Title column. + SetGroups(0,myListView); + + } + private void SetGroups(int column, ListView myListView) + { + // Remove the current groups. + myListView.Groups.Clear(); + + // Retrieve the hash table corresponding to the column. + Hashtable groups = (Hashtable)groupTables[column]; + + // Copy the groups for the column to an array. + ListViewGroup[] groupsArray = new ListViewGroup[groups.Count]; + groups.Values.CopyTo(groupsArray, 0); + + // Sort the groups and add them to myListView. + Array.Sort(groupsArray, new ListViewGroupSorter(myListView.Sorting)); + myListView.Groups.AddRange(groupsArray); + + // Iterate through the items in myListView, assigning each + // one to the appropriate group. + foreach (ListViewItem item in myListView.Items) + { + // Retrieve the subitem text corresponding to the column. + string subItemText = item.SubItems[column].Text; + + // For the Title column, use only the first letter. + if (column == 0) + { + subItemText = subItemText.Substring(0, 1); + } + + // Assign the item to the matching group. + item.Group = (ListViewGroup)groups[subItemText]; + } + } + private Hashtable CreateGroupsTable(int column, ListView myListView) + { + // Create a Hashtable object. + Hashtable groups = new Hashtable(); + + // Iterate through the items in myListView. + foreach (ListViewItem item in myListView.Items) + { + // Retrieve the text value for the column. + string subItemText = item.SubItems[column].Text; + + // Use the initial letter instead if it is the first column. + if (column == 0) + { + subItemText = subItemText.Substring(0, 1); + } + + // If the groups table does not already contain a group + // for the subItemText value, add a new group using the + // subItemText value for the group header and Hashtable key. + if (!groups.Contains(subItemText)) + { + groups.Add(subItemText, new ListViewGroup(subItemText, + HorizontalAlignment.Left)); + } + } + + // Return the Hashtable object. + return groups; + } + + private class ListViewGroupSorter : IComparer + { + private SortOrder order; + + // Stores the sort order. + public ListViewGroupSorter(SortOrder theOrder) + { + order = theOrder; + } + + // Compares the groups by header value, using the saved sort + // order to return the correct value. + public int Compare(object x, object y) + { + int result = String.Compare( + ((ListViewGroup)x).Header, + ((ListViewGroup)y).Header + ); + if (order == SortOrder.Ascending) + { + return result; + } + else + { + return -result; + } + } + } + + private void listView1_SelectedIndexChanged(object sender, EventArgs e) { if (listView1.SelectedItems.Count > 0) { button1.Enabled = true; - button2.Enabled = true; + button3.Enabled = true; button4.Enabled = true; } else { button1.Enabled = false; - button2.Enabled = false; + button3.Enabled = false; button4.Enabled = false; } } @@ -144,5 +261,60 @@ MessageBox.Show("Invalid package !"); } + + private void listView1_ColumnClick(object sender, ColumnClickEventArgs e) + { + // Set the sort order to ascending when changing + // column groups; otherwise, reverse the sort order. + if (listView1.Sorting == SortOrder.Descending || + ((e.Column != groupColumn))) + { + listView1.Sorting = SortOrder.Ascending; + } + else + { + listView1.Sorting = SortOrder.Descending; + } + groupColumn = e.Column; + + // Set the groups to those created for the clicked column. + SetGroups(e.Column,listView1); + + } + + private void comboBox2_SelectedIndexChanged(object sender, EventArgs e) + { + if (comboBox2.Text == "Icons") + listView1.View = System.Windows.Forms.View.LargeIcon; + else listView1.View = System.Windows.Forms.View.Details; + } } + public class ListViewGroupSorter : IComparer + { + private SortOrder order; + + // Stores the sort order. + public ListViewGroupSorter(SortOrder theOrder) + { + order = theOrder; + } + + // Compares the groups by header value, using the saved sort + // order to return the correct value. + public int Compare(object x, object y) + { + int result = String.Compare( + ((ListViewGroup)x).Header, + ((ListViewGroup)y).Header + ); + if (order == SortOrder.Ascending) + { + return result; + } + else + { + return -result; + } + } + } } \ No newline at end of file Modified: trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.resx =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.resx 2007-03-09 17:26:16 UTC (rev 171) +++ trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.resx 2007-03-10 08:27:43 UTC (rev 172) @@ -117,4 +117,141 @@ <resheader name="writer"> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> + <metadata name="imageList1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>17, 17</value> + </metadata> + <data name="imageList1.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACS + HQAAAk1TRnQBSQFMAwEBAAEEAQABBAEAASABAAEgAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABgAMA + ASADAAEBAQABIAYAAUAqAAEHASUBbgH/AQgBKwF/Af8BCAEvAYgB/wEJATUBmQH/AQkBNgGfAf8BCQE8 + AbAB/wEJAT4BtgH/AQoBPgG2Af8BCgE+AbYB/wEKAT4BtgH/AQoBPgG2Af8BCgE+AbYB/wEKAT4BtgH/ + AQoBPgG2Af8BCQE6AaoB/wEJATYBnwH/AQkBNAGWAf8BCAEvAYgB/wEIASkBeQH/AQcBJAFrAf//AKEA + AQkBMwGTAf8BDAE/AbYB/wERAUUBuAH/ARUBSQG7Af8BGgFNAb8B/wEeAVIBwwH/ASMBVgHHAf8BKAFb + AcoB/wEsAWABzgH/ATEBZQHRAf8BNgFpAdQB/wE6AW4B1wH/AT4BcgHaAf8BQQF1AdwB/wFEAXgB3gH/ + AUgBewHgAf8BSQF8AeEB/wFKAX0B4gH/AUoBfgHiAf8BSQF9AeEB/wFHAXoB4AH/AUQBdwHeAf8BPwFz + AdoB/wE6AW0B1gH/ATIBZgHRAf8BKQFdAcsB/wETAUcBvAH/AQkBMgGQAf//AI0AAQkBNAGWAf8BEAFC + AbMB/wEbAU0BtwH/AR8BUQG8Af8BIgFVAcEB/wElAVgBxQH/ASgBXAHJAf8BKwFfAc0B/wEuAWIBzwH/ + ATIBZQHRAf8BNQFoAdMB/wE4AWsB1QH/ATsBbgHXAf8BPgFyAdoB/wFBAXQB3AH/AUQBeAHeAf8BRwF7 + AeAB/wFKAX4B4gH/AU4BgQHkAf8BUQGBAeYB/wFUAYIB6QH/AVcBhQHrAf8BWgGIAe0B/wFdAYsB7wH/ + AWABjgHxAf8BYwGSAfMB/wFmAZQB9QH/AWYBlAH1Af8BLQFgAc4B/wEIATMBkwH//wCJAAELAT4BswH/ + ARcBSQGwAf8BGwFNAbUB/wEeAVABugH/ASIBVAG/Af8BJQFXAcMB/wEoAVsByAH/ASsBXwHMAf8BLgFi + Ac8B/wExAWUB0QH/ATQBaAHTAf8BOAFrAdUB/wE7AW4B1wH/AT4BcQHZAf8BQQF0AdwB/wFEAXcB3gH/ + AUcBewHgAf8BSgF9AeIB/wFNAYEB5AH/AVABgQHmAf8BVAGCAegB/wFXAYUB6gH/AVoBiAHsAf8BXQGL + Ae8B/wFgAY4B8QH/AWMBkQHzAf8BZgGUAfUB/wFpAZcB9wH/AWgBlgH2Af8BFQFJAb4B//8AiQABDgFA + Aa8B/wEXAUgBrgH/ARsBTAGzAf8BHgFQAbgB/wEhAVMBvQH/ASQBVwHBAf8BJwFaAcYB/wErAV4BygH/ + AS4BYQHOAf8BMQFkAdAB/wE0AWgB0wH/ATcBawHVAf8BOgFuAdcB/wE9AXEB2QH/AUABdAHbAf8BQwF3 + Ad0B/wFHAXoB3wH/AUoBfQHhAf8BTQGAAeQB/wFQAYEB5gH/AVMBgQHoAf8BVgGEAeoB/wFZAYcB7AH/ + AVwBigHuAf8BXwGNAfAB/wFiAZAB8gH/AWQBkwH0Af8BZgGUAfUB/wFnAZUB9gH/AS4BYgHOAf//AIkA + AQ8BQQGsAf8BFwFHAawB/wEaAUsBsQH/AR4BTwG2Af8BIQFSAbsB/wEkAVYBvwH/AScBWQHEAf8BKgFd + AcgB/wEtAWEBzQH/ATABZAHQAf8BMwFnAdIB/wE3AWoB1AH/AToBbQHWAf8BPQFwAdkB/wFAAXMB2wH/ + AUMBdgHdAf8BRgF5Ad8B/wFJAXwB4QH/AUwBfwHjAf8BTwGBAeUB/wFSAYEB5wH/AVUBgwHpAf8BWAGG + AesB/wFbAYkB7QH/AV0BjAHvAf8BYAGOAfEB/wFiAZAB8gH/AWQBkgHzAf8BZAGTAfQB/wE3AWsB1QH/ + /wCFAAEIASgBdgH/ARABQAGpAf8BFgFGAakB/wEZAUoBrwH/ARwBTgG0Af8BIAFRAbkB/wEjAVUBvQH/ + ASYBWQHCAf8BKQFcAcYB/wEsAV8BywH/ATABYwHPAf8BMwFmAdIB/wE2AWkB1AH/ATkBbAHWAf8BPAFv + AdgB/wE/AXIB2gH/AUIBdQHcAf8BPgFyAd4B/wEwAWgB2wH/AUIBeQHfAf8BNgFwAd8B/wFIAX4B5wH/ + AWMBjgHrAf8BRwF+AeoB/wFZAYcB7AH/AVwBigHuAf8BXgGMAe8B/wFgAY4B8QH/AWEBjwHxAf8BYQGQ + AfIB/wE+AXIB2gH/AQgBKAF2Af//AIEAAQgBLQGCAf8BFAFDAacB/wEVAUUBpwH/ARgBSQGsAf8BHAFN + AbIB/wEfAVABtwH/ASMBVAG7Af8BJgFYAcAB/wEpAVsBxAH/ASwBXwHJAf8BLwFiAc0B/wEyAWUB0QH/ + ATUBaAHTAf8BOAFrAdUB/wE7AW4B1wH/AT4BcQHZAf8BQQF0AdsB/wE1AWsB3gH/AvwG/wF8AZwB7gH/ + AeQB6wH9Bf8BWQGGAesB/wFRAYEB6wH/AVkBiAHsAf8BWwGKAe4B/wFdAYsB7wH/AV4BjAHvAf8BXgGN + AfAB/wFEAXgB3gH/AQgBLQGCAf//AIEAAQgBMQGNAf8BPQFkAbMB/wEuAVgBrgH/ARkBSAGqAf8BGwFL + Aa8B/wEeAU8BtAH/ASIBUwG5Af8BJQFWAb4B/wEoAVoBwgH/ASsBXQHHAf8BLgFhAcsB/wExAWQBzwH/ + ATQBZwHSAf8BNwFqAdUB/wE6AW0B1wH/AT0BcAHZAf8BOQFuAdsB/wEXAVgB1wP/Af4F/wH9Af4B/Qn/ + AYsBrgHyAf8BMwFwAeYB/wFLAYEB6wH/AVkBhwHsAf8BWgGIAe0B/wFbAYkB7QH/AVwBigHuAf8BSQF8 + AeEB/wEIATEBjgH//wCBAAEJATYBnwH/AUwBbwG1Af8BSQFtAbYB/wE4AWEBtAH/ARQBRgGtAf8BHQFO + AbIB/wEgAVEBtwH/ASQBVQG7Af8BJwFYAcAB/wEqAVwBxAH/AS0BXwHJAf8BMAFjAc0B/wEzAWYB0QH/ + ATUBaQHUAf8BOQFsAdYB/wExAWkB1wH/ATwBbQHdAf8BaQGLAecF/wFWAYIB4wH/ASIBXwHbAf8BIwFh + Ad0B/wGJAakB7wn/AW0BlgHsAf8BUgGEAeoB/wFXAYYB6wH/AVgBhwHsAf8BWQGHAewB/wFMAX8B4wH/ + AQkBNgGfAf//AIEAAQoBOAGkAf8BYgGAAbsB/wFQAXMBtwH/AUoBbwG4Af8BPAFmAbUB/wEWAUcBrwH/ + AR8BUAG0Af8BIgFTAbkB/wEmAVcBvgH/ASkBWgHCAf8BLAFeAcYB/wEuAWEBygH/ATEBZAHOAf8BNAFo + AdIB/wE3AWsB1QH/ASkBYAHSAf8B2wHlAfUF/wG/AdIB9QH/ASUBYAHYAf8BRwF7AeAB/wFKAX0B4QH/ + ASQBYgHfAf8C/gH9Af8B5AHqAfwB/wFXAYcB6gH/AVMBggHoAf8BVQGDAekB/wFVAYQB6gH/AVYBhAHq + Af8BTgGBAeQB/wEJATgBpQH//wCBAAEOAUABtQH/AXUBigHCAf8BWAF5AbkB/wFRAXQBuQH/AVIBcwG+ + Af8BMgFdAbUB/wEaAUoBsQH/ASEBUgG2Af8BJAFVAbsB/wEnAVkBwAH/ASQBVAHEAf8BFQFNAcIB/wEj + AVkBygH/AScBXAHQAf8BNQFpAdMB/wEgAVsB1gH/AYMBowHmBf8BrwHHAe8B/wEmAWEB2QH/AUUBeQHe + Af8BSAF7AeAB/wEnAWIB2wH/AfQB+AH9Af8BTgGBAeoB/wE7AXQB5QH/AVEBgQHmAf8BUgGBAecB/wFS + AYEB6AH/AVMBgQHoAf8BTgGBAeUB/wEJAT4BtgH//wCBAAERAUMBtQH/AYMBmQHIAf8BXgF9AboB/wFZ + AXkBugH/AVMBdgG7Af8BUwF2Ab8B/wEUAUkBsAH/AR8BUAG0Af8BIgFUAbgB/wEmAVcBvQH/ARMBSgG7 + Af8ByAHUAfEF/wEFAT8BwQH/ARABTQHJAf8BaAGJAd8B/wFYAYEB3gH/ASYBYQHUBf8BIAFbAdYB/wEp + AWEB2QH/AScBYgHaAf8BRAF6AeIF/wHUAeEB9AH/AUIBeAHjAf8BTgGBAeQB/wFPAYEB5QH/AVABgQHm + Af8BUAGBAeYB/wFOAYEB5QH/AQoBPgG1Af//AIEAARQBRQG1Af8BlAGmAc4B/wFlAYEBuwH/AWABfwG7 + Af8BWgF7AbwB/wFbAX4BwAH/ATMBWQG0Af8BCgE/AasB/wEnAVYBuQH/AQUBNgGsAf8BBQEpAa4B/wHd + AeIB9AX/AdMB3AHyAf8BjwGpAeMJ/wF4AZYB4Qn/AaIBugHuAf8BsAHEAe8N/wE3AW8B4gH/AUsBfgHi + Af8BTAF/AeMB/wFNAYAB4wH/AU0BgAHkAf8BTQGAAeQB/wEKAT4BtgH//wCBAAEXAUgBtgH/AaMBswHU + Af8BbAGCAbwB/wFnAYEBvQH/AWEBgAG9Af8BXgF/Ab0B/wFHAW4BugH/ARIBQwGqBf8B3wHlAfUB/wHh + AeUB9Bn/AS4BZAHQBf8BiAGrAesD/wH+Bf8BngG3Ae0B/wEUAVYB1wH/ATQBbAHfAf8BPwFzAd8B/wFI + AXwB4AH/AUkBfAHhAf8BSgF9AeEB/wFKAX0B4gH/AUoBfQHiAf8BCgE+AbYB//8AgQABGQFJAbcB/wGy + Ab8B2gH/AXIBhwG8Af8BbgGEAb4B/wFoAYEBvgH/AWIBgQG/Af8BYwGBAcIB/wEYAUgBrA3/AZYBrgHg + Af8BHgFQAb4B/wEFATwBvAH/AUMBcAHPAf8B4wHnAfgF/wHJAdcB9AH/AZIBrQHrAf8BPgFyAdcB/wFA + AXIB2AH/Ae0B8wH9Af8BVAGAAeEB/wE3AW0B2wH/AUMBdwHdAf8BRAF4Ad4B/wFFAXkB3wH/AUYBegHf + Af8BRwF6AeAB/wFHAXsB4AH/AUcBewHgAf8BCwE/AbYB//8AgQABGQFJAbcB/wHAAcsB4QH/AXkBjAG+ + Af8BdAGJAb8B/wFvAYYBvwH/AWkBgQHAAf8BagGEAcAB/wEFAS4BmQH/AZIBqAHXBf8BcQGLAdEB/wEF + ATsBrQH/AR4BUgG/Af8BJgFXAcIB/wEdAVQBwQH/AQUBQQHDAf8B5wHvAfoJ/wHiAeoB9wH/AR0BVwHP + Af8BKQFjAdcB/wEwAWgB2QH/AT8BcgHaAf8BQAF0AdsB/wFBAXUB3AH/AUMBdgHdAf8BQwF3Ad0B/wFE + AXcB3gH/AUQBeAHeAf8BRAF4Ad4B/wEKAT4BtgH//wCBAAEYAUgBtwH/Ac0B1gHmAf8BgQGTAcAB/wF7 + AY4BvwH/AXYBiwHBAf8BcAGHAcEB/wFpAYIBvgH/ATwBZwGxCf8BBQEqAaIB/wEaAVQBtwH/ASUBVgG7 + Af8BKAFZAb8B/wErAVwBwwH/AR0BUwHCAf8BUAF6AdMJ/wExAWYB1AH/AS4BZAHVAf8BOQFsAdYB/wE7 + AW4B1wH/ATwBcAHYAf8BPQFxAdkB/wE/AXIB2gH/AUABcwHbAf8BQAF0AdsB/wFBAXQB3AH/AUEBdQHc + Af8BQQF1AdwB/wEKAT4BtgH//wCBAAEVAUYBtgH/AdgB3gHrAf8BhgGaAcQB/wGBAZMBwQH/AXwBkAHB + Af8BbQGFAb0B/wGzAcQB4Qn/Ac0B1gHtAf8BBQEvAaIB/wEgAVEBtAH/ASMBVAG4Af8BJgFXAbwB/wEo + AVoBwAH/ASQBWQHEAf8BFAFPAcQF/wG4AckB7wH/AQYBRQHJAf8BMQFjAdIB/wE2AWoB1AH/ATgBawHV + Af8BOQFtAdYB/wE7AW4B1wH/ATwBbwHYAf8BPQFwAdkB/wE9AXEB2QH/AT4BcgHaAf8BPgFyAdoB/wE9 + AXAB2QH/AQoBPgG1Af//AIEAARABQwG1Af8B3wHkAe8B/wGRAaMByQH/AYUBmgHEAf8BgQGUAcIB/wF3 + AY0BwgH/AZsBrgHUAf8B+QH4Af0F/wL1AfoB/wEFASYBmwH/AR4BTwGwAf8BIQFSAbUB/wEjAVUBuQH/ + ASYBVwG9Af8BHAFRAcEB/wE0AWQByAn/AWcBhwHeAf8BIgFYAdEB/wE0AWcB0wH/ATUBaQHTAf8BNwFq + AdUB/wE4AWsB1QH/ATkBbAHWAf8BOgFtAdcB/wE7AW4B1wH/ATsBbwHYAf8BPAFvAdgB/wE4AWwB1gH/ + AQkBPQG2Af//AIEAAQoBOAGhAf8B4wHoAfEB/wGcAa0BzgH/AY4BoAHHAf8BhgGaAcUB/wGBAZUBwwH/ + AXYBigHAAf8BVAF2AbUB/wHIAdIB6AX/AS8BWAGuAf8BBQE6AaUB/wEfAU8BsQH/ASEBUgG1Af8BGgFR + AbkB/wEFATgBsQH/AbkBxQHsDf8BGAFRAcgB/wExAWUB0QH/ATMBZgHSAf8BNAFoAdMB/wE1AWkB0wH/ + ATYBagHUAf8BNwFrAdUB/wE4AWsB1QH/ATgBbAHWAf8BOQFsAdYB/wEzAWcB0gH/AQkBNwGiAf//AIEA + AQkBNgGfAf8B3gHkAfAB/wGpAbcB0wH/AZYBpwHKAf8BjgGhAcgB/wGGAZoBxQH/AYEBlgHFAf8BawGE + Ab4B/wG3AcYB4wn/ATgBXwG0Af8BBQElAZsB/wEFAS8BogH/AQUBMQGqAf8BlAGrAd4F/wGVAa0B4wH/ + ATwBbAHLAf8BYQGCAdUB/wEeAVMBxgH/AS4BYgHOAf8BMAFkAdAB/wExAWUB0QH/ATIBZgHSAf8BMwFn + AdIB/wE0AWgB0wH/ATUBaAHTAf8BNQFpAdMB/wE2AWkB1AH/AS4BYgHPAf8BCQE2AZ8B//8AgQABCAEw + AYsB/wHUAdwB7wH/AbYBwgHZAf8BngGuAc4B/wGWAagBywH/AY4BoQHIAf8BhgGbAcYB/wGBAZMBwxX/ + AeQB7QH0Df8BBQEjAasB/wEVAUwBvQH/ASEBVQHFAf8BKgFdAcgB/wEsAV8BywH/AS0BYQHOAf8BLgFi + Ac8B/wEvAWMB0AH/ATABZAHQAf8BMQFlAdEB/wEyAWYB0QH/ATIBZgHSAf8BMwFmAdIB/wEpAV0BywH/ + AQgBMAGLAf//AIEAAQgBLQGBAf8BxAHPAeoB/wHDAc0B3wH/AaYBtQHRAf8BngGuAc4B/wGXAagBywH/ + AY8BogHIAf8BgQGSAb4B/wGjAbMB1QH/AWMBgQG8Af8BBQERAYUB/wHrAfAB9Qn/AakBuwHhCf8BZQGC + Ac4B/wEdAVABvQH/ASYBWAHBAf8BKAFaAcUB/wEpAVwByAH/ASoBXgHLAf8BLAFfAc0B/wEtAWABzgH/ + AS4BYQHOAf8BLgFiAc8B/wEvAWMBzwH/AS8BYwHQAf8BMAFkAdAB/wEkAVcBxwH/AQgBLQGBAf//AIEA + AQcBJwFzAf8BrgG+AeQB/wHPAdcB5QH/Aa4BuwHVAf8BpgG1AdEB/wGfAa8BzwH/AZcBqAHMAf8BjwGi + AckB/wGHAZwBxwH/AYQBmwHGAf8BcQGHAcQB/wHQAdwB7QX/ATUBXwGwAf8BBQEWAZUB/wEJAT8BqQH/ + AakBuAHhAf8BBgE8Aa0B/wERAUgBswH/AR0BTwG9Af8BHgFRAcEB/wEgAVkBxAH/ASgBWwHHAf8BKQFc + AcoB/wEqAV4BzAH/ASsBXgHMAf8BLAFfAc0B/wEsAWABzQH/AS0BYAHNAf8BLQFgAc4B/wEfAVIBxAH/ + AQgBJwFzAf//AIUAAZYBqwHdAf8B2gHgAesB/wG3AcIB2AH/Aa8BvAHVAf8BpwG1AdIB/wGfAa8BzwH/ + AZcBqQHMAf8BjwGiAcoB/wGHAZwBxwH/AYEBmAHGAf8BgQGXAc0B/wGnAbYB1wH/AXYBjQHIAf8BZgGC + AcEB/wFcAX8BwwH/AVIBfAHEAf8BVAF5AcUB/wFWAXwBxQH/AVEBdwHGAf8BTAF1AcYB/wFCAW8ByQH/ + AToBaAHJAf8BNQFlAcsB/wEwAWIBywH/ASsBXgHLAf8BKQFcAcsB/wEpAV0BywH/ASoBXQHMAf8BKgFe + AcwB/wEaAU0BwAH//wCJAAGAAZYB1gH/AeQB6AHwAf8BvwHJAdwB/wG3AcMB2QH/Aa8BvAHVAf8BpwG2 + AdIB/wGfAa8BzwH/AZgBqQHNAf8BkAGiAcoB/wGIAZwByAH/AYEBlwHHAf8BfQGUAcgB/wF7AZABxwH/ + AXcBiwHGAf8BcQGHAcYB/wFnAYIBxwH/AWEBgQHHAf8BWwF/AccB/wFVAXoBxwH/AU8BdgHIAf8BSQFy + AcgB/wFDAW4ByQH/AT0BagHKAf8BNwFmAcoB/wEwAWEBywH/ASoBXQHKAf8BJwFaAckB/wEnAVsBygH/ + AScBWwHKAf8BFQFJAb0B//8AiQABYQGBAc0B/wHtAfAB9QH/AccB0AHgAf8BvwHJAd0B/wG3AcMB2QH/ + Aa8BvAHWAf8BpwG2AdMB/wGgAbAB0AH/AZgBqQHNAf8BkAGjAcsB/wGIAZ0ByAH/AYEBlwHGAf8BgAGT + AccB/wF6AZAByAH/AXQBiwHHAf8BbgGHAccB/wFnAYIBxwH/AWEBgQHHAf8BWgF+AccB/wFUAXoBxwH/ + AU4BdQHIAf8BSAFxAcgB/wFCAW0ByQH/ATsBaAHJAf8BNQFkAcoB/wEuAV8BygH/ASgBWwHJAf8BJAFY + AcgB/wEkAVgByAH/ARABRAG6Af//AIkAASABTwG7Af8B8AHyAfgB/wHTAdkB5gH/AcgB0AHhAf8BwAHK + Ad0B/wG4AcMB2gH/AbABvQHWAf8BqAG2AdMB/wGgAbAB0AH/AZgBqgHOAf8BkAGjAcsB/wGIAZ0ByQH/ + AYEBlwHGAf8BfgGSAcYB/wF5AY8BxwH/AXQBiwHHAf8BbQGGAccB/wFnAYIBxwH/AWABgQHHAf8BWgF+ + AccB/wFUAXkBxwH/AU0BdAHHAf8BRwFwAcgB/wFAAWwByAH/AToBZwHIAf8BMwFiAckB/wEsAV4ByAH/ + ASYBWAHHAf8BHwFTAcQB/wEKAT0BswH//wCJAAEHASoBfAH/AV8BgQHOAf8B8AHyAfkB/wHlAekB8QH/ + AdcB3QHpAf8BywHTAeMB/wG+AckB3QH/AbEBvgHYAf8BqAG3AdQB/wGgAbAB0QH/AZkBqgHOAf8BkQGk + AcwB/wGIAZ0ByQH/AYEBlwHHAf8BfQGRAcUB/wF3AYwBxQH/AXIBiQHGAf8BbQGGAccB/wFmAYEBxwH/ + AV8BgQHGAf8BWQF9AcYB/wFTAXgBxgH/AUwBcwHHAf8BRgFuAccB/wE/AWoBxwH/ATgBZQHIAf8BMQFh + AcgB/wEnAVgBxQH/AQ8BQwG5Af8BBwEmAXEB//8AjQABCAEqAXwB/wEdAU0BugH/AVkBfAHMAf8BeAGQ + AdUB/wGOAaUB3AH/AaUBuAHjAf8BuwHJAeoB/wHJAdQB7AH/Ac4B1wHtAf8B0QHZAesB/wHQAdgB6QH/ + AcsB1AHnAf8BwQHMAeMB/wG3AcQB3wH/AawBuwHbAf8BnwGwAdcB/wGRAaYB0wH/AYIBmgHQAf8BdQGN + AcwB/wFjAYEByQH/AVABdgHFAf8BPQFnAcIB/wEyAV4BwAH/AScBVgG+Af8BHgFPAb0B/wEWAUgBugH/ + AQsBPwG2Af8BBwEnAXQB//8ApQABCAEpAXkB/wEIAS8BiAH/AQkBNAGWAf8BCQE2AZ8B/wEJATsBrQH/ + AQoBPgG2Af8BCQE+AbYB/wEMAT8BtgH/AQ0BQAG2Af8BDQFAAbYB/wELAT4BtgH/AQkBPgG2Af8BCgE+ + AbYB/wEJATkBpwH/AQkBNgGfAf8BCQEyAZAB/wEIAS4BhQH/AQgBKAF2Af//AJ0AAUIBTQE+BwABPgMA + ASgDAAGAAwABIAMAAQEBAAEBBgABAhYAA/8BAAH8AgABPwwAAcACAAEDDAABgAIAAQEMAAGAAgABAQwA + AYACAAEBDAABgAIAAQH/AD0AAYACAAEBDAABgAIAAQEMAAGAAgABAQwAAYACAAEBDAABgAIAAQEMAAHA + AgABAwwAAf4CAAF/DAAL +</value> + </data> </root> \ No newline at end of file Modified: trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.cs 2007-03-09 17:26:16 UTC (rev 171) +++ trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.cs 2007-03-10 08:27:43 UTC (rev 172) @@ -153,10 +153,12 @@ this.Refresh(); this.Update(); } + package.installLanguage(listBox1); button_next.Visible = false; button_cancel.Enabled = true; inst.Add(package); inst.SaveToFile(); + label2.Text = "Done ..."; button_cancel.Text = "Finish"; } Modified: trunk/plugins/mpinstaler/MPInstaler.suo =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |