private string CheckIfDependentScriptsHaveInvalidName(ImportMacroScriptsControl scriptControl)
        {
            string str = "TEXT_VALID";

            foreach (UIElement child1 in scriptControl.mDependentScriptsPanel.Children)
            {
                CustomTextBox customTextBox = child1 as CustomTextBox;
                string        text          = customTextBox.Text;
                if (text.IndexOfAny(Path.GetInvalidFileNameChars()) >= 0)
                {
                    customTextBox.InputTextValidity = TextValidityOptions.Error;
                    str = string.Format((IFormatProvider)CultureInfo.InvariantCulture, "{0} {1} {2}", (object)LocaleStrings.GetLocalizedString("STRING_MACRO_NAME_ERROR", ""), (object)Environment.NewLine, (object)"\\ / : * ? \" < > |");
                }
                else if (((IEnumerable <string>)Constants.ReservedFileNamesList).Contains <string>(text.Trim().ToLower(CultureInfo.InvariantCulture)))
                {
                    customTextBox.InputTextValidity = TextValidityOptions.Error;
                    str = LocaleStrings.GetLocalizedString("STRING_MACRO_FILE_NAME_ERROR", "");
                }
                else if (scriptControl.IsScriptInRenameMode())
                {
                    foreach (MacroRecording vertex in (Collection <BiDirectionalVertex <MacroRecording> >)MacroGraph.Instance.Vertices)
                    {
                        if (vertex.Name.ToLower(CultureInfo.InvariantCulture).Trim() == text.ToLower(CultureInfo.InvariantCulture).Trim())
                        {
                            customTextBox.InputTextValidity = TextValidityOptions.Error;
                            return(LocaleStrings.GetLocalizedString("STRING_DUPLICATE_MACRO_NAME_WARNING", ""));
                        }
                    }
                    foreach (ImportMacroScriptsControl child2 in this.mScriptsStackPanel.Children)
                    {
                        if (child2 != scriptControl && scriptControl.IsScriptInRenameMode())
                        {
                            bool?isChecked = child2.mContent.IsChecked;
                            bool flag      = true;
                            if (isChecked.GetValueOrDefault() == flag & isChecked.HasValue)
                            {
                                if (child2.mImportName.Text.ToLower(CultureInfo.InvariantCulture).Trim() == text.ToLower(CultureInfo.InvariantCulture).Trim())
                                {
                                    customTextBox.InputTextValidity = TextValidityOptions.Error;
                                    str = LocaleStrings.GetLocalizedString("STRING_DUPLICATE_MACRO_NAME_WARNING", "");
                                }
                                else
                                {
                                    foreach (UIElement child3 in child2.mDependentScriptsPanel.Children)
                                    {
                                        if ((child3 as CustomTextBox).Text.ToLower(CultureInfo.InvariantCulture).Trim() == text.ToLower(CultureInfo.InvariantCulture).Trim())
                                        {
                                            customTextBox.InputTextValidity = TextValidityOptions.Error;
                                            str = LocaleStrings.GetLocalizedString("STRING_DUPLICATE_MACRO_NAME_WARNING", "");
                                            break;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            return(str);
        }
 private bool CheckIfEditedMacroNameIsAllowed(string text, ImportMacroScriptsControl item)
 {
     if (string.IsNullOrEmpty(text.Trim()))
     {
         BlueStacksUIBinding.Bind(item.mWarningMsg, LocaleStrings.GetLocalizedString("STRING_MACRO_NAME_NULL_MESSAGE", ""), "");
         return(false);
     }
     foreach (MacroRecording vertex in (Collection <BiDirectionalVertex <MacroRecording> >)MacroGraph.Instance.Vertices)
     {
         if (vertex.Name.ToLower(CultureInfo.InvariantCulture).Trim() == text.ToLower(CultureInfo.InvariantCulture).Trim())
         {
             return(false);
         }
     }
     foreach (ImportMacroScriptsControl child in this.mScriptsStackPanel.Children)
     {
         if (item != child)
         {
             bool?isChecked = child.mContent.IsChecked;
             bool flag      = true;
             if (isChecked.GetValueOrDefault() == flag & isChecked.HasValue && child.IsScriptInRenameMode() && child.mImportName.Text.ToLower(CultureInfo.InvariantCulture).Trim() == text.ToLower(CultureInfo.InvariantCulture).Trim())
             {
                 return(false);
             }
         }
     }
     return(true);
 }
        internal void Init()
        {
            bool isSingleRecording = this.ParentWindow.MacroRecorderWindow.mRenamingMacrosList.Count == 1;

            try
            {
                this.mInited = false;
                this.mScriptsStackPanel.Children.Clear();
                foreach (MacroRecording mRenamingMacros in this.ParentWindow.MacroRecorderWindow.mRenamingMacrosList)
                {
                    string suggestedName1;
                    ImportMacroScriptsControl stackPanelAndDict = this.AddRecordingToStackPanelAndDict(mRenamingMacros, isSingleRecording, out suggestedName1);
                    if (mRenamingMacros.RecordingType == RecordingTypes.MultiRecording)
                    {
                        bool?multiMacroAsUnified = this.mOperationWindow.mImportMultiMacroAsUnified;
                        if (0 == (multiMacroAsUnified.GetValueOrDefault() ? 1 : 0) & multiMacroAsUnified.HasValue)
                        {
                            stackPanelAndDict.mDependentScriptsMsg.Visibility   = Visibility.Visible;
                            stackPanelAndDict.mDependentScriptsPanel.Visibility = Visibility.Visible;
                            stackPanelAndDict.mDependentScriptsPanel.Children.Clear();
                            foreach (string sourceRecording in mRenamingMacros.SourceRecordings)
                            {
                                MacroRecording macroRecording         = JsonConvert.DeserializeObject <MacroRecording>(sourceRecording, Utils.GetSerializerSettings());
                                string         dependentRecordingName = MacroRecorderWindow.GetDependentRecordingName(suggestedName1, macroRecording.Name);
                                string         suggestedName2         = !MacroGraph.Instance.Vertices.Cast <MacroRecording>().Select <MacroRecording, string>((Func <MacroRecording, string>)(macro => macro.Name)).Contains <string>(dependentRecordingName.ToLower(CultureInfo.InvariantCulture).Trim()) ? dependentRecordingName : CommonHandlers.GetMacroName(dependentRecordingName);
                                CustomTextBox  customTextBox          = new CustomTextBox();
                                customTextBox.Height = 24.0;
                                customTextBox.HorizontalAlignment = HorizontalAlignment.Left;
                                customTextBox.Margin     = new Thickness(0.0, 5.0, 0.0, 0.0);
                                customTextBox.Text       = this.ValidateSuggestedName(suggestedName2);
                                customTextBox.Visibility = Visibility.Visible;
                                customTextBox.IsEnabled  = false;
                                CustomTextBox index = customTextBox;
                                stackPanelAndDict.mDependentScriptsPanel.Children.Add((UIElement)index);
                                this.mDependentRecordingDict[index] = macroRecording;
                            }
                        }
                    }
                }
                this.mNumberOfFilesSelectedForImport = 0;
            }
            catch (Exception ex)
            {
                Logger.Error("Error in import window init err: " + ex.ToString());
            }
            this.mInited = true;
            if (isSingleRecording)
            {
                this.mSelectAllBtn.Visibility = Visibility.Hidden;
            }
            this.mSelectAllBtn.IsChecked = new bool?(true);
            this.SelectAllBtn_Click((object)null, (RoutedEventArgs)null);
        }
        private ImportMacroScriptsControl AddRecordingToStackPanelAndDict(
            MacroRecording record,
            bool isSingleRecording,
            out string suggestedName)
        {
            ImportMacroScriptsControl index = new ImportMacroScriptsControl(this, this.ParentWindow);

            index.Init(record.Name, isSingleRecording);
            suggestedName          = !MacroGraph.Instance.Vertices.Cast <MacroRecording>().Select <MacroRecording, string>((Func <MacroRecording, string>)(macro => macro.Name.ToLower(CultureInfo.InvariantCulture))).Contains <string>(record.Name.ToLower(CultureInfo.InvariantCulture).Trim()) ? record.Name : CommonHandlers.GetMacroName(record.Name);
            index.mImportName.Text = this.ValidateSuggestedName(suggestedName);
            this.mScriptsStackPanel.Children.Add((UIElement)index);
            this.mBoxToRecordingDict[index] = record;
            return(index);
        }
        internal void TextChanged(object sender, TextChangedEventArgs e)
        {
            if (!this.mInited)
            {
                return;
            }
            ImportMacroScriptsControl macroItemGrandchild = this.GetScriptControlFromMacroItemGrandchild((object)(sender as FrameworkElement).Parent);
            string text = (sender as CustomTextBox).Text;

            foreach (UIElement child in macroItemGrandchild.mDependentScriptsPanel.Children)
            {
                CustomTextBox index = child as CustomTextBox;
                index.Text = MacroRecorderWindow.GetDependentRecordingName(text, this.mDependentRecordingDict[index].Name);
            }
        }
 private bool IsMacroItemDependentOfParent(ImportMacroScriptsControl item, string name)
 {
     return(item.Tag != null && item.Tag.ToString().Equals(name, StringComparison.InvariantCultureIgnoreCase));
 }