Exemple #1
0
        public void ShowNotification(DisabledKey item, NotifyKind notfiyKind, RegistryChangeInfo changeInfo)
        {
            if (_parent.FirstRun)
                return;
            string message = GetMessage(notfiyKind);
            switch (notfiyKind )
            {
                case NotifyKind.DisabledItemNew:
                    NewDeactivatedElementInfo newInfo = (NewDeactivatedElementInfo)changeInfo;
                    message = string.Format(message, newInfo.OfficeProductVersion, newInfo.Name, Environment.NewLine);
                    break;
                case NotifyKind.DisabledItemDelete:
                    DeleteDeactivatedElementInfo deleteInfo = (DeleteDeactivatedElementInfo)changeInfo;
                    message = string.Format(message, deleteInfo.OfficeProductVersion, deleteInfo.Name, Environment.NewLine);
                    break;
                default:
                    throw new ArgumentOutOfRangeException(notfiyKind.ToString() + " is not valid in this context");
            }

            if (_parent.NotifyType == NotificationType.MessageBox)
                MessageBox.Show(message, "NetOffice.DeveloperToolbox", MessageBoxButtons.OK, MessageBoxIcon.Information);
            else
                _trayIcon.ShowBalloonTip(2000, message, "NetOffice.DeveloperToolbox " + notfiyKind.ToString(), ToolTipIcon.Info);
            
            if (null != MessageFired)
                MessageFired(message, new EventArgs());
        }
Exemple #2
0
        public void ShowNotification(AddinKey item, NotifyKind notfiyKind, RegistryChangeInfo changeInfo)
        {
            if (_parent.FirstRun)
            {
                return;
            }
            string message = GetMessage(notfiyKind);

            switch (notfiyKind)
            {
            case NotifyKind.AddinLoadBehaviorRestored:
                AddinValueValueRestoredInfo restoredInfo = (AddinValueValueRestoredInfo)changeInfo;
                message = string.Format(message, restoredInfo.RootKey, restoredInfo.KeyPath, restoredInfo.ValueName, restoredInfo.RestoredValue, restoredInfo.OldValue, Environment.NewLine);
                break;

            case NotifyKind.AddinValueNameIsChanged:
                AddinValueNameChangedInfo nameInfo = (AddinValueNameChangedInfo)changeInfo;
                message = string.Format(message, nameInfo.RootKey, nameInfo.KeyPath, nameInfo.OldValueName, nameInfo.NewValueName, Environment.NewLine);
                break;

            case NotifyKind.AddinValueKindIsChanged:
                AddinValueKindChangedInfo kindInfo = (AddinValueKindChangedInfo)changeInfo;
                message = string.Format(message, kindInfo.RootKey, kindInfo.KeyPath, kindInfo.ValueName, kindInfo.OldValueKind, kindInfo.NewValueKind, Environment.NewLine);
                break;

            case NotifyKind.AddinValueIsChanged:
                AddinValueValueChangedInfo valueInfo = (AddinValueValueChangedInfo)changeInfo;
                message = string.Format(message, valueInfo.RootKey, valueInfo.KeyPath, valueInfo.ValueName, valueInfo.OldValue, valueInfo.NewValue, Environment.NewLine);
                break;

            case NotifyKind.AddinValuesIncrement:
                AddinValuesIncrementInfo incrementInfo = (AddinValuesIncrementInfo)changeInfo;
                message = string.Format(message, incrementInfo.RootKey, incrementInfo.KeyPath, incrementInfo.ValueName, Environment.NewLine);
                break;

            case NotifyKind.AddinValuesDecrement:
                AddinValuesDecrementInfo decrementInfo = (AddinValuesDecrementInfo)changeInfo;
                message = string.Format(message, decrementInfo.RootKey, decrementInfo.KeyPath, decrementInfo.ValueName, Environment.NewLine);
                break;

            default:
                throw new ArgumentOutOfRangeException(notfiyKind.ToString() + " is not valid in this context");
            }

            if (_parent.NotifyType == NotificationType.MessageBox)
            {
                MessageBox.Show(message, "NetOffice.DeveloperToolbox", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                _trayIcon.ShowBalloonTip(2000, message, "NetOffice.DeveloperToolbox " + notfiyKind.ToString(), ToolTipIcon.Info);
            }

            if (null != MessageFired)
            {
                MessageFired(message, new EventArgs());
            }
        }
Exemple #3
0
        void _timer_Elapsed(object sender, ElapsedEventArgs e)
        {
            if (_isDisposed)
            {
                return;
            }

            try
            {
                if (_enabled)
                {
                    while (_stopFlag)
                    {
                        _stopFlagAgreed = true;
                    }
                    _stopFlagAgreed = false;

                    foreach (DisabledKey item in _disabledItems)
                    {
                        RegistryChangeInfo changeInfo = null;
                        NotifyKind         kind       = item.CheckChangedValueCount(ref changeInfo);
                        if (kind != NotifyKind.Nothing)
                        {
                            _notify.ShowNotification(item, kind, changeInfo);
                        }
                    }

                    foreach (AddinsKey addins in _addinItems)
                    {
                        RegistryChangeInfo changeInfo = null;
                        NotifyKind         kind       = addins.CheckChangedSubKeys(ref changeInfo);
                        if (kind != NotifyKind.Nothing)
                        {
                            _notify.ShowNotification(addins, kind, changeInfo);
                        }

                        foreach (AddinKey addin in addins.Addins)
                        {
                            kind = addin.CheckChangedValues(ref changeInfo);
                            if (kind != NotifyKind.Nothing)
                            {
                                _notify.ShowNotification(addin, kind, changeInfo);
                            }
                        }
                    }

                    _firstRun = false;
                }
            }
            catch (Exception exception)
            {
                RaiseError(exception);
            }
        }
Exemple #4
0
        private string GetMessage(NotifyKind notfiyKind)
        {
            string id         = notfiyKind.ToString();
            int    languageId = _parent.ActiveLanguageID;
            string message    = GetMessage(id, languageId);

            if (null == message)
            {
                throw new ArgumentException(notfiyKind.ToString() + " not found.");
            }
            return(message);
        }
Exemple #5
0
        public void ShowNotification(AddinKey item, NotifyKind notfiyKind, RegistryChangeInfo changeInfo)
        {
            if (_parent.FirstRun)
                return;
            string message = GetMessage(notfiyKind);
            switch (notfiyKind)
            {
                case NotifyKind.AddinLoadBehaviorRestored:
                    AddinValueValueRestoredInfo restoredInfo = (AddinValueValueRestoredInfo)changeInfo;
                    message = string.Format(message, restoredInfo.RootKey, restoredInfo.KeyPath, restoredInfo.ValueName, restoredInfo.RestoredValue, restoredInfo.OldValue, Environment.NewLine);
                    break;
                case NotifyKind.AddinValueNameIsChanged:
                    AddinValueNameChangedInfo nameInfo = (AddinValueNameChangedInfo)changeInfo;
                    message = string.Format(message, nameInfo.RootKey, nameInfo.KeyPath, nameInfo.OldValueName, nameInfo.NewValueName, Environment.NewLine);
                    break;
                case NotifyKind.AddinValueKindIsChanged:
                    AddinValueKindChangedInfo kindInfo = (AddinValueKindChangedInfo)changeInfo;
                    message = string.Format(message, kindInfo.RootKey, kindInfo.KeyPath, kindInfo.ValueName, kindInfo.OldValueKind, kindInfo.NewValueKind, Environment.NewLine);
                    break;
                case NotifyKind.AddinValueIsChanged:
                    AddinValueValueChangedInfo valueInfo = (AddinValueValueChangedInfo)changeInfo;
                    message = string.Format(message, valueInfo.RootKey, valueInfo.KeyPath, valueInfo.ValueName, valueInfo.OldValue, valueInfo.NewValue, Environment.NewLine);
                    break;
                case NotifyKind.AddinValuesIncrement:
                    AddinValuesIncrementInfo incrementInfo = (AddinValuesIncrementInfo)changeInfo;
                    message = string.Format(message, incrementInfo.RootKey, incrementInfo.KeyPath, incrementInfo.ValueName, Environment.NewLine);
                    break;
                case NotifyKind.AddinValuesDecrement:
                    AddinValuesDecrementInfo decrementInfo = (AddinValuesDecrementInfo)changeInfo;
                    message = string.Format(message, decrementInfo.RootKey, decrementInfo.KeyPath, decrementInfo.ValueName, Environment.NewLine);
                    break;
                default:
                    throw new ArgumentOutOfRangeException(notfiyKind.ToString() + " is not valid in this context");
            }

            if (_parent.NotifyType == NotificationType.MessageBox)
                MessageBox.Show(message, "NetOffice.DeveloperToolbox", MessageBoxButtons.OK, MessageBoxIcon.Information);
            else
                _trayIcon.ShowBalloonTip(2000, message, "NetOffice.DeveloperToolbox " + notfiyKind.ToString(), ToolTipIcon.Info);

            if (null != MessageFired)
                MessageFired(message, new EventArgs());
        }
Exemple #6
0
        public void NotifyWithMessageBox(string text, NotifyKind notifyKind = NotifyKind.Info)
        {
            switch (notifyKind)
            {
            case NotifyKind.Error:
                MessageBox.Show(text, "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                break;

            case NotifyKind.Warning:
                MessageBox.Show(text, "", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                break;

            case NotifyKind.Info:
                MessageBox.Show(text, "", MessageBoxButtons.OK, MessageBoxIcon.Information);
                break;

            default:
                Debug.Fail("unexpected NotifyKind");
                MessageBox.Show(text);
                break;
            }
        }
Exemple #7
0
        public void ShowNotification(DisabledKey item, NotifyKind notfiyKind, RegistryChangeInfo changeInfo)
        {
            if (_parent.FirstRun)
            {
                return;
            }
            string message = GetMessage(notfiyKind);

            switch (notfiyKind)
            {
            case NotifyKind.DisabledItemNew:
                NewDeactivatedElementInfo newInfo = (NewDeactivatedElementInfo)changeInfo;
                message = string.Format(message, newInfo.OfficeProductVersion, newInfo.Name, Environment.NewLine);
                break;

            case NotifyKind.DisabledItemDelete:
                DeleteDeactivatedElementInfo deleteInfo = (DeleteDeactivatedElementInfo)changeInfo;
                message = string.Format(message, deleteInfo.OfficeProductVersion, deleteInfo.Name, Environment.NewLine);
                break;

            default:
                throw new ArgumentOutOfRangeException(notfiyKind.ToString() + " is not valid in this context");
            }

            if (_parent.NotifyType == NotificationType.MessageBox)
            {
                MessageBox.Show(message, "NetOffice.DeveloperToolbox", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                _trayIcon.ShowBalloonTip(2000, message, "NetOffice.DeveloperToolbox " + notfiyKind.ToString(), ToolTipIcon.Info);
            }

            if (null != MessageFired)
            {
                MessageFired(message, new EventArgs());
            }
        }
Exemple #8
0
        internal NotifyKind CheckChangedSubKeys(ref RegistryChangeInfo changeInfo)
        {
            RegistryKey key = _rootKey.OpenSubKey(_registryPath);

            if (null != key)
            {
                string[] subKeyNames = key.GetSubKeyNames();
                int      subKeyCount = key.SubKeyCount;
                if (subKeyCount != _subKeyCount)
                {
                    int oldSubKeyCount = _subKeyCount;
                    _subKeyCount = subKeyCount;
                    key.Close();
                    _parent.RaisePropertyChanged(this);

                    NotifyKind returnKind = NotifyKind.Nothing;
                    if ((subKeyCount > oldSubKeyCount) && (!_parent.FirstRun))
                    {
                        AddinSubkeysIncrementInfo newKeyInfo = new AddinSubkeysIncrementInfo();
                        newKeyInfo.RootKey = _rootKey;
                        newKeyInfo.KeyPath = _registryPath;
                        newKeyInfo.KeyName = GetNewValueName(subKeyNames, _subKeyNames);
                        changeInfo         = newKeyInfo;
                        _subKeyNames       = subKeyNames;
                        returnKind         = NotifyKind.AddinSubKeysIncrement;
                    }
                    else if (!_parent.FirstRun)
                    {
                        AddinSubkeysDecrementInfo deleteKeyInfo = new AddinSubkeysDecrementInfo();
                        deleteKeyInfo.RootKey = _rootKey;
                        deleteKeyInfo.KeyPath = _registryPath;
                        deleteKeyInfo.KeyName = GetDeletedValueName(subKeyNames, _subKeyNames);
                        changeInfo            = deleteKeyInfo;
                        _subKeyNames          = subKeyNames;
                        returnKind            = NotifyKind.AddinSubKeysDecrement;
                    }
                    return(returnKind);
                }
                else
                {
                    NotifyKind returnKind = NotifyKind.Nothing;
                    foreach (string item in subKeyNames)
                    {
                        if (!Contains(_subKeyNames, item))
                        {
                            _parent.RaisePropertyChanged(this);
                            if (!_parent.FirstRun)
                            {
                                AddinSubkeyNameChangedInfo nameInfo = new AddinSubkeyNameChangedInfo();
                                nameInfo.RootKey    = _rootKey;
                                nameInfo.KeyPath    = _registryPath;
                                nameInfo.OldKeyName = item;
                                nameInfo.NewKeyName = GetChangedValueName(subKeyNames, _subKeyNames);
                                changeInfo          = nameInfo;
                                _subKeyNames        = subKeyNames;
                                returnKind          = NotifyKind.AddinSubKeyNameChanged;
                            }
                            break;
                        }
                    }
                    _subKeyNames = subKeyNames;
                    key.Close();
                    return(returnKind);
                }
            }
            return(NotifyKind.Nothing);
        }
 public NotifyObjectViewModel(NotifyKind kind, string source, string target)
 {
     this.Kind = kind;
     this.Source = source;
     this.Target = target;
 }
Exemple #10
0
 private string GetMessage(NotifyKind notfiyKind)
 {
     string id = notfiyKind.ToString();
     int languageId = _parent.ActiveLanguageID;
     string message = GetMessage(id, languageId);
     if (null == message)
         throw new ArgumentException(notfiyKind.ToString() + " not found.");
     return message;
 }