private void ImportBtn_Click(object sender, RoutedEventArgs e) { int num = 0; bool flag1 = false; bool flag2 = true; List <MacroRecording> newlyAddedMacro = new List <MacroRecording>(); foreach (ImportMacroScriptsControl child in this.mScriptsStackPanel.Children) { bool?isChecked = child.mContent.IsChecked; bool flag3 = true; if (isChecked.GetValueOrDefault() == flag3 & isChecked.HasValue) { if (child.mImportName.Text.IndexOfAny(Path.GetInvalidFileNameChars()) >= 0) { string path = string.Format((IFormatProvider)CultureInfo.InvariantCulture, "{0} {1} {2}", (object)LocaleStrings.GetLocalizedString("STRING_MACRO_NAME_ERROR", ""), (object)Environment.NewLine, (object)"\\ / : * ? \" < > |"); BlueStacksUIBinding.Bind(child.mWarningMsg, path, ""); child.mImportName.InputTextValidity = TextValidityOptions.Error; if (child.mImportName.IsEnabled) { child.mWarningMsg.Visibility = Visibility.Visible; } flag2 = false; } else if (((IEnumerable <string>)Constants.ReservedFileNamesList).Contains <string>(child.mImportName.Text.Trim().ToLower(CultureInfo.InvariantCulture))) { BlueStacksUIBinding.Bind(child.mWarningMsg, "STRING_MACRO_FILE_NAME_ERROR", ""); child.mImportName.InputTextValidity = TextValidityOptions.Error; if (child.mImportName.IsEnabled) { child.mWarningMsg.Visibility = Visibility.Visible; } flag2 = false; } else if (!this.CheckIfEditedMacroNameIsAllowed(child.mImportName.Text, child) && child.IsScriptInRenameMode()) { if (!string.IsNullOrEmpty(child.mImportName.Text.Trim())) { BlueStacksUIBinding.Bind(child.mWarningMsg, LocaleStrings.GetLocalizedString("STRING_DUPLICATE_MACRO_NAME_WARNING", ""), ""); } child.mImportName.InputTextValidity = TextValidityOptions.Error; if (child.mImportName.IsEnabled) { child.mWarningMsg.Visibility = Visibility.Visible; } flag2 = false; } else if (child.mDependentScriptsPanel.Visibility == Visibility.Visible && child.mDependentScriptsPanel.Children.Count > 0) { string path = this.CheckIfDependentScriptsHaveInvalidName(child); if (path != "TEXT_VALID") { BlueStacksUIBinding.Bind(child.mWarningMsg, path, ""); child.mImportName.InputTextValidity = TextValidityOptions.Error; flag2 = false; } else { child.mImportName.InputTextValidity = TextValidityOptions.Success; child.mWarningMsg.Visibility = Visibility.Collapsed; } } else { child.mImportName.InputTextValidity = TextValidityOptions.Success; child.mWarningMsg.Visibility = Visibility.Collapsed; } flag1 = true; } ++num; } if (!flag1) { this.ParentWindow.mCommonHandler.AddToastPopup((Window)this, LocaleStrings.GetLocalizedString("STRING_NO_IMPORT_MACRO_SELECTED", ""), 4.0, true); } else { if (!flag2) { return; } if (!Directory.Exists(RegistryStrings.MacroRecordingsFolderPath)) { Directory.CreateDirectory(RegistryStrings.MacroRecordingsFolderPath); } foreach (ImportMacroScriptsControl child1 in this.mScriptsStackPanel.Children) { bool?isChecked = child1.mContent.IsChecked; if (isChecked.GetValueOrDefault()) { MacroRecording record = this.mBoxToRecordingDict[child1]; isChecked = child1.mReplaceExistingBtn.IsChecked; string str; if (isChecked.HasValue) { isChecked = child1.mReplaceExistingBtn.IsChecked; if (isChecked.Value) { str = child1.mContent.Content.ToString(); goto label_40; } } str = child1.mImportName.Text.Trim(); label_40: string newScript = str; MacroRecording existingMacro = MacroGraph.Instance.Vertices.Cast <MacroRecording>().Where <MacroRecording>((Func <MacroRecording, bool>)(m => string.Equals(m.Name, newScript, StringComparison.InvariantCultureIgnoreCase))).FirstOrDefault <MacroRecording>(); if (existingMacro != null) { if (existingMacro.Parents.Count > 0) { for (int index = existingMacro.Parents.Count - 1; index >= 0; index--) { MacroRecording macroRecording = MacroGraph.Instance.Vertices.Cast <MacroRecording>().Where <MacroRecording>((Func <MacroRecording, bool>)(macro => macro.Equals((object)existingMacro.Parents[index]))).FirstOrDefault <MacroRecording>(); this.mOperationWindow.FlattenRecording(existingMacro.Parents[index] as MacroRecording, false); CommonHandlers.SaveMacroJson(existingMacro.Parents[index] as MacroRecording, (existingMacro.Parents[index] as MacroRecording).Name + ".json"); foreach (SingleMacroControl child2 in this.mOperationWindow.mScriptsStackPanel.Children) { if (child2.mRecording.Name.ToLower(CultureInfo.InvariantCulture).Trim() == macroRecording.Name.ToLower(CultureInfo.InvariantCulture).Trim()) { child2.mScriptSettingsImg.ImageName = "macro_settings"; } } MacroGraph.Instance.DeLinkMacroChild((BiDirectionalVertex <MacroRecording>)(existingMacro.Parents[index] as MacroRecording)); } } this.DeleteMacroScript(existingMacro); } record.Name = newScript; if (record.RecordingType == RecordingTypes.MultiRecording) { this.mOperationWindow.ImportMultiMacro(record, this.mOperationWindow.mImportMultiMacroAsUnified.Value, newlyAddedMacro, this.GetDictionaryOfNewNamesForDependentRecordings(record.Name)); } else { CommonHandlers.SaveMacroJson(record, record.Name.ToLower(CultureInfo.InvariantCulture).Trim() + ".json"); MacroGraph.Instance.AddVertex((BiDirectionalVertex <MacroRecording>)record); newlyAddedMacro.Add(record); } } } foreach (MacroRecording macro in newlyAddedMacro) { MacroGraph.LinkMacroChilds(macro); } this.mOperationWindow.mNewlyAddedMacrosList.AddRange((IEnumerable <MacroRecording>)newlyAddedMacro); this.ParentWindow.MacroRecorderWindow.mRenamingMacrosList.Clear(); this.Close(); } }