示例#1
0
        private void changeSolutionQtVersion(object sender, EventArgs e)
        {
            var manager = QtVersionManager.The();

            if (formChangeQtVersion == null)
            {
                formChangeQtVersion = new FormChangeQtVersion();
            }
            formChangeQtVersion.UpdateContent(ChangeFor.Solution);
            if (formChangeQtVersion.ShowDialog() == DialogResult.OK)
            {
                var newQtVersion = formChangeQtVersion.GetSelectedQtVersion();
                if (newQtVersion != null)
                {
                    string currentPlatform = null;
                    try {
                        //SolutionConfiguration config = VSPackage.dte.Solution.SolutionBuild.ActiveConfiguration;
                        //SolutionConfiguration2 config2 = config as SolutionConfiguration2;
                        //currentPlatform = config2.PlatformName;
                        Project       prj    = VSPackage.dte.Solution.Projects.Item(1);
                        Configuration config = prj.ConfigurationManager.ActiveConfiguration;
                        currentPlatform = config.PlatformName;
                    }
                    catch {
                    }
                    if (string.IsNullOrEmpty(currentPlatform))
                    {
                        return;
                    }


                    foreach (var project in HelperFunctions.ProjectsInSolution(VSPackage.dte))
                    {
                        if (HelperFunctions.IsQtProject(project))
                        {
                            string OldQtVersion = manager.GetProjectQtVersion(project, currentPlatform);
                            if (OldQtVersion == null)
                            {
                                OldQtVersion = manager.GetDefaultVersion();
                            }

                            var qtProject         = QtProject.Create(project);
                            var newProjectCreated = false;
                            qtProject.ChangeQtVersion(OldQtVersion, newQtVersion, ref newProjectCreated);
                        }
                    }
                    manager.SaveSolutionQtVersion(VSPackage.dte.Solution, newQtVersion);
                }
            }
        }
示例#2
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);
                }
            }
        }