Exemple #1
0
 private void PlayScriptImg_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
 {
     if (!this.ParentWindow.mIsMacroPlaying)
     {
         if (MacroGraph.CheckIfDependentMacrosAreAvailable(this.mRecording))
         {
             this.ToggleScriptPlayPauseUi(true);
             this.ParentWindow.mCommonHandler.PlayMacroScript(this.mRecording);
             ClientStats.SendMiscellaneousStatsAsync("MacroOperations", RegistryManager.Instance.UserGuid, RegistryManager.Instance.ClientVersion, "macro_play", "macro_popup", this.mRecording.RecordingType.ToString(), string.IsNullOrEmpty(this.mRecording.MacroId) ? "local" : "community", (string)null, (string)null, "Android");
             this.ParentWindow.mCommonHandler.HideMacroRecorderWindow();
         }
         else
         {
             CustomMessageWindow customMessageWindow = new CustomMessageWindow();
             customMessageWindow.Owner = (Window)this.mMacroRecorderWindow;
             BlueStacksUIBinding.Bind(customMessageWindow.BodyTextBlock, "STRING_ERROR_IN_MERGE_MACRO", "");
             customMessageWindow.AddButton(ButtonColors.Blue, "STRING_OK", (EventHandler)((o, evt) => {}), (string)null, false, (object)null, true);
             customMessageWindow.ShowDialog();
         }
     }
     else
     {
         this.ParentWindow.mCommonHandler.AddToastPopup((Window)this.mMacroRecorderWindow, LocaleStrings.GetLocalizedString("STRING_STOP_THE_SCRIPT", ""), 4.0, true);
     }
 }
Exemple #2
0
        internal void InitMacroPlayback(string macroPath)
        {
            this.mWasMacroPlaybackStopped = false;
            MacroGraph.ReCreateMacroGraphInstance();
            string macroName = Path.GetFileNameWithoutExtension(macroPath);

            this.MacroToPlay = MacroGraph.Instance.Vertices.Cast <MacroRecording>().Where <MacroRecording>((Func <MacroRecording, bool>)(macro_ => string.Equals(string.IsNullOrEmpty(macro_.FileName) ? macro_.Name : macro_.FileName, macroName, StringComparison.InvariantCultureIgnoreCase))).FirstOrDefault <MacroRecording>();
            if (this.MacroToPlay.RecordingType == RecordingTypes.MultiRecording)
            {
                foreach (MacroRecording allLeaf in MacroGraph.Instance.GetAllLeaves(this.MacroToPlay))
                {
                    MacroRecording leafMacro      = allLeaf;
                    MacroRecording macroRecording = MacroGraph.Instance.Vertices.Cast <MacroRecording>().Where <MacroRecording>((Func <MacroRecording, bool>)(marco_ => marco_.Equals(leafMacro))).FirstOrDefault <MacroRecording>();
                    if (macroRecording.RecordingType == RecordingTypes.SingleRecording)
                    {
                        InputMapper.Instance.InitMacroPlayback(Path.Combine(RegistryStrings.MacroRecordingsFolderPath, (string.IsNullOrEmpty(macroRecording.FileName) ? macroRecording.Name.ToLower() : macroRecording.FileName) + ".json"));
                    }
                }
            }
            else
            {
                InputMapper.Instance.InitMacroPlayback(macroPath);
            }
        }
        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();
            }
        }