diff options
author | Miguel Costa <miguel.costa@qt.io> | 2019-02-04 13:58:07 +0100 |
---|---|---|
committer | Miguel Costa <miguel.costa@qt.io> | 2019-02-14 10:23:53 +0000 |
commit | 0bbd2bb873bec51237cc7b481bac9ad4a54f25de (patch) | |
tree | 7cb798c40f8e21dd86d9e15c5f1410a2e72aa569 | |
parent | c7783258f872d84f5cbc62926ba1bb6fabd810a3 (diff) |
Show version in Qt VS Tools menu
Will now show the installed version of the Qt Visual Studio tools at the
top of the main menu. This will allow users to be aware of any automatic
version updates.
Also, to prevent access to the main menu while the extension is loading,
all menu items except the version will only be visible after extension
initialization is complete.
Task-number: QTVSADDINBUG-607
Change-Id: If1ce93f880d649f691d8e44919762ddb53cb1736
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | src/qtvstools/QtMainMenu.cs | 6 | ||||
-rw-r--r-- | src/qtvstools/QtMenus.vsct_TT (renamed from src/qtvstools/QtMenus.vsct) | 44 | ||||
-rw-r--r-- | src/qtvstools/QtVsTools.csproj | 9 |
4 files changed, 60 insertions, 0 deletions
@@ -294,3 +294,4 @@ src/qttemplates/designer/designer.vstemplate src/qttemplates/gui/gui.vstemplate src/qttemplates/lib/lib.vstemplate src/qttemplates/server/server.vstemplate +src/qtvstools/QtMenus.vsct diff --git a/src/qtvstools/QtMainMenu.cs b/src/qtvstools/QtMainMenu.cs index b68700fa..8679790e 100644 --- a/src/qtvstools/QtMainMenu.cs +++ b/src/qtvstools/QtMainMenu.cs @@ -69,6 +69,7 @@ namespace QtVsTools /// </summary> private enum CommandId { + QtVersionId = 0x0500, LaunchDesignerId = 0x0100, LaunchLinguistId = 0x0101, OpenProFileId = 0x0102, @@ -219,6 +220,11 @@ namespace QtVsTools return; switch ((CommandId) command.CommandID.ID) { + case CommandId.QtVersionId: + command.Text = "Qt Visual Studio Tools version " + Version.PRODUCT_VERSION; + command.Visible = true; + command.Enabled = false; + break; case CommandId.LaunchDesignerId: case CommandId.LaunchLinguistId: case CommandId.OpenProFileId: diff --git a/src/qtvstools/QtMenus.vsct b/src/qtvstools/QtMenus.vsct_TT index 36f798df..69ce3cad 100644 --- a/src/qtvstools/QtMenus.vsct +++ b/src/qtvstools/QtMenus.vsct_TT @@ -27,6 +27,10 @@ ** $QT_END_LICENSE$ ** ***************************************************************************** +<#@output extension="vsct" #> +<#@include file="$(SolutionDir)\version.tt" #> + ** <#=WARNING_GENERATED_FILE#> + ***************************************************************************** --> <CommandTable xmlns="http://schemas.microsoft.com/VisualStudio/2005-10-18/CommandTable" @@ -95,6 +99,9 @@ <!-- Region Main menu groups --> + <Group guid="MainMenuGuid" id="VersionMenuGroup" priority="0x0500"> + <Parent guid="MainMenuGuid" id="QtMainMenu"/> + </Group> <Group guid="MainMenuGuid" id="LaunchMenuGroup" priority="0x0600"> <Parent guid="MainMenuGuid" id="QtMainMenu"/> </Group> @@ -172,10 +179,28 @@ <!-- Region Main menu buttons --> + <Button guid="MainMenuGuid" id="QtVersionId" priority="0x0100" type="Button"> + <Parent guid="MainMenuGuid" id="VersionMenuGroup" /> + <Icon guid="MenuImages" id="QtLogoBitmap" /> + <CommandFlag>DefaultDisabled</CommandFlag> + <CommandFlag>NoCustomize</CommandFlag> + <CommandFlag>NoButtonCustomize</CommandFlag> + <CommandFlag>NoKeyCustomize</CommandFlag> + <CommandFlag>TextChanges</CommandFlag> + <Strings> + <!-- BEGIN Generated Text <#=XML_COMMENT_END#> + <ButtonText + >Qt Visual Studio Tools version <#=QT_VS_TOOLS_VERSION#>: Initializing...</ButtonText> + <#=XML_COMMENT_BEGIN#> END Generated Text --> + </Strings> + </Button> + <Button guid="MainMenuGuid" id="LaunchDesignerId" priority="0x0100" type="Button"> <Parent guid="MainMenuGuid" id="LaunchMenuGroup" /> <Icon guid="MenuImages" id="LaunchDesignerBitmap" /> <CommandFlag>DefaultDisabled</CommandFlag> + <CommandFlag>DynamicVisibility</CommandFlag> + <CommandFlag>DefaultInvisible</CommandFlag> <Strings> <ButtonText>Launch Qt Designer</ButtonText> <ToolTipText>Start Qt Designer</ToolTipText> @@ -185,6 +210,8 @@ <Parent guid="MainMenuGuid" id="LaunchMenuGroup" /> <Icon guid="MenuImages" id="LaunchLinguistBitmap" /> <CommandFlag>DefaultDisabled</CommandFlag> + <CommandFlag>DynamicVisibility</CommandFlag> + <CommandFlag>DefaultInvisible</CommandFlag> <Strings> <ButtonText>Launch Qt Linguist</ButtonText> <ToolTipText>Start Qt Linguist</ToolTipText> @@ -194,6 +221,8 @@ <Button guid="MainMenuGuid" id="OpenProFileId" priority="0x0100" type="Button"> <Parent guid="MainMenuGuid" id="ProjectMenuGroup" /> <Icon guid="MenuImages" id="OpenProFileBitmap" /> + <CommandFlag>DynamicVisibility</CommandFlag> + <CommandFlag>DefaultInvisible</CommandFlag> <Strings> <ButtonText>Open Qt Project File (.pro)...</ButtonText> <ToolTipText>Open a Qt Project File (.pro), create a new solution, and add a new project to it</ToolTipText> @@ -203,6 +232,8 @@ <Parent guid="MainMenuGuid" id="ProjectMenuGroup" /> <Icon guid="MenuImages" id="ImportPriFileBitmap" /> <CommandFlag>DefaultDisabled</CommandFlag> + <CommandFlag>DynamicVisibility</CommandFlag> + <CommandFlag>DefaultInvisible</CommandFlag> <Strings> <ButtonText>Import .pri File to Project...</ButtonText> <ToolTipText>Import a .pri file and create a Qt project from it</ToolTipText> @@ -212,6 +243,8 @@ <Parent guid="MainMenuGuid" id="ProjectMenuGroup" /> <Icon guid="MenuImages" id="ExportProFileBitmap" /> <CommandFlag>DefaultDisabled</CommandFlag> + <CommandFlag>DynamicVisibility</CommandFlag> + <CommandFlag>DefaultInvisible</CommandFlag> <Strings> <ButtonText>Export Project to .pri File...</ButtonText> <ToolTipText>Export the current project to a .pri file</ToolTipText> @@ -221,6 +254,8 @@ <Parent guid="MainMenuGuid" id="ProjectMenuGroup" /> <Icon guid="MenuImages" id="CreateProFileBitmap" /> <CommandFlag>DefaultDisabled</CommandFlag> + <CommandFlag>DynamicVisibility</CommandFlag> + <CommandFlag>DefaultInvisible</CommandFlag> <Strings> <ButtonText>Create Basic .pro File...</ButtonText> <ToolTipText>Export the current project to a Qt project file (.pro)</ToolTipText> @@ -230,6 +265,8 @@ <Button guid="MainMenuGuid" id="CreateNewTsFileId" priority="0x0100" type="Button"> <Parent guid="MainMenuGuid" id="OthersMenuGroup" /> <CommandFlag>DefaultDisabled</CommandFlag> + <CommandFlag>DynamicVisibility</CommandFlag> + <CommandFlag>DefaultInvisible</CommandFlag> <Strings> <ButtonText>Create New Translation File</ButtonText> <ToolTipText>Create a new translation file that you can open in Qt Linguist</ToolTipText> @@ -257,6 +294,7 @@ <Parent guid="MainMenuGuid" id="OthersMenuGroup" /> <CommandFlag>DefaultDisabled</CommandFlag> <CommandFlag>DynamicVisibility</CommandFlag> + <CommandFlag>DefaultInvisible</CommandFlag> <Strings> <ButtonText>Convert Project to QMake Generated Project</ButtonText> </Strings> @@ -265,6 +303,7 @@ <Parent guid="MainMenuGuid" id="OthersMenuGroup" /> <CommandFlag>DefaultDisabled</CommandFlag> <CommandFlag>DynamicVisibility</CommandFlag> + <CommandFlag>DefaultInvisible</CommandFlag> <Strings> <ButtonText>Qt Project Settings</ButtonText> <ToolTipText>Edit Qt settings of the current project</ToolTipText> @@ -283,6 +322,8 @@ <Button guid="MainMenuGuid" id="QtOptionsId" priority="0x0100" type="Button"> <Parent guid="MainMenuGuid" id="OptionsMenuGroup" /> <Icon guid="MenuImages" id="QtLogoBitmap" /> + <CommandFlag>DynamicVisibility</CommandFlag> + <CommandFlag>DefaultInvisible</CommandFlag> <Strings> <ButtonText>Qt Options</ButtonText> <ToolTipText>Configure the default Qt settings</ToolTipText> @@ -534,6 +575,9 @@ <IDSymbol name="QtMainMenu" value="0x1020"/> + <IDSymbol name="VersionMenuGroup" value="0x5021" /> + <IDSymbol name="QtVersionId" value="0x0500" /> + <IDSymbol name="LaunchMenuGroup" value="0x1021" /> <IDSymbol name="LaunchDesignerId" value="0x0100" /> <IDSymbol name="LaunchLinguistId" value="0x0101" /> diff --git a/src/qtvstools/QtVsTools.csproj b/src/qtvstools/QtVsTools.csproj index b9082147..ab1f547c 100644 --- a/src/qtvstools/QtVsTools.csproj +++ b/src/qtvstools/QtVsTools.csproj @@ -374,8 +374,17 @@ <CopyToOutputDirectory>Always</CopyToOutputDirectory> <IncludeInVSIX>true</IncludeInVSIX> </Content> + <T4Template Include="QtMenus.vsct_TT"> + <Generator>TextTemplatingFileGenerator</Generator> + <OutputFile>QtMenus.vsct</OutputFile> + <DependsOn>$(SolutionDir)\version.targets;$(SolutionDir)\version.tt;$(SolutionDir)\common.tt</DependsOn> + <LastGenOutput>QtMenus.vsct</LastGenOutput> + </T4Template> <VSCTCompile Include="QtMenus.vsct"> <ResourceName>Menus.ctmenu</ResourceName> + <AutoGen>True</AutoGen> + <DesignTime>True</DesignTime> + <DependentUpon>QtMenus.vsct_TT</DependentUpon> </VSCTCompile> </ItemGroup> <ItemGroup> |