Esempio n. 1
0
		Range TrimRange(Range range, TrimDialog.Result result)
		{
			var index = range.Start;
			var length = range.Length;
			Data.Trim(ref index, ref length, result.TrimChars, result.Start, result.End);
			if ((index == range.Start) && (length == range.Length))
				return range;
			return Range.FromIndex(index, length);
		}
Esempio n. 2
0
		string TrimString(string str, TrimDialog.Result result)
		{
			var start = 0;
			var end = str.Length;
			if (result.Start)
			{
				while ((start < end) && (result.TrimChars.Contains(str[start])))
					++start;
			}
			if (result.End)
			{
				while ((start < end) && (result.TrimChars.Contains(str[end - 1])))
					--end;
			}
			return str.Substring(start, end - start);
		}
Esempio n. 3
0
        /// <summary>
        /// This event is raised when the user clicks on the Trim By Length or Trim By Quality Score
        /// menu item. It will start the Trim dialog.
        /// </summary>
        /// <param name="sender">MenuItem element</param>
        /// <param name="e">Routed event args</param>
        private void OnTrimClick(object sender, RoutedEventArgs e)
        {
            MenuItem   menu = sender as MenuItem;
            TrimDialog trim = null;

            /// If an instance of SeqcosMainWindow is available, populate the input file
            /// with the input filename. Otherwise, leave blank.
            if (this.application != null)
            {
                trim = new TrimDialog(this.fileTypes, this.application.FileList.FileName, this.application.SelectedParser);
            }
            else
            {
                trim = new TrimDialog(this.fileTypes);
            }

            trim.PrepareToTrim += new EventHandler <FilterToolArgs>(this.OnTrimRunClicked);
            trim.Owner          = this;

            // Determine which tab should be in focus upon opening
            if (menu.Uid.Equals("TrimByLength"))
            {
                trim.tabByLength.IsSelected = true;
                trim.trimLengthValue.Focus();
            }
            else if (menu.Uid.Equals("TrimByQualityScore"))
            {
                trim.tabByQuality.IsSelected = true;
                trim.trimQualityValue.Focus();
            }
            else if (menu.Uid.Equals("TrimByRegex"))
            {
                trim.tabByRegex.IsSelected = true;
                trim.trimRegexPattern.Focus();
            }
            trim.ShowDialog();
        }
Esempio n. 4
0
		void Command_Text_Select_Trim(TrimDialog.Result result) => Selections.Replace(Selections.AsParallel().AsOrdered().Select(range => TrimRange(range, result)).ToList());
Esempio n. 5
0
		void Command_Text_Trim(TrimDialog.Result result) => ReplaceSelections(Selections.AsParallel().AsOrdered().Select(str => TrimString(GetString(str), result)).ToList());
Esempio n. 6
0
        public MainForm()
        {
            instance = this;
            InitializeComponent();
            CheckForIllegalCrossThreadCalls = false;

            #region Right Click Menu

            var menu = new ContextMenu();
            menu_play = menu.MenuItems.Add("Play", (sender, e) =>
            {
                var path = getGameConfigPath(listView1.SelectedItems[0].Text, false);
                MusicPlayForm.getInstance(path + (File.Exists(path + ".modified") ? ".modified" : ".original")).Show();
                MusicPlayForm.player.Play();
            });
            menu_edit = menu.MenuItems.Add("Edit", new MenuItem[]
            {
                menu_trim = new MenuItem("Trim", (sender, e) =>
                {
                    var dialog = new TrimDialog();
                    if (dialog.ShowDialog() == DialogResult.OK)
                    {
                        // TODO.
                    }
                }),
                menu_volume = new MenuItem("Adjust Volume", (sender, e) =>
                {
                    var dialog = new AdjustVolumeDialog();
                    if (dialog.ShowDialog() == DialogResult.OK)
                    {
                        var items      = listView1.SelectedItems;
                        var processing = new ProcessingDialog(0, items.Count);
                        new Thread(new ThreadStart(() =>
                        {
                            int result = dialog.Result;
                            var failed = "";
                            foreach (ListViewItem item in items)
                            {
                                item.SubItems[2].Text = result.ToString();
                                if (!reConvertModifiedMedia(item))
                                {
                                    failed += "\n" + item.Text;
                                    item.SubItems[2].Text = "100";
                                    File.Delete(getGameConfigPath(item.Text, false) + ".modified");
                                }
                                processing.update();
                            }
                            processing.update();
                            saveTracks();
                            MessageBox.Show("Processed " + items.Count + " file(s)." + (failed == "" ? "" : "\n\nFollowing file(s) process failed:" + failed), "Done", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        })).Start();
                        processing.ShowDialog();
                    }
                })
            });
            menu_alias = menu.MenuItems.Add("Set Alias", (sender, e) =>
            {
                listView1_MouseDoubleClick();
            });
            menu_remove = menu.MenuItems.Add("Remove", (sender, e) =>
            {
                if (!Running && listView1.SelectedItems.Count != 0)
                {
                    foreach (ListViewItem item in listView1.SelectedItems)
                    {
                        listView1.Items.Remove(item);
                        var path = getGameConfigPath(item.Text, false);
                        File.Delete(path + ".original");
                        File.Delete(path + ".modified");
                    }
                    for (int i = 0; i < listView1.Items.Count; i++)
                    {
                        listView1.Items[i].SubItems[3].Text = (i + 1).ToString();
                    }
                    saveTracks();
                }
            });
            menu.Popup += (sender, e) =>
            {
                if (listView1.SelectedItems.Count == 0)
                {
                    menu_play.Visible = menu_alias.Visible = menu_edit.Visible = menu_remove.Visible = false;
                }
                else
                {
                    menu_edit.Visible = menu_remove.Visible = true;
                    menu_play.Visible = menu_alias.Visible = menu_trim.Visible = listView1.SelectedItems.Count == 1;
                }
            };
            listView1.ContextMenu = menu;

            #endregion
        }