Beispiel #1
0
        private void btnActionsRemove_Click(object sender, EventArgs e)
        {
            if (lvActions.SelectedItems.Count > 0)
            {
                ListViewItem    lvi        = lvActions.SelectedItems[0];
                ExternalProgram fileAction = lvi.Tag as ExternalProgram;

                TaskSettings.ExternalPrograms.Remove(fileAction);
                lvActions.Items.Remove(lvi);
            }
        }
Beispiel #2
0
 public LanguagesBox()
 {
     this.Dock = DockStyle.Fill;
     this.Font = new Font(SystemFonts.MenuFont.FontFamily, 10F);
     this.Controls.AddRange(new Control[] { cmbLanguages, btnOpenDir, llbOtherLanguages, txtTranslators });
     this.OnResize(null);
     cmbLanguages.SelectionChangeCommitted += (sender, e) => ChangeLanguage();
     llbOtherLanguages.LinkClicked         += (sender, e) => ExternalProgram.OpenUrl(OtherLanguagesUrl);
     btnOpenDir.MouseDown += (sender, e) => ExternalProgram.JumpExplorer(AppConfig.LangsDir);
     MyToolTip.SetToolTip(btnOpenDir, AppString.Tip.OpenLanguagesDir);
 }
Beispiel #3
0
        private void AddFileAction(ExternalProgram fileAction)
        {
            ListViewItem lvi = new ListViewItem(fileAction.Name ?? "");

            lvi.Tag     = fileAction;
            lvi.Checked = fileAction.IsActive;
            lvi.SubItems.Add(fileAction.Path ?? "");
            lvi.SubItems.Add(fileAction.Args ?? "");
            lvi.SubItems.Add(fileAction.Extensions ?? "");
            lvActions.Items.Add(lvi);
        }
Beispiel #4
0
 public ActionsForm(ExternalProgram fileAction)
 {
     InitializeComponent();
     FileAction        = fileAction;
     txtName.Text      = fileAction.Name ?? "";
     txtPath.Text      = fileAction.Path ?? "";
     txtArguments.Text = fileAction.Args ?? "";
     CodeMenu.Create <ActionsCodeMenuEntry>(txtArguments);
     txtOutputExtension.Text = fileAction.OutputExtension ?? "";
     txtExtensions.Text      = fileAction.Extensions ?? "";
 }
 public ShellExecuteForm()
 {
     this.Text               = "ShellExecute";
     this.Font               = SystemFonts.MenuFont;
     this.FormBorderStyle    = FormBorderStyle.FixedSingle;
     this.StartPosition      = FormStartPosition.CenterParent;
     this.ShowIcon           = ShowInTaskbar = MaximizeBox = MinimizeBox = false;
     this.HelpButton         = true;
     this.HelpButtonClicked += (sender, e) => ExternalProgram.OpenUrl(ApiInfoUrl);
     this.InitializeComponents();
 }
Beispiel #6
0
        private static void AddExternalProgramFromRegistry(TaskSettings taskSettings, string name, string filename)
        {
            if (!taskSettings.ExternalPrograms.Exists(x => x.Name == name))
            {
                ExternalProgram externalProgram = RegistryHelpers.FindProgram(name, filename);

                if (externalProgram != null)
                {
                    taskSettings.ExternalPrograms.Add(externalProgram);
                }
            }
        }
Beispiel #7
0
        private void AddNewItem()
        {
            NewItem newItem = new NewItem();
            this.AddItem(newItem);
            newItem.AddNewItem += (sender, e) =>
            {
                using(FileExtensionDialog dlg = new FileExtensionDialog())
                {
                    if(dlg.ShowDialog() != DialogResult.OK) return;
                    string extension = dlg.Extension;
                    if(extension == ".") return;
                    string openMode = FileExtension.GetOpenMode(extension);
                    if(string.IsNullOrEmpty(openMode))
                    {
                        MessageBoxEx.Show(AppString.Message.NoOpenModeExtension);
                        ExternalProgram.ShowOpenWithDialog(extension);
                        return;
                    }
                    foreach(Control ctr in this.Controls)
                    {
                        if(ctr is ShellNewItem item)
                        {
                            if(item.Extension.Equals(extension, StringComparison.OrdinalIgnoreCase))
                            {
                                MessageBoxEx.Show(AppString.Message.HasBeenAdded);
                                return;
                            }
                        }
                    }

                    using(RegistryKey root = Registry.ClassesRoot)
                    using(RegistryKey exKey = root.OpenSubKey(extension, true))
                    using(RegistryKey snKey = exKey.CreateSubKey("ShellNew", true))
                    {
                        string defaultOpenMode = exKey.GetValue("")?.ToString();
                        if(string.IsNullOrEmpty(defaultOpenMode))
                        {
                            exKey.SetValue("", openMode);
                        }

                        snKey.SetValue("NullFile", string.Empty);
                        ShellNewItem item = new ShellNewItem(this, snKey.Name);
                        this.AddItem(item);
                        item.Focus();
                        if(item.ItemText.IsNullOrWhiteSpace())
                        {
                            item.ItemText = FileExtension.GetFriendlyDocName(extension);
                        }
                        if(ShellNewLockItem.IsLocked) this.SaveSorting();
                    }
                }
            };
        }
 public ExplorerRestarter()
 {
     this.Visible = false;
     this.Dock    = DockStyle.Bottom;
     this.Image   = AppImage.Explorer;
     this.Text    = AppString.Other.RestartExplorer;
     MyToolTip.SetToolTip(BtnRestart, AppString.Tip.RestartExplorer);
     this.AddCtr(BtnRestart);
     this.CanMoveForm();
     BtnRestart.MouseDown += (sender, e) => { ExternalProgram.RestartExplorer(); this.Visible = false; };
     ShowHandler          += (sender, e) => this.Visible = true;
 }
Beispiel #9
0
 private void CloseMainForm()
 {
     if (explorerRestarter.Visible && AppMessageBox.Show(explorerRestarter.Text,
                                                         MessageBoxButtons.OKCancel) == DialogResult.OK)
     {
         ExternalProgram.RestartExplorer();
     }
     this.Opacity              = 0;
     this.WindowState          = FormWindowState.Normal;
     explorerRestarter.Visible = false;
     AppConfig.MainFormSize    = this.Size;
 }
        private void RunCortona(TopicModel topic, string tPath, string appName)
        {
            if (string.IsNullOrEmpty(topic.vmpPath))
            {
                topic.vmpPath = topic.vmpPathDEFAULT;
            }

            topic.isOpened = 1;
            File.WriteAllText(tPath, JsonConvert.SerializeObject(topic));

            ExternalProgram.OpenAppWindow(topic, tPath, appName, PathHelper.GetToolsPath(), onExit: UpdateTopicNameOnCortonaExit);
        }
Beispiel #11
0
        private static void AddExternalProgramFromRegistry(TaskSettings taskSettings, string name, string fileName)
        {
            if (!taskSettings.ExternalPrograms.Exists(x => x.Name == name))
            {
                string filePath = RegistryHelpers.SearchProgramPath(fileName);

                if (!string.IsNullOrEmpty(filePath))
                {
                    ExternalProgram externalProgram = new ExternalProgram(name, filePath);
                    taskSettings.ExternalPrograms.Add(externalProgram);
                }
            }
        }
Beispiel #12
0
 private void btnActionsAdd_Click(object sender, EventArgs e)
 {
     using (ExternalProgramForm form = new ExternalProgramForm())
     {
         if (form.ShowDialog() == DialogResult.OK)
         {
             ExternalProgram fileAction = form.FileAction;
             fileAction.IsActive = true;
             TaskSettings.ExternalPrograms.Add(fileAction);
             AddFileAction(fileAction);
         }
     }
 }
        private void AddDirItem()
        {
            MyListItem item = new MyListItem
            {
                Text  = Path.GetFileNameWithoutExtension(SendToPath),
                Image = ResourceIcon.GetFolderIcon(SendToPath).ToBitmap()
            };
            PictureButton btnPath = new PictureButton(AppImage.Open);

            MyToolTip.SetToolTip(btnPath, AppString.Menu.FileLocation);
            btnPath.MouseDown += (sender, e) => ExternalProgram.JumpExplorer(SendToPath);
            item.AddCtr(btnPath);
            this.InsertItem(item, 1);
        }
Beispiel #14
0
        public ActionsForm(ExternalProgram fileAction)
        {
            InitializeComponent();
            Icon = ShareXResources.Icon;

            FileAction        = fileAction;
            txtName.Text      = fileAction.Name ?? "";
            txtPath.Text      = fileAction.Path ?? "";
            txtArguments.Text = fileAction.Args ?? "";
            CodeMenu.Create <ActionsCodeMenuEntry>(txtArguments);
            txtOutputExtension.Text = fileAction.OutputExtension ?? "";
            txtExtensions.Text      = fileAction.Extensions ?? "";
            cbHiddenWindow.Checked  = fileAction.HiddenWindow;
        }
Beispiel #15
0
        public ActionsForm(ExternalProgram fileAction)
        {
            InitializeComponent();
            ShareXResources.ApplyTheme(this);

            FileAction        = fileAction;
            txtName.Text      = fileAction.Name ?? "";
            txtPath.Text      = fileAction.Path ?? "";
            txtArguments.Text = fileAction.Args ?? "";
            CodeMenu.Create <CodeMenuEntryActions>(txtArguments);
            txtOutputExtension.Text   = fileAction.OutputExtension ?? "";
            txtExtensions.Text        = fileAction.Extensions ?? "";
            cbHiddenWindow.Checked    = fileAction.HiddenWindow;
            cbDeleteInputFile.Checked = fileAction.DeleteInputFile;
        }
Beispiel #16
0
        public override void RunTestProjectIn(string testProjectFolder)
        {
            var testProjectName = Path.GetFileName(testProjectFolder);
            var solutionFolder  = Path.GetDirectoryName(testProjectFolder);

            ExternalProgram.ExecIn(
                solutionFolder,
                "msbuild",
                "/p:Configuration=Debug");
            ExternalProgram.Exec("nunit3-console", Path.Combine(
                                     testProjectFolder,
                                     "bin",
                                     "Debug",
                                     $"{testProjectName}.dll"));
        }
 public LanguagesBox()
 {
     this.Dock = DockStyle.Fill;
     this.Font = new Font(SystemFonts.MenuFont.FontFamily, 10F);
     this.Controls.AddRange(new Control[] { cmbLanguages, btnOpenDir, btnDownLoad, btnTranslate, txtTranslators });
     cmbLanguages.SelectionChangeCommitted += (sender, e) => ChangeLanguage();
     btnDownLoad.MouseDown  += (sender, e) => ExternalProgram.OpenUrl(OtherLanguagesUrl);
     btnOpenDir.MouseDown   += (sender, e) => ExternalProgram.JumpExplorer(AppConfig.LangsDir);
     btnTranslate.MouseDown += (sender, e) => new TranslateDialog().ShowDialog();
     MyToolTip.SetToolTip(btnOpenDir, AppString.Tip.OpenLanguagesDir);
     MyToolTip.SetToolTip(btnDownLoad, AppString.Tip.OtherLanguages);
     MyToolTip.SetToolTip(btnTranslate, AppString.Dialog.TranslateTool);
     txtTranslators.SetAutoShowScroll(ScrollBars.Vertical);
     this.OnResize(null);
 }
Beispiel #18
0
 public DeleteMeMenuItem(ITsiDeleteItem item) : base(AppString.Menu.Delete)
 {
     this.Click += (sender, e) =>
     {
         if (item is ITsiRegDeleteItem regItem && AppConfig.AutoBackup)
         {
             if (AppMessageBox.Show(AppString.Message.DeleteButCanRestore,
                                    MessageBoxButtons.YesNo) != DialogResult.Yes)
             {
                 return;
             }
             string date     = DateTime.Today.ToString("yyyy-MM-dd");
             string time     = DateTime.Now.ToString("HH.mm.ss");
             string filePath = $@"{AppConfig.BackupDir}\{date}\{regItem.Text} - {time}.reg";
             Directory.CreateDirectory(Path.GetDirectoryName(filePath));
             ExternalProgram.ExportRegistry(regItem.RegPath, filePath);
         }
Beispiel #19
0
        private void btnActionsEdit_Click(object sender, EventArgs e)
        {
            if (lvActions.SelectedItems.Count > 0)
            {
                ListViewItem    lvi        = lvActions.SelectedItems[0];
                ExternalProgram fileAction = lvi.Tag as ExternalProgram;

                using (ExternalProgramForm form = new ExternalProgramForm(fileAction))
                {
                    if (form.ShowDialog() == DialogResult.OK)
                    {
                        lvi.Text             = fileAction.Name ?? "";
                        lvi.SubItems[1].Text = fileAction.Path ?? "";
                        lvi.SubItems[2].Text = fileAction.Args ?? "";
                    }
                }
            }
        }
Beispiel #20
0
        protected void ExecNuLinkIn(string directory, params string[] args)
        {
            string[] output;

            if (TestEnvironment.ShouldUseInstalledNuLinkBinary)
            {
                output = ExternalProgram.ExecIn(directory, TestEnvironment.InstalledNuLinkBinaryPath, args);
            }
            else
            {
                output = ExternalProgram.ExecIn(
                    directory,
                    "dotnet",
                    new[] { TestEnvironment.CompiledNuLinkBinaryPath }.Concat(args).ToArray());
            }

            NuLinkOutput.AddRange(output);
        }
Beispiel #21
0
        public ObjectPathButton(IBtnOpenPathItem item) : base(AppImage.Open)
        {
            ((MyListItem)item).AddCtr(this);
            this.MouseDown += (sender, e) =>
            {
                switch (item.PathType)
                {
                case PathType.File:
                case PathType.Directory:
                    ExternalProgram.JumpExplorer(item.TargetPath);
                    break;

                case PathType.Registry:
                    ExternalProgram.JumpRegEdit(item.TargetPath, null, AppConfig.OpenMoreRegedit);
                    break;
                }
            };
        }
Beispiel #22
0
        private static bool UpdateApp()
        {
            IniReader reader   = new IniReader(new StringBuilder(GetWebString(UpdateUrl)));
            Version   version1 = new Version(reader.GetValue("Update", "Version"));
            Version   version2 = new Version(Application.ProductVersion);

            if (version1.CompareTo(version2) > 0)
            {
                string info = reader.GetValue("Update", "Info").Replace("\\n", "\n");
                if (MessageBoxEx.Show($"{AppString.MessageBox.UpdateApp}{version1}\n{info}",
                                      MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                {
                    string url = reader.GetValue("Update", "Url");
                    ExternalProgram.OpenUrl(url);
                    return(true);
                }
            }
            return(false);
        }
Beispiel #23
0
        /// <summary>显示捐赠名单对话框</summary>
        public static void ShowDonateDialog()
        {
            string url      = AppConfig.RequestUseGithub ? GithubDonateRaw : GiteeDonateRaw;
            string contents = GetWebString(url);

            //contents = File.ReadAllText(@"..\..\..\Donate.md");//用于求和更新Donate.md文件
            if (contents == null)
            {
                MessageBoxEx.Show(AppString.Message.NetworkDtaReadFailed);
                url = AppConfig.RequestUseGithub ? GithubDonate : GiteeDonate;
                ExternalProgram.OpenUrl(url);
            }
            else
            {
                using (DonateListDialog dlg = new DonateListDialog())
                {
                    dlg.DanateData = contents;
                    dlg.ShowDialog();
                }
            }
        }
Beispiel #24
0
        private void SetupGiven(AcceptanceTestCase testCase)
        {
            var target = testCase.Target;

            foreach (var package in testCase.Given.Packages)
            {
                var packageId = target.PackageId(package.Key);
                SetupGivenPackageState(packageId, package.Value);
            }

            Directory.SetCurrentDirectory(testCase.GivenCurrentDiectory ?? TestEnvironment.DemoFolder);

            void SetupGivenPackageState(string packageId, PackageEntry package)
            {
                var packageSourceFolder = target.PackageSolutionFolder(packageId);
                var patchFilePath       = Path.Combine(TestEnvironment.DemoFolder, "modify-test-case-packages.patch");

                if (package.State.HasFlag(PackageStates.Patched))
                {
                    ExternalProgram.ExecIn(packageSourceFolder, "git", "apply", "--ignore-whitespace", patchFilePath);
                }

                if (package.State.HasFlag(PackageStates.Built))
                {
                    target.RestoreSolutionPackagesIn(packageSourceFolder);
                    target.BuildPackageProjectIn(packageSourceFolder);
                }

                if (package.State.HasFlag(PackageStates.Linked))
                {
                    ExecNuLinkIn(
                        testCase.Target.ConsumerSolutionFolder,
                        "link",
                        "-p", packageId,
                        "-l", testCase.Target.PackageProjectFile(packageId));
                }
            }
        }
 public DictionariesBox()
 {
     this.Dock = DockStyle.Fill;
     this.Controls.AddRange(pages);
     this.Font = new Font(SystemFonts.MenuFont.FontFamily, 10F);
     cms.Items.AddRange(items);
     for (int i = 0; i < 5; i++)
     {
         boxs[i] = new ReadOnlyRichTextBox {
             Parent = pages[i]
         };
         if (i > 0)
         {
             boxs[i].ContextMenuStrip = cms;
         }
     }
     items[0].Click += (sender, e) => ExternalProgram.OpenNotepadWithText(GetInitialText());
     items[2].Click += (sender, e) => SaveFile();
     boxs[0].Controls.Add(btnOpenDir);
     btnOpenDir.Top = boxs[0].Height - btnOpenDir.Height;
     MyToolTip.SetToolTip(btnOpenDir, AppString.Tip.OpenDictionariesDir);
     btnOpenDir.MouseDown += (sender, e) => ExternalProgram.JumpExplorer(AppConfig.DicsDir);
 }
Beispiel #26
0
        private void AddDirItem()
        {
            MyListItem item = new MyListItem
            {
                Text  = Path.GetFileNameWithoutExtension(SendToPath),
                Image = ResourceIcon.GetFolderIcon(SendToPath).ToBitmap()
            };
            PictureButton btnPath = new PictureButton(AppImage.Open);

            ToolTipBox.SetToolTip(btnPath, AppString.Menu.FileLocation);
            btnPath.MouseDown += (sender, e) => ExternalProgram.OpenDirectory(SendToPath);
            item.AddCtr(btnPath);
            this.InsertItem(item, 1);
            item.ContextMenuStrip = new ContextMenuStrip();
            ToolStripMenuItem tsiRestoreDefault = new ToolStripMenuItem(AppString.Menu.RestoreDefault);

            item.ContextMenuStrip.Items.Add(tsiRestoreDefault);
            tsiRestoreDefault.Enabled = Directory.Exists(DefaultSendToPath);
            tsiRestoreDefault.Click  += (sender, e) =>
            {
                if (AppMessageBox.Show(AppString.Message.RestoreDefault, MessageBoxButtons.OKCancel) == DialogResult.OK)
                {
                    File.SetAttributes(SendToPath, FileAttributes.Normal);
                    Directory.Delete(SendToPath, true);
                    Directory.CreateDirectory(SendToPath);
                    File.SetAttributes(SendToPath, File.GetAttributes(DefaultSendToPath));
                    foreach (string srcPath in Directory.GetFiles(DefaultSendToPath))
                    {
                        string dstPath = $@"{SendToPath}\{Path.GetFileName(srcPath)}";
                        File.Copy(srcPath, dstPath);
                    }
                    this.ClearItems();
                    this.LoadItems();
                }
            };
        }
Beispiel #27
0
 public override void RunTestProjectIn(string testProjectFolder)
 {
     ExternalProgram.Exec("dotnet", "test", testProjectFolder);
 }
Beispiel #28
0
 public override void BuildPackageProjectIn(string projectFolder)
 {
     ExternalProgram.ExecIn(projectFolder, "dotnet", "build", "-c", "Debug");
 }
Beispiel #29
0
        public AppSettingBox()
        {
            this.SuspendLayout();
            this.Font = SystemFonts.MenuFont;
            this.Font = new Font(this.Font.FontFamily, this.Font.Size + 1F);
            mliConfigDir.AddCtrs(new Control[] { cmbConfigDir, btnConfigDir });
            mliBackup.AddCtrs(new Control[] { chkBackup, btnBackupDir });
            mliUpdate.AddCtrs(new Control[] { cmbUpdate, btnUpdate });
            mliRepo.AddCtr(cmbRepo);
            mliTopMost.AddCtr(chkTopMost);
            mliProtect.AddCtr(chkProtect);
            mliEngine.AddCtr(cmbEngine);
            mliWinXSortable.AddCtr(chkWinXSortable);
            mliShowFilePath.AddCtr(chkShowFilePath);
            mliOpenMoreRegedit.AddCtr(chkOpenMoreRegedit);
            mliOpenMoreExplorer.AddCtr(chkOpenMoreExplorer);
            mliHideDisabledItems.AddCtr(chkHideDisabledItems);
            mliHideSysStoreItems.AddCtr(chkHideSysStoreItems);

            ToolTipBox.SetToolTip(btnUpdate, AppString.Tip.ImmediatelyCheck);
            ToolTipBox.SetToolTip(cmbConfigDir, AppString.Tip.ConfigPath);
            ToolTipBox.SetToolTip(btnConfigDir, AppString.Menu.FileLocation);
            ToolTipBox.SetToolTip(btnBackupDir, AppString.Menu.FileLocation);

            cmbRepo.Items.AddRange(new[] { "Github", "Gitee" });
            cmbConfigDir.Items.AddRange(new[] { AppString.Other.AppDataDir, AppString.Other.AppDir });
            cmbEngine.Items.AddRange(AppConfig.EngineUrlsDic.Keys.ToArray());
            cmbEngine.Items.Add(AppString.Other.CustomEngine);
            cmbUpdate.Items.AddRange(new[] { AppString.Other.OnceAWeek, AppString.Other.OnceAMonth,
                                             AppString.Other.OnceASeason, AppString.Other.NeverCheck });

            cmbConfigDir.Width         = cmbEngine.Width = cmbUpdate.Width = cmbRepo.Width = 120.DpiZoom();
            cmbConfigDir.DropDownStyle = cmbEngine.DropDownStyle = cmbUpdate.DropDownStyle
                                                                       = cmbRepo.DropDownStyle = ComboBoxStyle.DropDownList;
            cmbConfigDir.AutosizeDropDownWidth();
            cmbEngine.AutosizeDropDownWidth();
            cmbUpdate.AutosizeDropDownWidth();
            cmbRepo.AutosizeDropDownWidth();

            btnUpdate.MouseDown += (sender, e) =>
            {
                this.Cursor = Cursors.WaitCursor;
                Updater.Update(true);
                this.Cursor = Cursors.Default;
            };
            btnConfigDir.MouseDown                += (sender, e) => ExternalProgram.OpenDirectory(AppConfig.ConfigDir);
            btnBackupDir.MouseDown                += (sender, e) => ExternalProgram.OpenDirectory(AppConfig.BackupDir);
            chkBackup.CheckChanged                += () => AppConfig.AutoBackup = chkBackup.Checked;
            chkProtect.CheckChanged               += () => AppConfig.ProtectOpenItem = chkProtect.Checked;
            chkWinXSortable.CheckChanged          += () => AppConfig.WinXSortable = chkWinXSortable.Checked;
            chkOpenMoreRegedit.CheckChanged       += () => AppConfig.OpenMoreRegedit = chkOpenMoreRegedit.Checked;
            chkTopMost.CheckChanged               += () => AppConfig.TopMost = this.FindForm().TopMost = chkTopMost.Checked;
            chkOpenMoreExplorer.CheckChanged      += () => AppConfig.OpenMoreExplorer = chkOpenMoreExplorer.Checked;
            chkHideDisabledItems.CheckChanged     += () => AppConfig.HideDisabledItems = chkHideDisabledItems.Checked;
            chkHideSysStoreItems.CheckChanged     += () => AppConfig.HideSysStoreItems = chkHideSysStoreItems.Checked;
            cmbRepo.SelectionChangeCommitted      += (sender, e) => AppConfig.RequestUseGithub = cmbRepo.SelectedIndex == 0;
            chkShowFilePath.CheckChanged          += () => AppConfig.ShowFilePath = chkShowFilePath.Checked;
            cmbUpdate.SelectionChangeCommitted    += (sender, e) => ChangeUpdateFrequency();
            cmbConfigDir.SelectionChangeCommitted += (sender, e) => ChangeConfigDir();
            cmbEngine.SelectionChangeCommitted    += (sender, e) => ChangeEngineUrl();
            this.ResumeLayout();
        }
Beispiel #30
0
 private void OnSendFeedback_Click(object sender, DevExpress.Xpf.Bars.ItemClickEventArgs e)
 {
     ExternalProgram.SendFeedback();
 }