public ProjectQtSettings(EnvDTE.Project proj) { versionManager = QtVersionManager.The(); project = proj; newMocDir = oldMocDir = QtVSIPSettings.GetMocDirectory(project); newMocOptions = oldMocOptions = QtVSIPSettings.GetMocOptions(project); newRccDir = oldRccDir = QtVSIPSettings.GetRccDirectory(project); newUicDir = oldUicDir = QtVSIPSettings.GetUicDirectory(project); newLUpdateOnBuild = oldLUpdateOnBuild = QtVSIPSettings.GetLUpdateOnBuild(project); newLUpdateOptions = oldLUpdateOptions = QtVSIPSettings.GetLUpdateOptions(project); newLReleaseOptions = oldLReleaseOptions = QtVSIPSettings.GetLReleaseOptions(project); newDesignerOptions = oldDesignerOptions = QtVSIPSettings.GetDesignerOptions(project); newLinguistOptions = oldLinguistOptions = QtVSIPSettings.GetLinguistOptions(project); newAssistantOptions = oldAssistantOptions = QtVSIPSettings.GetAssistantOptions(project); newQtVersion = oldQtVersion = versionManager.GetProjectQtVersion(project); }
public VSQtSettings() { newMocDir = QtVSIPSettings.GetMocDirectory(); newMocOptions = QtVSIPSettings.GetMocOptions(); newRccDir = QtVSIPSettings.GetRccDirectory(); newUicDir = QtVSIPSettings.GetUicDirectory(); newLUpdateOnBuild = QtVSIPSettings.GetLUpdateOnBuild(); newLUpdateOptions = QtVSIPSettings.GetLUpdateOptions(); newLReleaseOptions = QtVSIPSettings.GetLReleaseOptions(); newDesignerOptions = QtVSIPSettings.GetDesignerOptions(); newLinguistOptions = QtVSIPSettings.GetLinguistOptions(); newAssistantOptions = QtVSIPSettings.GetAssistantOptions(); newAskBeforeCheckoutFile = QtVSIPSettings.GetAskBeforeCheckoutFile(); newDisableCheckoutFiles = QtVSIPSettings.GetDisableCheckoutFiles(); newDisableAutoMOCStepsUpdate = QtVSIPSettings.GetDisableAutoMocStepsUpdate(); }
public void loadDesigner(string fileName) { string qtVersion = null; QtVersionManager vm = QtVersionManager.The(HelperFunctions.GetSolutionPlaformName(Connect._applicationObject.Solution)); Project prj = HelperFunctions.GetSelectedQtProject(Connect._applicationObject); if (prj != null) { vm.SetPlatform(prj.ConfigurationManager.ActiveConfiguration.PlatformName); qtVersion = vm.GetProjectQtVersion(prj); if (qtVersion == null) { qtVersion = vm.GetSolutionQtVersion(Connect._applicationObject.Solution); } } else { prj = HelperFunctions.GetSelectedProject(Connect._applicationObject); if (prj != null && HelperFunctions.IsQMakeProject(prj)) { string qmakeQtDir = HelperFunctions.GetQtDirFromQMakeProject(prj); qtVersion = vm.GetQtVersionFromInstallDir(qmakeQtDir); } if (qtVersion == null) { qtVersion = vm.GetSolutionQtVersion(Connect._applicationObject.Solution); } } string qtDir = HelperFunctions.FindQtDirWithTools("designer", qtVersion); if (qtDir == null || qtDir.Length == 0) { MessageBox.Show(SR.GetString("NoDefaultQtVersionError"), Resources.msgBoxCaption); return; } try { if (!designerDict.ContainsKey(qtDir) || designerDict[qtDir].process.HasExited) { string workingDir, formFile; if (fileName == null) { formFile = ""; workingDir = (prj == null) ? null : Path.GetDirectoryName(prj.FullName); } else { formFile = fileName; workingDir = Path.GetDirectoryName(fileName); if (!formFile.StartsWith("\"")) { formFile = "\"" + formFile; } if (!formFile.EndsWith("\"")) { formFile += "\""; } } string options = QtVSIPSettings.GetDesignerOptions(prj); string launchCMD = "-server " + formFile; if (options != null && options != "") { launchCMD = options + " " + launchCMD; } System.Diagnostics.Process tmp = getQtApplicationProcess("designer", launchCMD, workingDir, qtDir); tmp.StartInfo.UseShellExecute = false; tmp.StartInfo.RedirectStandardOutput = true; tmp.OutputDataReceived += new DataReceivedEventHandler(designerOutputHandler); tmp.Start(); tmp.BeginOutputReadLine(); try { portFound.WaitOne(5000, false); } catch (Exception e) { MessageBox.Show(e.Message); } tmp.WaitForInputIdle(); DesignerData data; data.process = tmp; data.port = designerPort; portFound.Reset(); designerDict[qtDir] = data; } else if (fileName != null) { try { TcpClient c = new TcpClient("127.0.0.1", designerDict[qtDir].port); System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding(); byte[] bArray = enc.GetBytes(fileName + "\n"); Stream stream = c.GetStream(); stream.Write(bArray, 0, bArray.Length); c.Close(); stream.Close(); } catch { Messages.DisplayErrorMessage(SR.GetString("DesignerAddError")); } } } catch { MessageBox.Show(SR.GetString("QtAppNotFoundErrorMessage", "Qt Designer"), SR.GetString("QtAppNotFoundErrorTitle", "Designer")); return; } try { if ((int)designerDict[qtDir].process.MainWindowHandle == 0) { System.Diagnostics.Process prc = System.Diagnostics.Process.GetProcessById(designerDict[qtDir].process.Id); if ((int)prc.MainWindowHandle != 0) { DesignerData data; data.process = prc; data.port = designerDict[qtDir].port; designerDict[qtDir] = data; } } SwitchToThisWindow(designerDict[qtDir].process.MainWindowHandle, true); } catch { // silent } }