| Index: obsolete/Microsoft.VisualStudio.Project/DontShowAgainDialog.cs
|
| diff --git a/obsolete/Microsoft.VisualStudio.Project/DontShowAgainDialog.cs b/obsolete/Microsoft.VisualStudio.Project/DontShowAgainDialog.cs
|
| deleted file mode 100644
|
| index b0f48b179abb52c77c1001052bad2239284c0558..0000000000000000000000000000000000000000
|
| --- a/obsolete/Microsoft.VisualStudio.Project/DontShowAgainDialog.cs
|
| +++ /dev/null
|
| @@ -1,338 +0,0 @@
|
| -/// Copyright (c) Microsoft Corporation. All rights reserved.
|
| -
|
| -using System;
|
| -using System.ComponentModel;
|
| -using System.Diagnostics;
|
| -using System.Drawing;
|
| -using System.Globalization;
|
| -using System.Windows.Forms;
|
| -using System.Windows.Forms.Design;
|
| -using Microsoft.VisualStudio.Shell;
|
| -using Microsoft.VisualStudio.Shell.Interop;
|
| -using Microsoft.Win32;
|
| -
|
| -namespace Microsoft.VisualStudio.Project
|
| -{
|
| - /// <summary>
|
| - /// Defines a genric don't show again dilaog.
|
| - /// </summary>
|
| - internal partial class DontShowAgainDialog : Form
|
| - {
|
| - #region constants
|
| - /// <summary>
|
| - /// Defines the General subkey under VS hive for the CurrentUser.
|
| - /// </summary>
|
| - private static string GeneralSubKey = "General";
|
| - #endregion
|
| -
|
| - #region fields
|
| - /// <summary>
|
| - /// Defines the bitmap to be drawn
|
| - /// </summary>
|
| - private Bitmap bitmap;
|
| -
|
| - /// <summary>
|
| - /// The associated service provider
|
| - /// </summary>
|
| - private IServiceProvider serviceProvider;
|
| -
|
| - /// <summary>
|
| - /// The help topic associated.
|
| - /// </summary>
|
| - private string helpTopic;
|
| -
|
| - /// <summary>
|
| - /// The value of the don't show again check box
|
| - /// </summary>
|
| - private bool dontShowAgainValue;
|
| - #endregion
|
| -
|
| - #region constructors
|
| - /// <summary>
|
| - /// Overloaded constructor
|
| - /// </summary>
|
| - /// <param name="serviceProvider">The associated service provider.</param>
|
| - /// <param name="messageText">Thetext to be shown on the dialog</param>
|
| - /// <param name="helpTopic">The associated help topic</param>
|
| - /// <param name="button">The default button</param>
|
| - internal DontShowAgainDialog(IServiceProvider serviceProvider, string messageText, string helpTopic, DefaultButton button)
|
| - {
|
| - if(serviceProvider == null)
|
| - {
|
| - throw new ArgumentNullException("serviceProvider");
|
| - }
|
| -
|
| - this.serviceProvider = serviceProvider;
|
| - this.InitializeComponent();
|
| -
|
| - if(button == DefaultButton.OK)
|
| - {
|
| - this.AcceptButton = this.okButton;
|
| - }
|
| - else
|
| - {
|
| - this.AcceptButton = this.cancelButton;
|
| - }
|
| -
|
| -
|
| - this.SetupComponents(messageText, helpTopic);
|
| - }
|
| - #endregion
|
| -
|
| - #region properties
|
| - /// <summary>
|
| - /// The value of the dont' show again checkbox before the dialog is closed.
|
| - /// </summary>
|
| - internal bool DontShowAgainValue
|
| - {
|
| - get
|
| - {
|
| - return this.dontShowAgainValue;
|
| - }
|
| - }
|
| - #endregion
|
| -
|
| - #region methods
|
| - /// <summary>
|
| - /// Shows help for the help topic.
|
| - /// </summary>
|
| - protected virtual void ShowHelp()
|
| - {
|
| - Microsoft.VisualStudio.VSHelp.Help help = this.serviceProvider.GetService(typeof(Microsoft.VisualStudio.VSHelp.Help)) as Microsoft.VisualStudio.VSHelp.Help;
|
| -
|
| - if(help != null)
|
| - {
|
| - help.DisplayTopicFromF1Keyword(this.helpTopic);
|
| - }
|
| - }
|
| -
|
| - /// <summary>
|
| - /// Launches a DontShowAgainDialog if it is needed.
|
| - /// </summary>
|
| - /// <param name="serviceProvider">An associated serviceprovider.</param>
|
| - /// <param name="messageText">The text the dilaog box will contain.</param>
|
| - /// <param name="helpTopic">The associated help topic.</param>
|
| - /// <param name="button">The default button.</param>
|
| - /// <param name="registryKey">The registry key that serves for persisting the not show again value.</param>
|
| - /// <returns>A Dialog result.</returns>
|
| - internal static DialogResult LaunchDontShowAgainDialog(IServiceProvider serviceProvider, string messageText, string helpTopic, DefaultButton button, string registryKey)
|
| - {
|
| - if(String.IsNullOrEmpty(registryKey))
|
| - {
|
| - throw new ArgumentException(SR.GetString(SR.ParameterCannotBeNullOrEmpty, CultureInfo.CurrentUICulture), "registryKey");
|
| - }
|
| -
|
| - DialogResult result = DialogResult.OK;
|
| -
|
| - bool dontShowAgain = ReadDontShowAgainValue(registryKey);
|
| -
|
| - if(!dontShowAgain)
|
| - {
|
| - DontShowAgainDialog dialog = new DontShowAgainDialog(serviceProvider, messageText, helpTopic, button);
|
| - result = dialog.ShowDialog();
|
| -
|
| - // Now write to the registry the value.
|
| - if(dialog.DontShowAgainValue)
|
| - {
|
| - WriteDontShowAgainValue(registryKey, 1);
|
| - }
|
| - }
|
| -
|
| - return result;
|
| - }
|
| -
|
| - /// <summary>
|
| - /// Reads a boolean value specifying whether to show or not show the dialog
|
| - /// </summary>
|
| - /// <param name="registryKey">The key containing the value.</param>
|
| - /// <returns>The value read. If the value cannot be read false is returned.</returns>
|
| - internal static bool ReadDontShowAgainValue(string registryKey)
|
| - {
|
| - bool dontShowAgain = false;
|
| - using(RegistryKey root = VSRegistry.RegistryRoot(__VsLocalRegistryType.RegType_UserSettings))
|
| - {
|
| - if(root != null)
|
| - {
|
| - using(RegistryKey key = root.OpenSubKey(GeneralSubKey))
|
| - {
|
| - int value = (int)key.GetValue(registryKey, 0);
|
| - dontShowAgain = (value != 0);
|
| - }
|
| - }
|
| - }
|
| -
|
| - return dontShowAgain;
|
| - }
|
| -
|
| - /// <summary>
|
| - /// Writes a value 1 in the registrykey and as aresult the dont show again dialog will not be launched.
|
| - /// </summary>
|
| - /// <param name="registryKey">The key to write to.</param>
|
| - /// <param name="value">The value to write.</param>
|
| - internal static void WriteDontShowAgainValue(string registryKey, int value)
|
| - {
|
| - using(RegistryKey root = VSRegistry.RegistryRoot(__VsLocalRegistryType.RegType_UserSettings))
|
| - {
|
| - if(root != null)
|
| - {
|
| - using(RegistryKey key = root.OpenSubKey(GeneralSubKey, true))
|
| - {
|
| - key.SetValue(registryKey, value, RegistryValueKind.DWord);
|
| - }
|
| - }
|
| - }
|
| - }
|
| -
|
| - /// <summary>
|
| - /// Shows the dialog if possible hosted by the IUIService.
|
| - /// </summary>
|
| - /// <returns>A DialogResult</returns>
|
| - internal new DialogResult ShowDialog()
|
| - {
|
| - Debug.Assert(this.serviceProvider != null, "The service provider should not be null at this time");
|
| - IUIService uiService = this.serviceProvider.GetService(typeof(IUIService)) as IUIService;
|
| - if(uiService == null)
|
| - {
|
| - return this.ShowDialog();
|
| - }
|
| -
|
| - return uiService.ShowDialog(this);
|
| - }
|
| -
|
| - /// <summary>
|
| - /// Defines the event delegate when help is requested.
|
| - /// </summary>
|
| - /// <param name="sender"></param>
|
| - /// <param name="hlpevent"></param>
|
| - private void OnHelpRequested(object sender, HelpEventArgs hlpevent)
|
| - {
|
| - if(String.IsNullOrEmpty(this.helpTopic))
|
| - {
|
| - return;
|
| - }
|
| -
|
| - this.ShowHelp();
|
| - hlpevent.Handled = true;
|
| - }
|
| -
|
| - /// <summary>
|
| - /// Defines the delegate that responds to the help button clicked event.
|
| - /// </summary>
|
| - /// <param name="sender">The sender of the event.</param>
|
| - /// <param name="e">An instance of canceleventargs </param>
|
| - private void OnHelpButtonClicked(object sender, CancelEventArgs e)
|
| - {
|
| - if(String.IsNullOrEmpty(this.helpTopic))
|
| - {
|
| - return;
|
| - }
|
| -
|
| - e.Cancel = true;
|
| - this.ShowHelp();
|
| - }
|
| -
|
| - /// <summary>
|
| - /// Called when the dialog box is repainted.
|
| - /// </summary>
|
| - /// <param name="sender">The sender of the event.</param>
|
| - /// <param name="e">The associated paint event args.</param>
|
| - private void OnPaint(object sender, PaintEventArgs e)
|
| - {
|
| - e.Graphics.DrawImage(this.bitmap, new Point(7, this.messageText.Location.Y));
|
| - }
|
| -
|
| -
|
| - /// <summary>
|
| - /// Sets up the components that are not done through teh Initialize components.
|
| - /// </summary>
|
| - /// <param name="helpTopicParam">The associated help topic</param>
|
| - /// <param name="messageTextParam">The message to show on the dilaog.</param>
|
| - private void SetupComponents(string messageTextParam, string helpTopicParam)
|
| - {
|
| - // Compute the Distance to the bottom of the dialog
|
| - int distanceToBottom = this.Size.Height - this.cancelButton.Location.Y;
|
| -
|
| - // The Y end coordinate of the messageText before it assigned its value.
|
| - int deltaY = this.messageText.Location.Y + this.messageText.Size.Height;
|
| -
|
| - // Set the maximum size as the CancelButtonEndX - MessageTextStartX. This way it wil never pass by the button.
|
| - this.messageText.MaximumSize = new Size(this.cancelButton.Location.X + this.cancelButton.Size.Width - this.messageText.Location.X, 0);
|
| - this.messageText.Text = messageTextParam;
|
| -
|
| - // How much it has changed?
|
| - deltaY = this.messageText.Size.Height - deltaY;
|
| - this.AdjustSizesVertically(deltaY, distanceToBottom);
|
| -
|
| - if(String.IsNullOrEmpty(helpTopicParam))
|
| - {
|
| - this.HelpButton = false;
|
| - }
|
| - else
|
| - {
|
| - this.helpTopic = helpTopicParam;
|
| - }
|
| -
|
| - // Create the system icon that will be drawn on the dialog page.
|
| - Icon icon = new Icon(SystemIcons.Exclamation, 40, 40);
|
| -
|
| - // Call ToBitmap to convert it.
|
| - this.bitmap = icon.ToBitmap();
|
| -
|
| - this.CenterToScreen();
|
| - }
|
| -
|
| - /// <summary>
|
| - /// Handles the cancel button clicked event.
|
| - /// </summary>
|
| - /// <param name="sender">The sender of teh event.</param>
|
| - /// <param name="e">The event args associated to teh event.</param>
|
| - private void OnCancelButtonClicked(object sender, EventArgs e)
|
| - {
|
| - this.dontShowAgainValue = this.dontShowAgain.Checked;
|
| - this.DialogResult = DialogResult.Cancel;
|
| - }
|
| -
|
| - /// <summary>
|
| - /// Handles the cancel button clicked event.
|
| - /// </summary>
|
| - /// <param name="sender">The sender of teh event.</param>
|
| - /// <param name="e">The event args associated to teh event.</param>
|
| - private void OnOKButtonClicked(object sender, EventArgs e)
|
| - {
|
| - this.dontShowAgainValue = this.dontShowAgain.Checked;
|
| - this.DialogResult = DialogResult.OK;
|
| - this.Close();
|
| - }
|
| -
|
| - /// <summary>
|
| - /// Moves controls vertically because of a vertical change in the messagetext.
|
| - /// </summary>
|
| - private void AdjustSizesVertically(int deltaY, int distanceToBottom)
|
| - {
|
| - // Move the checkbox to its new location determined by the height the label.
|
| - this.dontShowAgain.Location = new Point(this.dontShowAgain.Location.X, this.dontShowAgain.Location.Y + deltaY);
|
| -
|
| - // Move the buttons to their new location; The X coordinate is fixed.
|
| - int newSizeY = this.cancelButton.Location.Y + deltaY;
|
| - this.cancelButton.Location = new Point(this.cancelButton.Location.X, newSizeY);
|
| -
|
| - newSizeY = this.okButton.Location.Y + deltaY;
|
| - this.okButton.Location = new Point(this.okButton.Location.X, newSizeY);
|
| -
|
| - // Now resize the dialog itself.
|
| - this.Size = new Size(this.Size.Width, this.cancelButton.Location.Y + distanceToBottom);
|
| - }
|
| - #endregion
|
| -
|
| - #region nested types
|
| - /// <summary>
|
| - /// Defines which button to serve as the default button.
|
| - /// </summary>
|
| - internal enum DefaultButton
|
| - {
|
| - OK,
|
| - Cancel,
|
| - }
|
| - #endregion
|
| - }
|
| -}
|
|
|