public OpenrecCommentViewModel(OpenrecSitePlugin.IOpenrecDisconnected disconnected, IMessageMetadata metadata, IMessageMethods methods, IConnectionStatus connectionStatus, IOptions options)
     : this(metadata, methods, connectionStatus, options)
 {
     _message     = disconnected;
     MessageItems = disconnected.CommentItems;
 }
 public override void DisconnectStreaming(IConnectionStatus connStatus)
 {
     Trace.WriteLine("Disconnect Streaming(IConnectionStatus)");
     base.DisconnectStreaming(connStatus);
 }
        public OpenrecCommentViewModel(OpenrecSitePlugin.IOpenrecYell yell, IMessageMetadata metadata, IMessageMethods methods, IConnectionStatus connectionStatus, IOptions options)
            : this(metadata, methods, connectionStatus, options)
        {
            _message = yell;

            _nameItems   = yell.NameItems;
            MessageItems = yell.CommentItems;
            Thumbnail    = yell.UserIcon;
            Id           = yell.Id.ToString();
            PostTime     = yell.PostTime;
        }
 public McvWhowatchCommentViewModel(WhowatchSitePlugin.IWhowatchDisconnected disconnected, IMessageMetadata metadata, IMessageMethods methods, IConnectionStatus connectionStatus, IOptions options)
     : this(metadata, methods, connectionStatus, options)
 {
     _message     = disconnected;
     MessageItems = Common.MessagePartFactory.CreateMessageItems(disconnected.Text);
 }
 public override void ConnectStreaming(IConnectionStatus connStatus)
 {
     Trace.WriteLine("ConnectStreaming()");
     base.ConnectStreaming(connStatus);
     connStatus.StatusUpdate(ConnStatus.OK, 1, "Connected");
 }
 public override void DisconnectStreaming(IConnectionStatus connStatus)
 {
     l.Debug("DisconnectStreaming");
     m_Connect = false;
 }
Example #7
0
        public PeriscopeCommentViewModel(PeriscopeSitePlugin.IPeriscopeJoin join, IMessageMetadata metadata, IMessageMethods methods, IConnectionStatus connectionStatus, IOptions options)
            : this(metadata, methods, connectionStatus, options)
        {
            _message = join;

            _nameItems   = join.NameItems;
            MessageItems = join.CommentItems;
            //Thumbnail = join..UserIcon;
            //Id = join.Id.ToString();
            //PostTime = join.PostTime;
        }
Example #8
0
        public TwitchCommentViewModel(TwitchSitePlugin.ITwitchComment comment, IMessageMetadata metadata, IMessageMethods methods, IConnectionStatus connectionStatus, IOptions options)
            : this(metadata, methods, connectionStatus, options)
        {
            _message = comment;
            if (comment.IsDisplayNameSame)
            {
                _nameItems = Common.MessagePartFactory.CreateMessageItems(comment.UserName);
            }
            else
            {
                var nameItems = new List <IMessagePart>
                {
                    Common.MessagePartFactory.CreateMessageText(comment.DisplayName),
                    Common.MessagePartFactory.CreateMessageText(" (" + comment.UserName + ")")
                };
                _nameItems = nameItems;
            }

            MessageItems = comment.CommentItems;
            Thumbnail    = comment.UserIcon;
            Id           = comment.Id.ToString();
            PostTime     = comment.PostTime;
        }
Example #9
0
        //public TwitchCommentViewModel(TwitchSitePlugin.ITwitchItem item, IMessageMetadata metadata, IMessageMethods methods, ConnectionName connectionStatus)
        //    : this(metadata, methods, connectionStatus)
        //{
        //    var comment = item;
        //    _message = comment;

        //    _nameItems = comment.NameItems;
        //    MessageItems = comment.CommentItems;
        //    Thumbnail = new Common.MessageImage
        //    {
        //        Url = comment.UserIconUrl,
        //        Alt = "",
        //        Height = 40,//_optionsにcolumnの幅を動的に入れて、ここで反映させたい。propertyChangedはどうやって発生させるか
        //        Width = 40,
        //    };
        //    Id = comment.Id.ToString();
        //    PostTime = UnixtimeToDateTime(comment.PostedAt / 1000).ToString("HH:mm:ss");
        //}
        public TwitchCommentViewModel(TwitchSitePlugin.ITwitchConnected connected, IMessageMetadata metadata, IMessageMethods methods, IConnectionStatus connectionStatus, IOptions options)
            : this(metadata, methods, connectionStatus, options)
        {
            _message     = connected;
            MessageItems = Common.MessagePartFactory.CreateMessageItems(connected.Text);
        }
 public TestCommentViewModel(TestSitePlugin.ITestDisconnected disconnected, IMessageMetadata metadata, IMessageMethods methods, IConnectionStatus connectionStatus)
     : this(metadata, methods, connectionStatus)
 {
     _message     = disconnected;
     MessageItems = disconnected.CommentItems;
 }
        public TestCommentViewModel(TestSitePlugin.ITestComment comment, IMessageMetadata metadata, IMessageMethods methods, IConnectionStatus connectionStatus)
            : this(metadata, methods, connectionStatus)
        {
            _message = comment;

            _nameItems   = comment.NameItems;
            MessageItems = comment.CommentItems;
            Thumbnail    = comment.UserIcon;
            Id           = comment.Id?.ToString();
            PostTime     = comment.PostTime;
        }
Example #12
0
        public ShowRoomCommentViewModel(ShowRoomSitePlugin.IShowRoomLeave leave, IMessageMetadata metadata, IMessageMethods methods, IConnectionStatus connectionStatus, IOptions options)
            : this(metadata, methods, connectionStatus, options)
        {
            _message = leave;

            //_nameItems = leave.NameItems;
            //MessageItems = leave.CommentItems;
            //Thumbnail = join..UserIcon;
            //Id = join.Id.ToString();
            //PostTime = join.PostTime;
        }
Example #13
0
        public ShowRoomCommentViewModel(ShowRoomSitePlugin.IShowRoomComment comment, IMessageMetadata metadata, IMessageMethods methods, IConnectionStatus connectionStatus, IOptions options)
            : this(metadata, methods, connectionStatus, options)
        {
            _message = comment;

            _nameItems   = Common.MessagePartFactory.CreateMessageItems(comment.UserName);
            MessageItems = Common.MessagePartFactory.CreateMessageItems(comment.Text);
            Thumbnail    = null;
            Id           = null;
            PostTime     = comment.PostedAt.ToString("HH:mm:ss");
        }
Example #14
0
        //public PeriscopeCommentViewModel(PeriscopeSitePlugin.IPeriscopeItem item, IMessageMetadata metadata, IMessageMethods methods, ConnectionName connectionStatus)
        //    : this(metadata, methods, connectionStatus)
        //{
        //    var comment = item;
        //    _message = comment;

        //    _nameItems = comment.NameItems;
        //    MessageItems = comment.CommentItems;
        //    Thumbnail = new Common.MessageImage
        //    {
        //        Url = comment.UserIconUrl,
        //        Alt = "",
        //        Height = 40,//_optionsにcolumnの幅を動的に入れて、ここで反映させたい。propertyChangedはどうやって発生させるか
        //        Width = 40,
        //    };
        //    Id = comment.Id.ToString();
        //    PostTime = UnixtimeToDateTime(comment.PostedAt / 1000).ToString("HH:mm:ss");
        //}
        public PeriscopeCommentViewModel(PeriscopeSitePlugin.IPeriscopeConnected connected, IMessageMetadata metadata, IMessageMethods methods, IConnectionStatus connectionStatus, IOptions options)
            : this(metadata, methods, connectionStatus, options)
        {
            _message     = connected;
            MessageItems = connected.CommentItems;
        }
        private OpenrecCommentViewModel(IMessageMetadata metadata, IMessageMethods methods, IConnectionStatus connectionStatus, IOptions options)
        {
            _metadata = metadata;
            _methods  = methods;

            ConnectionName = connectionStatus;
            _options       = options;
            ConnectionName.PropertyChanged += (s, e) =>
            {
                switch (e.PropertyName)
                {
                case nameof(ConnectionName.Name):
                    RaisePropertyChanged(nameof(ConnectionName));
                    break;

                case nameof(ConnectionName.BackColor):
                    RaisePropertyChanged(nameof(Background));
                    break;

                case nameof(ConnectionName.ForeColor):
                    RaisePropertyChanged(nameof(Foreground));
                    break;
                }
            };
            options.PropertyChanged += (s, e) =>
            {
                switch (e.PropertyName)
                {
                case nameof(options.IsEnabledSiteConnectionColor):
                    RaisePropertyChanged(nameof(Background));
                    RaisePropertyChanged(nameof(Foreground));
                    break;
                }
            };
            _metadata.PropertyChanged += (s, e) =>
            {
                switch (e.PropertyName)
                {
                case nameof(_metadata.BackColor):
                    RaisePropertyChanged(nameof(Background));
                    break;

                case nameof(_metadata.ForeColor):
                    RaisePropertyChanged(nameof(Foreground));
                    break;

                case nameof(_metadata.FontFamily):
                    RaisePropertyChanged(nameof(FontFamily));
                    break;

                case nameof(_metadata.FontStyle):
                    RaisePropertyChanged(nameof(FontStyle));
                    break;

                case nameof(_metadata.FontWeight):
                    RaisePropertyChanged(nameof(FontWeight));
                    break;

                case nameof(_metadata.FontSize):
                    RaisePropertyChanged(nameof(FontSize));
                    break;

                case nameof(_metadata.IsNameWrapping):
                    RaisePropertyChanged(nameof(UserNameWrapping));
                    break;

                case nameof(_metadata.IsVisible):
                    RaisePropertyChanged(nameof(IsVisible));
                    break;
                }
            };
            if (_metadata.User != null)
            {
                var user = _metadata.User;
                user.PropertyChanged += (s, e) =>
                {
                    switch (e.PropertyName)
                    {
                    case nameof(user.Nickname):
                        SetNickname(user);
                        RaisePropertyChanged(nameof(NameItems));
                        break;
                    }
                };
                SetNickname(user);
            }
        }
        public McvWhowatchCommentViewModel(WhowatchSitePlugin.IWhowatchComment comment, IMessageMetadata metadata, IMessageMethods methods, IConnectionStatus connectionStatus, IOptions options)
            : this(metadata, methods, connectionStatus, options)
        {
            _message = comment;

            _nameItems   = Common.MessagePartFactory.CreateMessageItems(comment.UserName);
            MessageItems = Common.MessagePartFactory.CreateMessageItems(comment.Comment);
            Thumbnail    = comment.UserIcon;
            Id           = comment.Id;
            PostTime     = comment.PostTime;
        }
 public override void ConnectStreaming(IConnectionStatus connStatus)
 {
     l.Debug("ConnectStreaming");
     m_Connect = true;
 }
        public McvWhowatchCommentViewModel(WhowatchSitePlugin.IWhowatchItem item, IMessageMetadata metadata, IMessageMethods methods, IConnectionStatus connectionStatus, IOptions options)
            : this(metadata, methods, connectionStatus, options)
        {
            var comment = item;

            _message = comment;

            _nameItems   = Common.MessagePartFactory.CreateMessageItems(comment.UserName);
            MessageItems = Common.MessagePartFactory.CreateMessageItems(comment.Comment);
            Thumbnail    = new Common.MessageImage
            {
                Url    = comment.UserIconUrl,
                Alt    = "",
                Height = 40,//_optionsにcolumnの幅を動的に入れて、ここで反映させたい。propertyChangedはどうやって発生させるか
                Width  = 40,
            };
            Id       = comment.Id.ToString();
            PostTime = UnixtimeToDateTime(comment.PostedAt / 1000).ToString("HH:mm:ss");
            Info     = item.ItemCount == 1 ? item.ItemName : $"{item.ItemName} × {item.ItemCount}";
        }
Example #19
0
 public override void ConnectStreaming(IConnectionStatus connStatus)
 {
     t.Enabled = true;
 }
Example #20
0
        public PeriscopeCommentViewModel(PeriscopeSitePlugin.IPeriscopeComment comment, IMessageMetadata metadata, IMessageMethods methods, IConnectionStatus connectionStatus, IOptions options)
            : this(metadata, methods, connectionStatus, options)
        {
            _message = comment;

            _nameItems   = comment.NameItems;
            MessageItems = comment.CommentItems;
            Thumbnail    = comment.UserIcon;
            Id           = comment.Id.ToString();
            PostTime     = comment.PostTime;
        }