Пример #1
0
 private void addButton_Click(object sender, EventArgs e)
 {
     VersionInformation.Clear();
     QtVersionManager.The().ClearVersionCache();
     using (var dia = new AddQtVersionDialog()) {
         dia.StartPosition = FormStartPosition.CenterParent;
         var ww = new MainWinWrapper(Vsix.Instance.Dte);
         if (dia.ShowDialog(ww) == DialogResult.OK)
         {
             UpdateListBox();
             SetupDefaultVersionComboBox(null);
         }
     }
 }
        private void addButton_Click(object sender, EventArgs e)
        {
            QtVersionManager.The().ClearVersionCache();
            AddQtVersionDialog dia = new AddQtVersionDialog();

            dia.StartPosition = FormStartPosition.CenterParent;
            MainWinWrapper ww = new MainWinWrapper(Connect._applicationObject);

            if (dia.ShowDialog(ww) == DialogResult.OK)
            {
                UpdateListBox();
                SetupDefaultVersionComboBox(null);
                SetupWinCEVersionComboBox(null);
            }
        }
Пример #3
0
        private void vsQtOptions(object sender, EventArgs e)
        {
            if (formQtVersions == null)
            {
                formQtVersions = new FormVSQtSettings();
                formQtVersions.LoadSettings();
            }
            formQtVersions.StartPosition = FormStartPosition.CenterParent;
            var ww = new MainWinWrapper(VSPackage.dte);

            if (formQtVersions.ShowDialog(ww) == DialogResult.OK)
            {
                formQtVersions.SaveSettings();
            }
        }
Пример #4
0
        private void addButton_Click(object sender, EventArgs e)
        {
            AddQtVersionDialog dia = new AddQtVersionDialog();

            dia.StartPosition = FormStartPosition.CenterParent;
            MainWinWrapper ww = new MainWinWrapper(Connect._applicationObject);

            if (dia.ShowDialog(ww) == DialogResult.OK)
            {
                UpdateListBox();
                SetupVersionComboBox(defaultX86Combo, null, new VIBoolPredicate(isDesktopQt));
                SetupVersionComboBox(defaultX64Combo, null, new VIBoolPredicate(isDesktopQt));
                SetupWinCEVersionComboBox(null);
            }
        }
Пример #5
0
        private void projectQtSettings(object sender, EventArgs e)
        {
            var project = HelperFunctions.GetSelectedQtProject(VSPackage.dte);

            if (project == null)
            {
                MessageBox.Show(SR.GetString("NoProjectOpened"));
                return;
            }

            formProjectQtSettings = formProjectQtSettings ?? new FormProjectQtSettings();
            formProjectQtSettings.SetProject(project);
            formProjectQtSettings.StartPosition = FormStartPosition.CenterParent;
            var wrapper = new MainWinWrapper(VSPackage.dte);

            formProjectQtSettings.ShowDialog(wrapper);
        }
Пример #6
0
        private void changeProjectQtVersion(object sender, EventArgs e)
        {
            var project = HelperFunctions.GetSelectedProject(VSPackage.dte);

            if (project != null && HelperFunctions.IsQMakeProject(project))
            {
                if (formChangeQtVersion == null)
                {
                    formChangeQtVersion = new FormChangeQtVersion();
                }
                formChangeQtVersion.UpdateContent(ChangeFor.Project);
                var ww = new MainWinWrapper(VSPackage.dte);
                if (formChangeQtVersion.ShowDialog(ww) == DialogResult.OK)
                {
                    string           qtVersion = formChangeQtVersion.GetSelectedQtVersion();
                    QtVersionManager vm        = QtVersionManager.The();
                    string           qtPath    = vm.GetInstallPath(qtVersion);
                    HelperFunctions.SetDebuggingEnvironment(project, "PATH=" + qtPath + "\\bin;$(PATH)", true);
                }
            }
        }
Пример #7
0
        private void listView_DoubleClick(object sender, EventArgs e)
        {
            if (listView.SelectedItems == null)
            {
                return;
            }
            if (listView.SelectedItems.Count == 0)
            {
                return;
            }

            VersionInformation.Clear();
            QtVersionManager.The().ClearVersionCache();
            using (var dia = new AddQtVersionDialog()) {
                dia.SetEdit(listView.SelectedItems[0].Text);
                dia.StartPosition = FormStartPosition.CenterParent;
                var ww = new MainWinWrapper(Vsix.Instance.Dte);
                if (dia.ShowDialog(ww) == DialogResult.OK)
                {
                    UpdateListBox();
                    SetupDefaultVersionComboBox(null);
                }
            }
        }
Пример #8
0
        private void execHandler(object sender, EventArgs e)
        {
            var command = sender as OleMenuCommand;

            if (command == null)
            {
                return;
            }

            switch ((CommandId)command.CommandID.ID)
            {
            case CommandId.LaunchDesignerId:
                DefaultEditorsHandler.Instance.StartEditor(DefaultEditor.Kind.Ui);
                break;

            case CommandId.LaunchLinguistId:
                DefaultEditorsHandler.Instance.StartEditor(DefaultEditor.Kind.Ts);
                break;

            case CommandId.OpenProFileId:
                ExtLoader.ImportProFile();
                break;

            case CommandId.ImportPriFileId:
                ExtLoader.ImportPriFile(HelperFunctions.GetSelectedQtProject(Vsix.Instance.Dte));
                break;

            case CommandId.ExportPriFileId:
                ExtLoader.ExportPriFile();
                break;

            case CommandId.ExportProFileId:
                ExtLoader.ExportProFile();
                break;

            case CommandId.CreateNewTsFileId:
                Translation.CreateNewTranslationFile(HelperFunctions.GetSelectedQtProject(Vsix
                                                                                          .Instance.Dte));
                break;

            case CommandId.ConvertToQtId:
            case CommandId.ConvertToQmakeId:
            {
                var caption = SR.GetString("ConvertTitle");
                var text    = SR.GetString("ConvertConfirmation");
                if (MessageBox.Show(text, caption, MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    HelperFunctions.ToggleProjectKind(HelperFunctions.GetSelectedProject(Vsix
                                                                                         .Instance.Dte));
                }
            }
            break;

            case CommandId.ConvertToQtMsBuild:
            {
                QtMsBuildConverter.SolutionToQtMsBuild();
            }
            break;

            case CommandId.QtProjectSettingsId:
            {
                var pro            = HelperFunctions.GetSelectedQtProject(Vsix.Instance.Dte);
                int projectVersion = QtProject.GetFormatVersion(pro);
                if (projectVersion >= Resources.qtMinFormatVersion_Settings)
                {
                    Vsix.Instance.Dte.ExecuteCommand("Project.Properties");
                }
                else if (pro != null)
                {
                    using (var formProjectQtSettings = new FormProjectQtSettings()) {
                        formProjectQtSettings.SetProject(pro);
                        formProjectQtSettings.StartPosition = FormStartPosition.CenterParent;
                        var ww = new MainWinWrapper(Vsix.Instance.Dte);
                        formProjectQtSettings.ShowDialog(ww);
                    }
                }
                else
                {
                    MessageBox.Show(SR.GetString("NoProjectOpened"));
                }
            }
            break;

            case CommandId.ChangeProjectQtVersionId:
            {
                var pro = HelperFunctions.GetSelectedQtProject(Vsix.Instance.Dte);
                if (HelperFunctions.IsQMakeProject(pro))
                {
                    using (var formChangeQtVersion = new FormChangeQtVersion()) {
                        formChangeQtVersion.UpdateContent(ChangeFor.Project);
                        var ww = new MainWinWrapper(Vsix.Instance.Dte);
                        if (formChangeQtVersion.ShowDialog(ww) == DialogResult.OK)
                        {
                            var qtVersion = formChangeQtVersion.GetSelectedQtVersion();
                            HelperFunctions.SetDebuggingEnvironment(pro, "PATH=" + QtVersionManager
                                                                    .The().GetInstallPath(qtVersion) + @"\bin;$(PATH)", true);
                        }
                    }
                }
            }
            break;

            case CommandId.QtOptionsId:
            {
                using (var formQtVersions = new FormVSQtSettings()) {
                    formQtVersions.LoadSettings();
                    formQtVersions.StartPosition = FormStartPosition.CenterParent;
                    var ww = new MainWinWrapper(Vsix.Instance.Dte);
                    if (formQtVersions.ShowDialog(ww) == DialogResult.OK)
                    {
                        formQtVersions.SaveSettings();
                    }
                }
            }
            break;
            }
        }
Пример #9
0
        private void execHandler(object sender, EventArgs e)
        {
            var command = sender as OleMenuCommand;

            if (command == null)
            {
                return;
            }

            switch ((CommandId)command.CommandID.ID)
            {
            case CommandId.ImportPriFileProjectId:
                ExtLoader.ImportPriFile(HelperFunctions.GetSelectedQtProject(Vsix.Instance.Dte));
                break;

            case CommandId.ExportPriFileProjectId:
                ExtLoader.ExportPriFile();
                break;

            case CommandId.ExportProFileProjectId:
                ExtLoader.ExportProFile();
                break;

            case CommandId.CreateNewTsFileProjectId:
                Translation.CreateNewTranslationFile(HelperFunctions.GetSelectedQtProject(Vsix
                                                                                          .Instance.Dte));
                break;

            case CommandId.lUpdateOnProjectId:
                Translation.RunlUpdate(HelperFunctions.GetSelectedQtProject(Vsix.Instance.Dte));
                break;

            case CommandId.lReleaseOnProjectId:
                Translation.RunlRelease(HelperFunctions.GetSelectedQtProject(Vsix.Instance.Dte));
                break;

            case CommandId.ConvertToQtProjectId:
            case CommandId.ConvertToQmakeProjectId:
            {
                var caption = SR.GetString("ConvertTitle");
                var text    = SR.GetString("ConvertConfirmation");
                if (MessageBox.Show(text, caption, MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    HelperFunctions.ToggleProjectKind(HelperFunctions.GetSelectedProject(Vsix
                                                                                         .Instance.Dte));
                }
            }
            break;

            case CommandId.QtProjectSettingsProjectId:
            {
                var pro = HelperFunctions.GetSelectedQtProject(Vsix.Instance.Dte);
                if (pro != null)
                {
                    using (var formProjectQtSettings = new FormProjectQtSettings()) {
                        formProjectQtSettings.SetProject(pro);
                        formProjectQtSettings.StartPosition = FormStartPosition.CenterParent;
                        var ww = new MainWinWrapper(Vsix.Instance.Dte);
                        formProjectQtSettings.ShowDialog(ww);
                    }
                }
                else
                {
                    MessageBox.Show(SR.GetString("NoProjectOpened"));
                }
            }
            break;

            case CommandId.ChangeProjectQtVersionProjectId:
            {
                var pro = HelperFunctions.GetSelectedQtProject(Vsix.Instance.Dte);
                if (HelperFunctions.IsQMakeProject(pro))
                {
                    using (var formChangeQtVersion = new FormChangeQtVersion()) {
                        formChangeQtVersion.UpdateContent(ChangeFor.Project);
                        var ww = new MainWinWrapper(Vsix.Instance.Dte);
                        if (formChangeQtVersion.ShowDialog(ww) == DialogResult.OK)
                        {
                            var qtVersion = formChangeQtVersion.GetSelectedQtVersion();
                            HelperFunctions.SetDebuggingEnvironment(pro, "PATH=" + QtVersionManager
                                                                    .The().GetInstallPath(qtVersion) + @"\bin;$(PATH)", true);
                        }
                    }
                }
            }
            break;

            case CommandId.ProjectAddNewQtClassProjectId:
            {
                try {
                    var project = HelperFunctions.GetSelectedProject(Vsix.Instance.Dte);
                    if (!HelperFunctions.IsQtProject(project))
                    {
                        return;
                    }

                    var vcProject = project.Object as VCProject;
                    if (vcProject == null)
                    {
                        return;
                    }

                    var loop = true;
                    do
                    {
                        var classWizard = new AddClassWizard();
                        loop = classWizard.Run(Vsix.Instance.Dte, vcProject.Name,
                                               vcProject.ProjectDirectory) == WizardResult.Exception;
                    } while (loop);
                } catch {
                    // Deliberately ignore any kind of exception but close the dialog.
                }
            }
            break;
            }
        }
Пример #10
0
        public void Exec(string commandName,
                         EnvDTE.vsCommandExecOption executeOption,
                         ref object varIn,
                         ref object varOut,
                         ref bool handled)
        {
            try
            {
                handled = false;
                if (executeOption == EnvDTE.vsCommandExecOption.vsCommandExecOptionDoDefault)
                {
                    switch (commandName)
                    {
                    case Res.LaunchDesignerFullCommand:
                        handled = true;
                        extLoader.loadDesigner(null);
                        break;

                    case Res.LaunchLinguistFullCommand:
                        handled = true;
                        ExtLoader.loadLinguist(null);
                        break;

                    case Res.LaunchAssistantFullCommand:
                        handled = true;
                        ExtLoader.loadAssistant();
                        break;

                    case Res.ImportProFileFullCommand:
                        handled = true;
                        ExtLoader.ImportProFile();
                        break;

                    case Res.ImportPriFileFullCommand:
                        handled = true;
                        ExtLoader.ImportPriFile(HelperFunctions.GetSelectedQtProject(_applicationObject));
                        break;

                    case Res.ExportPriFileFullCommand:
                        handled = true;
                        ExtLoader.ExportPriFile();
                        break;

                    case Res.ExportProFileFullCommand:
                        handled = true;
                        ExtLoader.ExportProFile();
                        break;

                    case Res.ChangeSolutionQtVersionFullCommand:
                        QtVersionManager vManager = QtVersionManager.The();
                        if (formChangeQtVersion == null)
                        {
                            formChangeQtVersion = new FormChangeQtVersion();
                        }
                        formChangeQtVersion.UpdateContent(ChangeFor.Solution);
                        if (formChangeQtVersion.ShowDialog() == DialogResult.OK)
                        {
                            string newQtVersion = formChangeQtVersion.GetSelectedQtVersion();
                            if (newQtVersion != null)
                            {
                                string currentPlatform = null;
                                try
                                {
                                    SolutionConfiguration  config  = _applicationObject.Solution.SolutionBuild.ActiveConfiguration;
                                    SolutionConfiguration2 config2 = config as SolutionConfiguration2;
                                    currentPlatform = config2.PlatformName;
                                }
                                catch
                                {
                                }
                                if (string.IsNullOrEmpty(currentPlatform))
                                {
                                    return;
                                }

                                vManager.SetPlatform(currentPlatform);

                                foreach (Project project in HelperFunctions.ProjectsInSolution(_applicationObject))
                                {
                                    if (HelperFunctions.IsQt5Project(project))
                                    {
                                        string OldQtVersion = vManager.GetProjectQtVersion(project, currentPlatform);
                                        if (OldQtVersion == null)
                                        {
                                            OldQtVersion = vManager.GetDefaultVersion();
                                        }

                                        QtProject qtProject         = QtProject.Create(project);
                                        bool      newProjectCreated = false;
                                        qtProject.ChangeQtVersion(OldQtVersion, newQtVersion, ref newProjectCreated);
                                    }
                                }
                                vManager.SaveSolutionQtVersion(_applicationObject.Solution, newQtVersion);
                            }
                        }
                        break;

                    case Res.ProjectQtSettingsFullCommand:
                        handled = true;
                        EnvDTE.DTE dte = _applicationObject;
                        Project    pro = HelperFunctions.GetSelectedQtProject(dte);
                        if (pro != null)
                        {
                            if (formProjectQtSettings == null)
                            {
                                formProjectQtSettings = new FormProjectQtSettings();
                            }
                            formProjectQtSettings.SetProject(pro);
                            formProjectQtSettings.StartPosition = FormStartPosition.CenterParent;
                            MainWinWrapper ww = new MainWinWrapper(dte);
                            formProjectQtSettings.ShowDialog(ww);
                        }
                        else
                        {
                            MessageBox.Show(SR.GetString("NoProjectOpened"));
                        }
                        break;

                    case Res.ChangeProjectQtVersionFullCommand:
                        handled = true;
                        dte     = _applicationObject;
                        pro     = HelperFunctions.GetSelectedProject(dte);
                        if (pro != null && HelperFunctions.IsQMakeProject(pro))
                        {
                            if (formChangeQtVersion == null)
                            {
                                formChangeQtVersion = new FormChangeQtVersion();
                            }
                            formChangeQtVersion.UpdateContent(ChangeFor.Project);
                            MainWinWrapper ww = new MainWinWrapper(dte);
                            if (formChangeQtVersion.ShowDialog(ww) == DialogResult.OK)
                            {
                                string           qtVersion = formChangeQtVersion.GetSelectedQtVersion();
                                QtVersionManager vm        = QtVersionManager.The();
                                string           qtPath    = vm.GetInstallPath(qtVersion);
                                HelperFunctions.SetDebuggingEnvironment(pro, "PATH=" + qtPath + "\\bin;$(PATH)", true);
                            }
                        }
                        break;

                    case Res.VSQtOptionsFullCommand:
                        handled = true;
                        if (formQtVersions == null)
                        {
                            formQtVersions = new FormVSQtSettings();
                            formQtVersions.LoadSettings();
                        }
                        formQtVersions.StartPosition = FormStartPosition.CenterParent;
                        MainWinWrapper mww = new MainWinWrapper(_applicationObject);
                        if (formQtVersions.ShowDialog(mww) == DialogResult.OK)
                        {
                            formQtVersions.SaveSettings();
                        }
                        break;

                    case Res.CreateNewTranslationFileFullCommand:
                        handled = true;
                        pro     = HelperFunctions.GetSelectedQtProject(_applicationObject);
                        Translation.CreateNewTranslationFile(pro);
                        break;

                    case Res.CommandBarName + ".Connect.lupdate":
                        handled = true;
                        Translation.RunlUpdate(HelperFunctions.GetSelectedFiles(_applicationObject),
                                               HelperFunctions.GetSelectedQtProject(_applicationObject));
                        break;

                    case Res.CommandBarName + ".Connect.lrelease":
                        handled = true;
                        Translation.RunlRelease(HelperFunctions.GetSelectedFiles(_applicationObject));
                        break;

                    case Res.lupdateProjectFullCommand:
                        handled = true;
                        pro     = HelperFunctions.GetSelectedQtProject(Connect._applicationObject);
                        Translation.RunlUpdate(pro);
                        break;

                    case Res.lreleaseProjectFullCommand:
                        handled = true;
                        pro     = HelperFunctions.GetSelectedQtProject(Connect._applicationObject);
                        Translation.RunlRelease(pro);
                        break;

                    case Res.lupdateSolutionFullCommand:
                        handled = true;
                        Translation.RunlUpdate(Connect._applicationObject.Solution);
                        break;

                    case Res.lreleaseSolutionFullCommand:
                        handled = true;
                        Translation.RunlRelease(Connect._applicationObject.Solution);
                        break;

                    case Res.ConvertToQtFullCommand:
                    case Res.ConvertToQMakeFullCommand:
                        if (MessageBox.Show(SR.GetString("ConvertConfirmation"), SR.GetString("ConvertTitle"), MessageBoxButtons.YesNo) == DialogResult.Yes)
                        {
                            handled = true;
                            dte     = _applicationObject;
                            pro     = HelperFunctions.GetSelectedProject(dte);
                            HelperFunctions.ToggleProjectKind(pro);
                        }
                        break;
                    }
                }
            }
            catch (System.Exception e)
            {
                MessageBox.Show(e.Message + "\r\n\r\nStacktrace:\r\n" + e.StackTrace);
            }
        }
Пример #11
0
        private void execHandler(object sender, EventArgs e)
        {
            ThreadHelper.ThrowIfNotOnUIThread();

            var command = sender as OleMenuCommand;

            if (command == null)
            {
                return;
            }

            switch ((CommandId)command.CommandID.ID)
            {
            case CommandId.ImportPriFileProjectId:
                ExtLoader.ImportPriFile(HelperFunctions.GetSelectedQtProject(QtVsToolsPackage.Instance.Dte));
                break;

            case CommandId.ExportPriFileProjectId:
                ExtLoader.ExportPriFile();
                break;

            case CommandId.ExportProFileProjectId:
                ExtLoader.ExportProFile();
                break;

            case CommandId.lUpdateOnProjectId:
                Translation.RunlUpdate(HelperFunctions.GetSelectedQtProject(QtVsToolsPackage.Instance.Dte));
                break;

            case CommandId.lReleaseOnProjectId:
                Translation.RunlRelease(HelperFunctions.GetSelectedQtProject(QtVsToolsPackage.Instance.Dte));
                break;

            case CommandId.ConvertToQtProjectId:
            case CommandId.ConvertToQmakeProjectId: {
                var caption = SR.GetString("ConvertTitle");
                var text    = SR.GetString("ConvertConfirmation");
                if (MessageBox.Show(text, caption, MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    HelperFunctions.ToggleProjectKind(HelperFunctions.GetSelectedProject(QtVsToolsPackage
                                                                                         .Instance.Dte));
                }
            }
            break;

            case CommandId.QtProjectSettingsProjectId: {
                var pro            = HelperFunctions.GetSelectedQtProject(QtVsToolsPackage.Instance.Dte);
                int projectVersion = QtProject.GetFormatVersion(pro);
                if (projectVersion >= Resources.qtMinFormatVersion_Settings)
                {
                    QtVsToolsPackage.Instance.Dte.ExecuteCommand("Project.Properties");
                }
                else if (pro != null)
                {
                    using (var formProjectQtSettings = new FormProjectQtSettings()) {
                        formProjectQtSettings.SetProject(pro);
                        formProjectQtSettings.StartPosition = FormStartPosition.CenterParent;
                        var ww = new MainWinWrapper(QtVsToolsPackage.Instance.Dte);
                        formProjectQtSettings.ShowDialog(ww);
                    }
                }
                else
                {
                    MessageBox.Show(SR.GetString("NoProjectOpened"));
                }
            }
            break;

            case CommandId.ChangeProjectQtVersionProjectId: {
                var pro = HelperFunctions.GetSelectedQtProject(QtVsToolsPackage.Instance.Dte);
                if (HelperFunctions.IsQMakeProject(pro))
                {
                    using (var formChangeQtVersion = new FormChangeQtVersion()) {
                        formChangeQtVersion.UpdateContent(ChangeFor.Project);
                        var ww = new MainWinWrapper(QtVsToolsPackage.Instance.Dte);
                        if (formChangeQtVersion.ShowDialog(ww) == DialogResult.OK)
                        {
                            var qtVersion = formChangeQtVersion.GetSelectedQtVersion();
                            HelperFunctions.SetDebuggingEnvironment(pro, "PATH=" + QtVersionManager
                                                                    .The().GetInstallPath(qtVersion) + @"\bin;$(PATH)", true);
                        }
                    }
                }
            }
            break;

            case CommandId.ProjectConvertToQtMsBuild: {
                QtMsBuildConverter.ProjectToQtMsBuild(
                    HelperFunctions.GetSelectedProject(QtVsToolsPackage.Instance.Dte));
            }
            break;

            case CommandId.ProjectRefreshIntelliSense: {
                var selectedProject = HelperFunctions.GetSelectedProject(QtVsToolsPackage.Instance.Dte);
                var tracker         = QtProjectTracker.Get(selectedProject, selectedProject.FullName);
                QtProjectIntellisense.Refresh(tracker.Project);
            }
            break;
            }
        }
Пример #12
0
        private void execHandler(object sender, EventArgs e)
        {
            ThreadHelper.ThrowIfNotOnUIThread();

            var command = sender as OleMenuCommand;

            if (command == null)
            {
                return;
            }

            switch ((CommandId)command.CommandID.ID)
            {
            case CommandId.ViewQtHelpId:
                VsShellUtilities.OpenSystemBrowser("https://www.qt.io/developers");
                break;

            case CommandId.LaunchDesignerId:
                QtVsToolsPackage.Instance.QtDesigner.Start(hideWindow: false);
                break;

            case CommandId.LaunchLinguistId:
                QtVsToolsPackage.Instance.QtLinguist.Start(hideWindow: false);
                break;

            case CommandId.OpenProFileId:
                ExtLoader.ImportProFile();
                break;

            case CommandId.ImportPriFileId:
                ExtLoader.ImportPriFile(HelperFunctions.GetSelectedQtProject(QtVsToolsPackage.Instance.Dte));
                break;

            case CommandId.ExportPriFileId:
                ExtLoader.ExportPriFile();
                break;

            case CommandId.ExportProFileId:
                ExtLoader.ExportProFile();
                break;

            case CommandId.ConvertToQtId:
            case CommandId.ConvertToQmakeId: {
                var caption = SR.GetString("ConvertTitle");
                var text    = SR.GetString("ConvertConfirmation");
                if (MessageBox.Show(text, caption, MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    HelperFunctions.ToggleProjectKind(HelperFunctions.GetSelectedProject(QtVsToolsPackage
                                                                                         .Instance.Dte));
                }
            }
            break;

            case CommandId.ConvertToQtMsBuild: {
                QtMsBuildConverter.SolutionToQtMsBuild();
            }
            break;

            case CommandId.QtProjectSettingsId: {
                var pro            = HelperFunctions.GetSelectedQtProject(QtVsToolsPackage.Instance.Dte);
                int projectVersion = QtProject.GetFormatVersion(pro);
                if (projectVersion >= Resources.qtMinFormatVersion_Settings)
                {
                    QtVsToolsPackage.Instance.Dte.ExecuteCommand("Project.Properties");
                }
                else if (pro != null)
                {
                    using (var formProjectQtSettings = new FormProjectQtSettings()) {
                        formProjectQtSettings.SetProject(pro);
                        formProjectQtSettings.StartPosition = FormStartPosition.CenterParent;
                        var ww = new MainWinWrapper(QtVsToolsPackage.Instance.Dte);
                        formProjectQtSettings.ShowDialog(ww);
                    }
                }
                else
                {
                    MessageBox.Show(SR.GetString("NoProjectOpened"));
                }
            }
            break;

            case CommandId.ChangeProjectQtVersionId: {
                var pro = HelperFunctions.GetSelectedQtProject(QtVsToolsPackage.Instance.Dte);
                if (HelperFunctions.IsQMakeProject(pro))
                {
                    using (var formChangeQtVersion = new FormChangeQtVersion()) {
                        formChangeQtVersion.UpdateContent(ChangeFor.Project);
                        var ww = new MainWinWrapper(QtVsToolsPackage.Instance.Dte);
                        if (formChangeQtVersion.ShowDialog(ww) == DialogResult.OK)
                        {
                            var qtVersion = formChangeQtVersion.GetSelectedQtVersion();
                            HelperFunctions.SetDebuggingEnvironment(pro, "PATH=" + QtVersionManager
                                                                    .The().GetInstallPath(qtVersion) + @"\bin;$(PATH)", true);
                        }
                    }
                }
            }
            break;

            case CommandId.QtOptionsId:
                QtVsToolsPackage.Instance.ShowOptionPage(typeof(Options.QtOptionsPage));
                break;

            case CommandId.QtVersionsId:
                QtVsToolsPackage.Instance.ShowOptionPage(typeof(Options.QtVersionsPage));
                break;
            }
        }