private const string Filter = "Gothic Savegames|SAVEDAT.SAV"; //Filter by gothic savegames public static string PickGothicFolder() { var openFolderDialog = new FolderBrowserDialog.FolderBrowserDialog(); if (openFolderDialog.ShowDialog() == FolderBrowserDialog.DialogResult.OK) { return(openFolderDialog.SelectedPath); } return(null); }
/// <summary> /// Shows a form for choosing the language file from all other files. /// </summary> /// <returns>the DialogResult of this Form</returns> public static Form.DialogResult ChooseLanguage() { Directory.CreateDirectory(Program.ExePath + @"\temp"); Languages.Zip.ExtractAll(Program.ExePath + @"\Languages.dll", Program.ExePath + @"\temp"); Form.Form form = new Form.Form(); Form.ComboBox list_languages = new Form.ComboBox(); Form.Label lb_text = new System.Windows.Forms.Label(); Form.Button bt_add = new System.Windows.Forms.Button(); Form.Button bt_ok = new System.Windows.Forms.Button(); list_languages.Location = new System.Drawing.Point(16, 48); list_languages.Size = new System.Drawing.Size(266, 21); list_languages.TabIndex = 0; { string[] files = Directory.GetFiles(Program.ExePath + @"\temp"); if (files.Length > 0) list_languages.Text = Path.GetFileNameWithoutExtension(files[0]); System.Array.Sort(files); foreach (string a in files) if (!list_languages.Items.Contains(new Form.ListViewItem(Path.GetFileNameWithoutExtension(a)))) list_languages.Items.Add(Path.GetFileNameWithoutExtension(a)); } lb_text.AutoSize = true; lb_text.Location = new System.Drawing.Point(13, 13); lb_text.Size = new System.Drawing.Size(92, 13); lb_text.TabIndex = 1; lb_text.Text = "choose language:"; bt_add.Location = new System.Drawing.Point(169, 94); bt_add.Size = new System.Drawing.Size(113, 23); bt_add.TabIndex = 2; bt_add.Text = "Add Language to list"; bt_add.UseVisualStyleBackColor = true; bt_add.Click += delegate { string path = Program.SelectFile("XML files (*.xml)|*.xml|All files (*.*)|*.*","Open"); if (path != null) { string textInZip = Languages.Convertor.getLanguageText(path); Languages.Convertor.ConvertToLanguageFile(path, Program.ExePath + @"\" + textInZip + ".xml"); Languages.Zip.AddFile(Program.ExePath + @"\" + textInZip + ".xml", textInZip + ".xml"); if (!list_languages.Items.Contains(Path.GetFileNameWithoutExtension(textInZip))) list_languages.Items.Add(Path.GetFileNameWithoutExtension(textInZip)); Languages.Convertor.ChosenLanguage_FilePath = Program.ExePath + @"\temp\" + textInZip + ".xml"; list_languages.SelectedIndex = 0; File.Delete(Program.ExePath + @"\" + textInZip + ".xml"); } }; bt_ok.Location = new System.Drawing.Point(80, 142); bt_ok.Size = new System.Drawing.Size(109, 35); bt_ok.TabIndex = 3; bt_ok.Text = "OK"; bt_ok.UseVisualStyleBackColor = true; bt_ok.Click += delegate { form.DialogResult = Form.DialogResult.OK; properties.chosenLanguage = list_languages.Text; form.Close(); }; form.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); form.AutoScaleMode = Form.AutoScaleMode.Font; form.ClientSize = new System.Drawing.Size(303, 255); form.MinimumSize = new System.Drawing.Size(303, 255); form.MaximumSize = new System.Drawing.Size(303, 255); form.MaximizeBox = false; form.MinimizeBox = false; form.Controls.AddRange(new Form.Control[] { list_languages, lb_text, bt_add, bt_ok }); form.Icon = new System.Drawing.Icon(Peulot_Heshbon.Properties.Resources.App_Icon, new System.Drawing.Size(32, 32)); form.Text = "Choose Language"; form.ResumeLayout(false); form.PerformLayout(); form.DialogResult = Form.DialogResult.Cancel; list_languages.Focus(); Form.DialogResult dg = form.ShowDialog(); Directory.Delete(Program.ExePath + @"\temp", true); return dg; }
/// <summary> /// Shows the dialog ex. /// </summary> /// <param name="form">The form.</param> /// <returns>One of the System.Windows.Forms.DialogResult values</returns> public static System.Windows.Forms.DialogResult ShowDialogEx(this System.Windows.Forms.Form form) { form.ShowInTaskbar = false; return(form.ShowDialog()); }