Example #1
0
 public void Initialize()
 {
     kbtter   = Kbtter.Instance;
     listener = new PropertyChangedEventListener(kbtter);
     CompositeDisposable.Add(listener);
     RegisterHandlers();
     kbtter.Initialize();
     setting = Kbtter3Extension.LoadJson <Kbtter3Setting>(App.ConfigurationFileName);
     TimelineStatuses.CollectionChanged += (s, e) =>
     {
         DispatcherHelper.UIDispatcher.BeginInvoke((Action)(() =>
         {
             if (TimelineStatuses.Count > setting.MainWindow.StatusesShowMax)
             {
                 TimelineStatuses.RemoveAt(setting.MainWindow.StatusesShowMax);
             }
         }));
     };
     TimelineNotifications.CollectionChanged += (s, e) =>
     {
         DispatcherHelper.UIDispatcher.BeginInvoke((Action)(() =>
         {
             if (TimelineNotifications.Count > setting.MainWindow.NotificationsShowMax)
             {
                 TimelineNotifications.RemoveAt(setting.MainWindow.NotificationsShowMax);
             }
         }));
     };
 }
Example #2
0
        internal async void Initialize()
        {
            ShowingStatuses       = new Queue <Status>();
            Setting               = new Kbtter3Setting();
            StreamManager         = new List <IDisposable>();
            Plugins               = new List <Kbtter3PluginProvider>();
            PluginMonitoringToken = new object();
            Logs = new List <string>();

            if (!Directory.Exists(CacheFolderName))
            {
                Directory.CreateDirectory(CacheFolderName);
            }
            if (!Directory.Exists(PluginFolderName))
            {
                Directory.CreateDirectory(PluginFolderName);
            }

            Setting      = Kbtter3Extension.LoadJson <Kbtter3Setting>(App.ConfigurationFileName, Setting);
            OAuthSession = await OAuth.AuthorizeAsync(Setting.Consumer.Key, Setting.Consumer.Secret);

            OnStatus        += NotifyStatusUpdate;
            OnEvent         += NotifyEventUpdate;
            OnIdEvent       += NotifyIdEventUpdate;
            OnDirectMessage += NotifyDirectMessageUpdate;

            LogInformation("Model層初期化完了");
            SaveLog();

            RaisePropertyChanged("AccessTokenRequest");
        }
Example #3
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();
        }
Example #4
0
 static StatusViewModel()
 {
     setting = Kbtter3Extension.LoadJson<Kbtter3Setting>(App.ConfigurationFileName);
 }
Example #5
0
 public void Load()
 {
     Setting = Kbtter3Extension.LoadJson<Kbtter3Setting>(App.ConfigurationFileName);
 }
Example #6
0
 static StatusPage()
 {
     setting = Kbtter3Extension.LoadJson <Kbtter3Setting>(App.ConfigurationFileName);
 }
Example #7
0
        internal async void Initialize()
        {
            ShowingStatuses = new Queue<Status>();
            Setting = new Kbtter3Setting();
            StreamManager = new List<IDisposable>();
            Plugins = new List<Kbtter3PluginProvider>();
            PluginMonitoringToken = new object();
            Logs = new List<string>();

            if (!Directory.Exists(CacheFolderName)) Directory.CreateDirectory(CacheFolderName);
            if (!Directory.Exists(PluginFolderName)) Directory.CreateDirectory(PluginFolderName);

            Setting = Kbtter3Extension.LoadJson<Kbtter3Setting>(App.ConfigurationFileName, Setting);
            OAuthSession = await OAuth.AuthorizeAsync(Setting.Consumer.Key, Setting.Consumer.Secret);
            OnStatus += NotifyStatusUpdate;
            OnEvent += NotifyEventUpdate;
            OnIdEvent += NotifyIdEventUpdate;
            OnDirectMessage += NotifyDirectMessageUpdate;

            LogInformation("Model層初期化完了");
            SaveLog();

            RaisePropertyChanged("AccessTokenRequest");
        }
Example #8
0
 public void Load()
 {
     Setting = Kbtter3Extension.LoadJson <Kbtter3Setting>(App.ConfigurationFileName);
 }
Example #9
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();
        }