예제 #1
0
        private readonly Dictionary <IResourceList, IResource> _unreadResourcesToView = new Dictionary <IResourceList, IResource>(); // view unread resources -> view resource

        public ViewUnreadCountProvider()
        {
            _unreadManager              = Core.UnreadManager as UnreadManager;
            _allViews                   = Core.FilterRegistry.GetViews();
            _allViews.ResourceAdded    += HandleViewAdd;
            _allViews.ResourceDeleting += HandleViewDelete;
            _allViews.ResourceChanged  += HandleViewChange;

            UpdateViews();
            SetupMidnightCountersUpdate();
            Core.TextIndexManager.IndexLoaded += TextIndexLoaded;
        }
예제 #2
0
        [SetUp] public void SetUp()
        {
            _core = new TestCore();
            _storage = _core.ResourceStore;

            CreateNecessaryResources();

            _registry = _core.FilterRegistry as FilterRegistry;
            _engine = _core.FilterEngine as FilterEngine;
            _wsManager = _core.WorkspaceManager;
            _unreads = _core.UnreadManager as UnreadManager;
            _mockResourceTabProvider = _core.GetComponentInstanceOfType( typeof(MockResourceTabProvider) ) as MockResourceTabProvider;
            _unreads.RegisterUnreadCountProvider( FilterManagerProps.ViewResName, new ViewUnreadCountProvider() );
        }
예제 #3
0
        public MessagesViewModel(IServiceProvider provider, string contactGuid, IChatView messageThreadView)
        {
            this._contactId         = contactGuid;
            this.logger             = provider.Get <ILoggerFactory>().CreateLogger <MessagesViewModel>();
            this._repo              = provider.Get <AppRepository>();
            this._messagesLoader    = new MessagesLoader(this._repo, contactGuid);
            this._messageThreadView = messageThreadView;

            this._encryptionService  = provider.Get <IChatEncryptionService>();
            this._unreadManager      = provider.Get <UnreadManager>();
            this._contactListManager = provider.Get <ContactListManager>();

            this._chatClient = provider.Get <IChatClient>();
            this._chatWorker = provider.Get <ChatWorker>();
            this._chatWorker.SendMessageStateUpdated  += (sender, message) => this._messageThreadView.UpdateSendMessageStateFromBackgroundThread(message);
            this._chatWorker.IncomingMessageDecrypted += async(sender, message) => await AddIncomingDecryptedMessageFromChatworker(message);
        }
예제 #4
0
        public ResourceTreePaneBase()
        {
            // This call is required by the Windows.Forms Form Designer.
            InitializeComponent();

            _resourceTree                 = new ResourceListView2();
            _resourceTree.Dock            = DockStyle.Fill;
            _resourceTree.BorderStyle     = BorderStyle.None;
            _resourceTree.ContextProvider = this;

            TreeStructureColumn treeStructureColumn = new TreeStructureColumn();

            treeStructureColumn.Width = 20;
            _resourceTree.Columns.Add(treeStructureColumn);
            _resourceTree.Columns.Add(new ResourceIconColumn());

            _resourceTree.JetListView.KeyDown           += HandleResourceTreeKeyDown;
            _resourceTree.JetListView.ActiveNodeChanged += HandleActiveNodeChanged;
            _resourceTree.KeyNavigationCompleted        += HandleKeyNavigationCompleted;

            _textColumn = new RichTextColumn();
            _textColumn.SizeToContent       = true;
            _textColumn.ItemToolTipCallback = HandleToolTipCallback;
            _resourceTree.Columns.Add(_textColumn);

            Controls.Add(_resourceTree);
            Controls.SetChildIndex(_resourceTree, 0);

            _toolbarManager = new ToolbarActionManager(_toolBar);
            _toolbarManager.ContextProvider = this;

            _dataProvider = new ResourceTreeDataProvider();

            SetStyle(ControlStyles.Selectable, false);

            UnreadManager unreadManager = (UnreadManager)Core.UnreadManager;

            if (unreadManager.Enabled)
            {
                _unreadDecorator = new UnreadNodeDecorator();
                _textColumn.AddNodeDecorator(_unreadDecorator);
            }
        }
예제 #5
0
        [SetUp] public void SetUp()
        {
            _core    = new TestCore();
            _storage = Core.ResourceStore;

            _storage.ResourceTypes.Register("Folder", "Name");
            _storage.ResourceTypes.Register("Email", "Name");
            _storage.ResourceTypes.Register("Person", "Name");
            _propFolder = _storage.PropTypes.Register("Folder", PropDataType.Link,
                                                      PropTypeFlags.CountUnread | PropTypeFlags.DirectedLink);

            _folder = _storage.NewResource("Folder");

            _wsManager = _core.WorkspaceManager;

            MockResourceTabProvider resourceTabProvider = (MockResourceTabProvider)_core.GetComponentInstanceOfType(typeof(MockResourceTabProvider));

            resourceTabProvider.SetResourceTab("Email", "Email");

            _unreadManager = _core.UnreadManager as UnreadManager;
            _propUnread    = Core.Props.IsUnread;
            _propSize      = _storage.PropTypes.Register("Size", PropDataType.Int);
        }