Exemplo n.º 1
0
        public KanColleProxy()
        {
            this.compositeDisposable = new LivetCompositeDisposable();

            this.connectableSessionSource = Observable
                .FromEvent<SessionStateHandler, Session>(
                    action => new SessionStateHandler(action),
                    h => FiddlerApplication.AfterSessionComplete += h,
                    h => FiddlerApplication.AfterSessionComplete -= h)
                .Publish();

            this.apiSource = this.connectableSessionSource
                .Where(s => s.PathAndQuery.StartsWith("/kcsapi") && s.oResponse.MIMEType.Equals("text/plain"))
                .SynchronizeFIFO((a, b, c) => Synchronize)
            #region .Do(debug)
            #if DEBUG
                .Do(session =>
                {
                    Debug.WriteLine("==================================================");
                    Debug.WriteLine("Fiddler session: ");
                    Debug.WriteLine(session);
                    Debug.WriteLine("");
                })
            #endif
            #endregion
                .Publish();
        }
Exemplo n.º 2
0
 public NotificationPage(NotificationViewModel vm)
 {
     InitializeComponent();
     DataContext = vm;
     this.vm = vm;
     composite = new LivetCompositeDisposable();
     ctxlistener = new PropertyChangedWeakEventListener((INotifyPropertyChanged)DataContext);
 }
Exemplo n.º 3
0
 public AccountSelectWindow()
 {
     InitializeComponent();
     composite = new LivetCompositeDisposable();
     ctxlistener = new PropertyChangedWeakEventListener((INotifyPropertyChanged)DataContext);
     ctxlistener.Add("StartNewAccount", ExpandNewAccount);
     ctxlistener.Add("FinishNewAccount", CollapseNewAccount);
 }
Exemplo n.º 4
0
        public MainWindow()
        {
            InitializeComponent();

            vm = DataContext as MainWindowViewModel;
            composite = new LivetCompositeDisposable();

            ctxlistener = new PropertyChangedWeakEventListener(vm);
            ctxlistener.Add("AccessTokenRequest", StartAccountSelect);
            ctxlistener.Add("ReplyStart", ExpandNewTweet);
            ctxlistener.Add("ToggleNewStatus", ToggleNewTweet);
            ctxlistener.Add("StatusAction", (s, e) => RequestAction(vm.StatusAction.Type, vm.StatusAction.Information));
            ctxlistener.Add("UserTimeline", (s, e) =>
                AddTab("ユーザー定義タブ1",
                new Frame
            {
                NavigationUIVisibility = NavigationUIVisibility.Hidden,
                Content = new UserCustomizableTimelinePage(vm.UserTimelineViewModel)
            }, vm.UserTimelineViewModel));

            ctxlistener.Add("StatusUpdate", (s, e) =>
            {
                DispatcherHelper.UIDispatcher.BeginInvoke(new Action(() =>
                {
                    if (TabControlMain.SelectedIndex != 0 && setting.MainWindow.NotifyNewStatus)
                    {

                        EmphasisTextBlock(TextBlockTimeline);
                        urs++;
                        TextBlockUnreadStatuses.Text = String.Format(" {0}", urs);

                    }
                }));
            });

            ctxlistener.Add("EventUpdate", (s, e) =>
            {
                DispatcherHelper.UIDispatcher.BeginInvoke(new Action(() =>
                {
                    if (TabControlMain.SelectedIndex != 1 && setting.MainWindow.NotifyNewNotification)
                    {

                        EmphasisTextBlock(TextBlockNotification);
                        urn++;
                        TextBlockUnreadNotifications.Text = String.Format(" {0}", urn);

                    }
                }));
            });

            composite.Add(ctxlistener);

            setting = Kbtter3Extension.LoadJson<Kbtter3Setting>(App.ConfigurationFileName);
            if (!setting.MainWindow.AllowJokeCommands) ToolBarJokes.Visibility = Visibility.Collapsed;

            SetShortcuts();
        }
Exemplo n.º 5
0
        private void UpdateFleets(Organization organization)
        {
            this.organizationDisposables?.Dispose();
            this.organizationDisposables = new LivetCompositeDisposable();

            foreach (var fleet in organization.Fleets.Values)
            {
                fleet.Expedition.Returned += this.HandleExpeditionReturned;
                this.organizationDisposables.Add(() => fleet.Expedition.Returned -= this.HandleExpeditionReturned);

                fleet.State.Condition.Rejuvenated += this.HandleConditionRejuvenated;
                this.organizationDisposables.Add(() => fleet.State.Condition.Rejuvenated -= this.HandleConditionRejuvenated);
            }
        }
Exemplo n.º 6
0
        public StatusPage(StatusViewModel vm)
        {
            statvm = vm;
            DataContext = vm;
            InitializeComponent();
            elm = vm.TextElements;
            stsn = vm.ScreenName;

            if (vm.Via == "") StackPanelBlockVia.Visibility = Visibility.Collapsed;
            SetMainText();

            composite = new LivetCompositeDisposable();
            ctxlistener = new PropertyChangedWeakEventListener((INotifyPropertyChanged)DataContext);
            ctxlistener.Add("Delete", DeleteContent);
        }
Exemplo n.º 7
0
        internal Fleet(Homeport parent, kcsapi_deck rawData)
        {
            this.homeport = parent;

            this.Condition  = new FleetCondition(this);
            this.Expedition = new Expedition(this);
            this.Update(rawData);

            this.compositeDisposable = new LivetCompositeDisposable
            {
                new PropertyChangedWeakEventListener(KanColleClient.Current.Settings)
                {
                    { "ViewRangeCalcLogic", (sender, args) => this.Calculate() }
                }
            };
        }
Exemplo n.º 8
0
        private bool disposedValue = false; // 重複する呼び出しを検出するには

        protected virtual void Dispose(bool disposing)
        {
            if (!disposedValue)
            {
                if (disposing)
                {
                    // Mangedリソースの解放
                    ObjectChangedNotificator.Instance.WorkTaskEdited -= Load;
                    _Disposables.Dispose();
                    _Disposables = null;
                }

                // TODO: アンマネージ リソース (アンマネージ オブジェクト) を解放し、下のファイナライザーをオーバーライドします。
                // TODO: 大きなフィールドを null に設定します。

                disposedValue = true;
            }
        }
Exemplo n.º 9
0
        public StatusPage(StatusViewModel vm)
        {
            statvm      = vm;
            DataContext = vm;
            InitializeComponent();
            elm  = vm.TextElements;
            stsn = vm.ScreenName;

            if (vm.Via == "")
            {
                StackPanelBlockVia.Visibility = Visibility.Collapsed;
            }
            SetMainText();

            composite   = new LivetCompositeDisposable();
            ctxlistener = new PropertyChangedWeakEventListener((INotifyPropertyChanged)DataContext);
            ctxlistener.Add("Delete", DeleteContent);
        }
Exemplo n.º 10
0
        public ServerWindow()
        {
            InitializeComponent();
            Utils.SetWindowProperties(this);
            NotifyIcon = new NotifyIconWrapper()
            {
                Window = this
            };
            CompositeDisposable = new LivetCompositeDisposable();

            var serverVM = DataContext as ServerViewModel;

            if (serverVM != null)
            {
                var modelListener = new PropertyChangedEventListener(serverVM);
                modelListener.Add(() => serverVM.WindowCaption, (_, __) => NotifyIcon.Text = serverVM.WindowCaption);
                CompositeDisposable.Add(modelListener);
            }
        }
Exemplo n.º 11
0
        public ReadOnlyNotifyChangedCollection(ISynchronizableNotifyChangedCollection <T> collection)
            : base(collection)
        {
            if (collection == null)
            {
                throw new ArgumentNullException(nameof(collection));
            }

            EventListeners = new LivetCompositeDisposable();

            _isDisposableType = typeof(IDisposable).GetTypeInfo().IsAssignableFrom(typeof(T).GetTypeInfo());

            lock (collection.Synchronizer.LockObject)
            {
                SourceCollection = collection;

                EventListeners.Add(new PropertyChangedWeakEventListener(SourceCollection, (sender, e) => OnPropertyChanged(e)));
                EventListeners.Add(new CollectionChangedWeakEventListener(SourceCollection, (sender, e) => OnCollectionChanged(e)));
            }
        }
Exemplo n.º 12
0
		public DisposableNotifier()
		{
			this.CompositeDisposable = new LivetCompositeDisposable();
		}
Exemplo n.º 13
0
		private void UpdateDockyard(Dockyard dockyard)
		{
			this.dockyardDisposables?.Dispose();
			this.dockyardDisposables = new LivetCompositeDisposable();

			foreach (var dock in dockyard.Docks.Values)
			{
				dock.Completed += this.HandleDockyardCompleted;
				this.dockyardDisposables.Add(() => dock.Completed -= this.HandleDockyardCompleted);
			}
		}
Exemplo n.º 14
0
		private void UpdateFleets(Organization organization)
		{
			this.organizationDisposables?.Dispose();
			this.organizationDisposables = new LivetCompositeDisposable();

			foreach (var fleet in organization.Fleets.Values)
			{
				fleet.Expedition.Returned += this.HandleExpeditionReturned;
				this.organizationDisposables.Add(() => fleet.Expedition.Returned -= this.HandleExpeditionReturned);

				fleet.State.Condition.Rejuvenated += this.HandleConditionRejuvenated;
				this.organizationDisposables.Add(() => fleet.State.Condition.Rejuvenated -= this.HandleConditionRejuvenated);
			}
		}
Exemplo n.º 15
0
 public DisposableNotifier()
 {
     this.CompositeDisposable = new LivetCompositeDisposable();
 }
Exemplo n.º 16
0
		internal Fleet(Homeport parent, kcsapi_deck rawData)
		{
			this.homeport = parent;

			this.Condition = new FleetCondition(this);
			this.Expedition = new Expedition(this);
			this.Update(rawData);

			this.compositeDisposable = new LivetCompositeDisposable
			{
				new PropertyChangedWeakEventListener(KanColleClient.Current.Settings)
				{
					{ "ViewRangeCalcLogic", (sender, args) => this.Calculate() }
				}
			};
		}
Exemplo n.º 17
0
        public TimerViewModelBase()
        {
            CompositeDisposable = new LivetCompositeDisposable();

            Console.WriteLine("Timer view model base called");
            LaLaTimerClient.Current.OnChangeTimer.Subscribe(OnChangeTimer);
        }
Exemplo n.º 18
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 public WindowService()
 {
     this.compositeDisposable = new LivetCompositeDisposable();
     this.container           = new Dictionary <string, Window>();
 }
Exemplo n.º 19
0
        public MainWindowViewModel()
        {
            CompositeDisposable = new LivetCompositeDisposable();

            Content = new TimerContentViewModel();
            LaLaTimerClient.Current.OnChangeTimer.Subscribe(OnChangeTimer);
        }