From ca47896204482bf4a6979e3838bf7f09f61cebeb Mon Sep 17 00:00:00 2001
From: giy <giy@omp-system.ru>
Date: Fri, 02 Sep 2022 14:16:56 +0300
Subject: [PATCH] Обновление до версии 2.9.0
---
QtVsTools.Package/Package/QtMainMenu.cs | 115 +++++++++++++++++----------------------------------------
1 files changed, 34 insertions(+), 81 deletions(-)
diff --git a/QtVsTools.Package/Package/QtMainMenu.cs b/QtVsTools.Package/Package/QtMainMenu.cs
index 2c8e90d..7298333 100644
--- a/QtVsTools.Package/Package/QtMainMenu.cs
+++ b/QtVsTools.Package/Package/QtMainMenu.cs
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt VS Tools.
@@ -26,16 +26,17 @@
**
****************************************************************************/
-using EnvDTE;
-using Microsoft.VisualStudio.Shell;
-using QtVsTools.Core;
-using QtVsTools.VisualStudio;
using System;
using System.ComponentModel.Design;
using System.Windows.Forms;
+using Microsoft.VisualStudio.Shell;
+using EnvDTE;
namespace QtVsTools
{
+ using Core;
+ using VisualStudio;
+
/// <summary>
/// Command handler
/// </summary>
@@ -44,24 +45,23 @@
/// <summary>
/// Command menu group (command set GUID).
/// </summary>
- public static readonly Guid MainMenuGuid = new Guid("58f83fff-d39d-4c66-810b-2702e1f04e73");
+ private static readonly Guid MainMenuGuid = new Guid("58f83fff-d39d-4c66-810b-2702e1f04e73");
/// <summary>
/// Gets the instance of the command.
/// </summary>
- public static QtMainMenu Instance
+ private static QtMainMenu Instance
{
get;
- private set;
+ set;
}
/// <summary>
/// Initializes the singleton instance of the command.
/// </summary>
- /// <param name="package">Owner package, not null.</param>
- public static void Initialize(Package package)
+ public static void Initialize()
{
- Instance = new QtMainMenu(package);
+ Instance = new QtMainMenu();
}
/// <summary>
@@ -71,16 +71,14 @@
{
QtVersionId = 0x0500,
ViewQtHelpId = 0x0501,
+ ViewGettingStartedId = 0x0503,
LaunchDesignerId = 0x0100,
LaunchLinguistId = 0x0101,
OpenProFileId = 0x0102,
ImportPriFileId = 0x0103,
ExportPriFileId = 0x0104,
ExportProFileId = 0x0105,
- CreateNewTsFileId = 0x0107,
ConvertToQtMsBuild = 0x0130,
- ConvertToQtId = 0x0124,
- ConvertToQmakeId = 0x0108,
QtProjectSettingsId = 0x0109,
ChangeProjectQtVersionId = 0x0126,
QtOptionsId = 0x0110,
@@ -88,22 +86,12 @@
}
/// <summary>
- /// VS Package that provides this command, not null.
- /// </summary>
- private readonly Package m_package;
-
- /// <summary>
/// Initializes a new instance of the <see cref="QtMainMenu"/> class.
/// Adds our command handlers for menu (commands must exist in the command table file)
/// </summary>
/// <param name="package">Owner package, not null.</param>
- private QtMainMenu(Package package)
+ private QtMainMenu()
{
- if (package == null)
- throw new ArgumentNullException("package");
-
- m_package = package;
-
var commandService = VsServiceProvider
.GetService<IMenuCommandService, OleMenuCommandService>();
if (commandService == null)
@@ -119,6 +107,8 @@
private void execHandler(object sender, EventArgs e)
{
+ ThreadHelper.ThrowIfNotOnUIThread();
+
var command = sender as OleMenuCommand;
if (command == null)
return;
@@ -126,6 +116,9 @@
switch ((CommandId)command.CommandID.ID) {
case CommandId.ViewQtHelpId:
VsShellUtilities.OpenSystemBrowser("https://www.qt.io/developers");
+ break;
+ case CommandId.ViewGettingStartedId:
+ VsShellUtilities.OpenSystemBrowser("https://doc.qt.io/qtvstools/qtvstools-getting-started.html");
break;
case CommandId.LaunchDesignerId:
QtVsToolsPackage.Instance.QtDesigner.Start(hideWindow: false);
@@ -145,23 +138,8 @@
case CommandId.ExportProFileId:
ExtLoader.ExportProFile();
break;
- case CommandId.CreateNewTsFileId:
- Translation.CreateNewTranslationFile(HelperFunctions.GetSelectedQtProject(QtVsToolsPackage
- .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(QtVsToolsPackage
- .Instance.Dte));
- }
- }
- break;
- case CommandId.ConvertToQtMsBuild: {
- QtMsBuildConverter.SolutionToQtMsBuild();
- }
+ case CommandId.ConvertToQtMsBuild:
+ QtMsBuildConverter.SolutionToQtMsBuild();
break;
case CommandId.QtProjectSettingsId: {
var pro = HelperFunctions.GetSelectedQtProject(QtVsToolsPackage.Instance.Dte);
@@ -169,31 +147,14 @@
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);
- }
+ Legacy.QtMenu.ShowFormProjectQtSettings(pro);
} 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);
- }
- }
- }
- }
+ case CommandId.ChangeProjectQtVersionId:
+ Legacy.QtMenu.ShowFormChangeProjectQtVersion();
break;
case CommandId.QtOptionsId:
QtVsToolsPackage.Instance.ShowOptionPage(typeof(Options.QtOptionsPage));
@@ -206,12 +167,17 @@
private void beforeQueryStatus(object sender, EventArgs e)
{
+ ThreadHelper.ThrowIfNotOnUIThread();
+
var command = sender as OleMenuCommand;
if (command == null)
return;
+ var project = HelperFunctions.GetSelectedProject(QtVsToolsPackage.Instance.Dte);
+
switch ((CommandId)command.CommandID.ID) {
case CommandId.ViewQtHelpId:
+ case CommandId.ViewGettingStartedId:
command.Visible = command.Enabled = true;
break;
case CommandId.QtVersionId:
@@ -230,39 +196,26 @@
case CommandId.ImportPriFileId:
case CommandId.ExportPriFileId:
case CommandId.ExportProFileId:
- case CommandId.CreateNewTsFileId: {
- command.Visible = true;
- command.Enabled = HelperFunctions.IsQtProject(HelperFunctions
- .GetSelectedProject(QtVsToolsPackage.Instance.Dte));
- }
+ command.Visible = true;
+ command.Enabled = HelperFunctions.IsVsToolsProject(project);
break;
- // TODO: Fix these functionality and re-enable the menu items
- case CommandId.ConvertToQtId:
- case CommandId.ConvertToQmakeId: {
- command.Visible = false;
- }
- break;
- //case CommandId.ConvertToQmakeId:
case CommandId.QtProjectSettingsId: {
var status = vsCommandStatus.vsCommandStatusSupported;
- var project = HelperFunctions.GetSelectedProject(QtVsToolsPackage.Instance.Dte);
if (project != null) {
- if (HelperFunctions.IsQtProject(project))
+ if (HelperFunctions.IsVsToolsProject(project))
status |= vsCommandStatus.vsCommandStatusEnabled;
- else if (HelperFunctions.IsQMakeProject(project))
+ else if (HelperFunctions.IsQtProject(project))
status |= vsCommandStatus.vsCommandStatusInvisible;
}
command.Enabled = ((status & vsCommandStatus.vsCommandStatusEnabled) != 0);
command.Visible = ((status & vsCommandStatus.vsCommandStatusInvisible) == 0);
}
break;
- //case CommandId.ConvertToQtId:
case CommandId.ChangeProjectQtVersionId: {
var status = vsCommandStatus.vsCommandStatusSupported;
- var project = HelperFunctions.GetSelectedProject(QtVsToolsPackage.Instance.Dte);
- if ((project == null) || HelperFunctions.IsQtProject(project))
+ if ((project == null) || HelperFunctions.IsVsToolsProject(project))
status |= vsCommandStatus.vsCommandStatusInvisible;
- else if (HelperFunctions.IsQMakeProject(project))
+ else if (HelperFunctions.IsQtProject(project))
status |= vsCommandStatus.vsCommandStatusEnabled;
else
status |= vsCommandStatus.vsCommandStatusInvisible;
--
Gitblit v1.9.1