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/Options/QtOptionsPage.cs | 67 +++++++++++++++++++++++++--------
1 files changed, 50 insertions(+), 17 deletions(-)
diff --git a/QtVsTools.Package/Options/QtOptionsPage.cs b/QtVsTools.Package/Options/QtOptionsPage.cs
index 5035285..7da27ae 100644
--- a/QtVsTools.Package/Options/QtOptionsPage.cs
+++ b/QtVsTools.Package/Options/QtOptionsPage.cs
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2020 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.
@@ -30,20 +30,20 @@
using System.ComponentModel;
using System.Globalization;
using System.Linq;
-using Microsoft.Win32;
+using System.Linq.Expressions;
+using System.Reflection;
+using Microsoft.Build.Framework;
using Microsoft.VisualStudio.Shell;
using Microsoft.VisualStudio.Shell.Interop;
-using Microsoft.Build.Framework;
+using Microsoft.Win32;
using EnvDTE;
-using QtVsTools.Core;
-using QtVsTools.Common;
-using QtVsTools.VisualStudio;
-using System.Reflection;
-using System.Linq.Expressions;
namespace QtVsTools.Options
{
- using static EnumExt;
+ using Core;
+ using VisualStudio;
+
+ using static Common.EnumExt;
public class QtOptionsPage : DialogPage, IQtVsToolsOptions
{
@@ -85,6 +85,16 @@
[String("BkgBuild_RunQtTools")] RunQtTools,
[String("BkgBuild_DebugInfo")] DebugInfo,
[String("BkgBuild_LoggerVerbosity")] LoggerVerbosity,
+ }
+
+ public enum Notifications
+ {
+ [String("Notifications_Installed")] Installed,
+ }
+
+ public enum Natvis
+ {
+ [String("LinkNatvis")] Link,
}
public enum Timeout : uint { Disabled = 0 }
@@ -144,8 +154,8 @@
object value,
Type destinationType)
{
- if (value.GetType() == typeof(bool) && destinationType == typeof(string))
- return ((bool)value) ? "Enable" : "Disable";
+ if (value is bool b && destinationType == typeof(string))
+ return b ? "Enable" : "Disable";
return base.ConvertTo(context, culture, value, destinationType);
}
}
@@ -170,7 +180,7 @@
[DisplayName("Keyboard shortcut")]
[Description("To change keyboard mapping, go to: Tools > Options > Keyboard")]
[ReadOnly(true)]
- public string QtHelpKeyBinding { get; set; }
+ private string QtHelpKeyBinding { get; set; }
[Category("Help")]
[DisplayName("Preferred source")]
@@ -222,8 +232,25 @@
[Description("Configure verbosity level of background build log.")]
public LoggerVerbosity BuildLoggerVerbosity { get; set; }
+ [Category("Notifications")]
+ [DisplayName("New version installed")]
+ [Description("Show notification when a new version was recently installed.")]
+ [TypeConverter(typeof(EnableDisableConverter))]
+ public bool NotifyInstalled { get; set; }
+
+ [Category("Natvis")]
+ [DisplayName("Embed .natvis file into PDB")]
+ [Description("Embeds the debugger visualizations (.natvis file) into the PDB file"
+ + "generated by LINK. While setting this option, the embedded Natvis file will"
+ + "take precedence over user-specific Natvis files(for example the files"
+ + "located in %USERPROFILE%\\Documents\\Visual Studio 2022\\Visualizers).")]
+ [TypeConverter(typeof(EnableDisableConverter))]
+ public bool LinkNatvis { get; set; }
+
public override void ResetSettings()
{
+ ThreadHelper.ThrowIfNotOnUIThread();
+
QtMsBuildPath = "";
QmlDebuggerEnabled = true;
QmlDebuggerTimeout = (Timeout)60000;
@@ -234,6 +261,8 @@
BuildRunQtTools = ProjectTracking = true;
BuildDebugInformation = false;
BuildLoggerVerbosity = LoggerVerbosity.Quiet;
+ NotifyInstalled = true;
+ LinkNatvis = true;
////////
// Get Qt Help keyboard shortcut
@@ -252,6 +281,8 @@
public override void LoadSettingsFromStorage()
{
+ ThreadHelper.ThrowIfNotOnUIThread();
+
ResetSettings();
try {
QtMsBuildPath = Environment.GetEnvironmentVariable("QTMSBUILD");
@@ -271,10 +302,11 @@
Load(() => BuildRunQtTools, key, BkgBuild.RunQtTools);
Load(() => BuildDebugInformation, key, BkgBuild.DebugInfo);
Load(() => BuildLoggerVerbosity, key, BkgBuild.LoggerVerbosity);
+ Load(() => NotifyInstalled, key, Notifications.Installed);
+ Load(() => LinkNatvis, key, Natvis.Link);
}
} catch (Exception exception) {
- Messages.Print(
- exception.Message + "\r\n\r\nStacktrace:\r\n" + exception.StackTrace);
+ exception.Log();
}
}
@@ -296,7 +328,7 @@
Save(QmlDebuggerEnabled, key, QmlDebug.Enable);
Save(QmlDebuggerTimeout, key, QmlDebug.Timeout);
Save(HelpPreference, key, Help.Preference);
- Save(TryQtHelpOnF1Pressed, key, Help.Preference);
+ Save(TryQtHelpOnF1Pressed, key, Help.TryOnF1Pressed);
Save(DesignerDetached, key, Designer.Detached);
Save(LinguistDetached, key, Linguist.Detached);
Save(ResourceEditorDetached, key, ResEditor.Detached);
@@ -304,10 +336,11 @@
Save(BuildRunQtTools, key, BkgBuild.RunQtTools);
Save(BuildDebugInformation, key, BkgBuild.DebugInfo);
Save(BuildLoggerVerbosity, key, BkgBuild.LoggerVerbosity);
+ Save(NotifyInstalled, key, Notifications.Installed);
+ Save(LinkNatvis, key, Natvis.Link);
}
} catch (Exception exception) {
- Messages.Print(
- exception.Message + "\r\n\r\nStacktrace:\r\n" + exception.StackTrace);
+ exception.Log();
}
}
--
Gitblit v1.9.1