public IDisposable SubscribeSaveStatusChanged(IServiceProvider provider, Action handler)
        {
            var messageEditorSvc = provider.GetService <IMessageEditorService>();

            if (messageEditorSvc != null)
            {
                SmartApp.EventHandler <IMessageEditorService> statusUpdater = sender => handler();
                messageEditorSvc.IsModifiedChanged += statusUpdater;
                return(Disposable.Create(() => messageEditorSvc.Modified -= statusUpdater));
            }
            return(Disposable.Empty);
        }
Esempio n. 2
0
        public IDisposable SubscribeForumCommandStatusChanged(
            IServiceProvider provider, Action handler)
        {
            var activeForumSvc = provider.GetService <IActiveForumService>();

            if (activeForumSvc != null)
            {
                SmartApp.EventHandler <IActiveForumService> statusUpdater = sender => handler();
                activeForumSvc.ActiveForumChanged += statusUpdater;
                return(Disposable.Create(
                           () => activeForumSvc.ActiveForumChanged -= statusUpdater));
            }
            return(Disposable.Empty);
        }