aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiguel Costa <miguel.costa@qt.io>2019-02-04 13:58:07 +0100
committerMiguel Costa <miguel.costa@qt.io>2019-02-14 10:23:53 +0000
commit0bbd2bb873bec51237cc7b481bac9ad4a54f25de (patch)
tree7cb798c40f8e21dd86d9e15c5f1410a2e72aa569
parentc7783258f872d84f5cbc62926ba1bb6fabd810a3 (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--.gitignore1
-rw-r--r--src/qtvstools/QtMainMenu.cs6
-rw-r--r--src/qtvstools/QtMenus.vsct_TT (renamed from src/qtvstools/QtMenus.vsct)44
-rw-r--r--src/qtvstools/QtVsTools.csproj9
4 files changed, 60 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index f52cec48..f0c3cc28 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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>