public StreamConfigurationViewModel( IApplicationSettingsProvider applicationSettingsProvider, IGlobalExcludeSettings globalExcludeSettings, IAccountSettingsProvider accountSettingsProvider, IColumnsSettingsProvider columnsSettingsProvider, IContactService contactService) { _applicationSettingsProvider = applicationSettingsProvider; _accountSettingsProvider = accountSettingsProvider; _globalExcludeSettings = globalExcludeSettings; _columnsSettingsProvider = columnsSettingsProvider; _contactService = contactService; _scriptLibrary = CompositionManager.Get<IScriptingLibrarian>(); ShowConfiguration = false; Filters = new StreamModel {Direction = ListSortDirection.Descending}; FilterBefore = DateTime.Now.Subtract(new TimeSpan(365, 0, 0, 0, 0)); ScriptFilters = _scriptLibrary.ScriptFilters; EditCommand = new DelegateCommand(SetEdit); CancelCommand = new DelegateCommand(CancelChanges); SaveCommand = new DelegateCommand(SaveChanges); }
public AppViewModel(IPluginRepository pluginRepository, IAccountSettingsProvider accounts, IApplicationSettingsProvider applicationSettings, IColumnsSettingsProvider columnsSettings, Func<IPluginLoader> createPluginLoader, Func<ResourcesViewModel> createResourceViewModel) { _pluginRepository = pluginRepository; _accounts = accounts; _applicationSettings = applicationSettings; _columnsSettings = columnsSettings; _loader = createPluginLoader(); Model = CompositionManager.Get<IMainViewModel>(); Resources = createResourceViewModel(); if (Model == null) return; Model.FilterGroups = new ObservableCollection<StreamModel>(_columnsSettings.Filters); if (Model.FilterGroups.Count != 0) return; var f = StreamModel.CreateDefault(); Model.FilterGroups.Add(f); }
public XmlSettingsProvider() { _appSettings = CompositionManager.Get<IApplicationSettingsProvider>(); _accountSettings = CompositionManager.Get<IAccountSettingsProvider>(); _columnsSettings = CompositionManager.Get<IColumnsSettingsProvider>(); _pluginSettings = CompositionManager.Get<IPluginSettingsProvider>(); }
public MainViewModel( IPluginRepository pluginRepository, IAccountSettingsProvider accountSettings, IColumnsSettingsProvider columnsSettings, IApplicationSettingsProvider applicationSettingsProvider, Func<StreamViewModel> createStreamViewModel, Func<SearchViewModel> createSearchViewModel, SetupViewModel setupViewModel) { _pluginRepository = pluginRepository; _accountSettings = accountSettings; _columnsSettings = columnsSettings; _createStreamViewModel = createStreamViewModel; _createSearchViewModel = createSearchViewModel; _setupViewModel = setupViewModel; _applicationSettingsProvider = applicationSettingsProvider; EventAggregator.GetEvent<ShowLink>().Subscribe(HandleShowLink); EventAggregator.GetEvent<ShowProfile>().Subscribe(HandleShowProfile); EventAggregator.GetEvent<ShowConversation>().Subscribe(HandleShowConversation); EventAggregator.GetEvent<ShowSearch>().Subscribe(CreateNewSearch); EventAggregator.GetEvent<ShowContainer>().Subscribe(HandleShowContainer); EventAggregator.GetEvent<MicroblogAdded>().Subscribe(HandleNewMicroblog); EventAggregator.GetEvent<ShowColumns>().Subscribe(HandleNewColumns); ContactService = CompositionManager.Get<IContactService>(); StatusManager = CompositionManager.Get<IStatusUpdateService>(); SelectedMicroblogs = new ThreadSafeObservableCollection<IMicroblog>(); CurrentSearches = new ObservableCollection<ISearchViewModel>(); StreamContainers = new ObservableCollection<IContainerViewModel>(); FilterGroups = new ObservableCollection<StreamModel>(); HiddenPanels = new ObservableCollection<UIElement>(); IsSearchVisible = false; }
public MainWindow(AppViewModel viewModel, IPluginRepository pluginRepository, IAccountSettingsProvider accountSettingsProvider, IColumnsSettingsProvider columnsSettingsProvider, IApplicationSettingsProvider applicationSettingsProvider, IEventAggregator eventAggregator) { InitializeComponent(); _pluginRepository = pluginRepository; _accountSettings = accountSettingsProvider; _columnsSettings = columnsSettingsProvider; _applicationSettingsProvider = applicationSettingsProvider; _eventAggregator = eventAggregator; var mainViewModel = viewModel.Model; var resourceViewModel = viewModel.Resources; txtUpdate.SetHeight((Double) FindResource("DefaultCompositionBoxHeight")); var c = (CompositionTextBox) txtUpdate.FindName("txtUpdateBox"); if (c != null) c.IsInlineReply = false; Model = mainViewModel; ResourcesViewModel = resourceViewModel; mainViewModel.View = this; DataContext = mainViewModel; GlobalWindows.MainWindow = this; try { if (TaskbarManager.IsPlatformSupported) TaskbarManager = TaskbarManager.Instance; } catch (Exception ex) { CompositionManager.Get<IExceptionReporter>().ReportHandledException(ex); } if (resourceViewModel.Views == null) return; //Import the XAML foreach (var r in resourceViewModel.Views) { Resources.MergedDictionaries.Add(r); } var ibShowSetup = new InputBinding(ShowSetup, new KeyGesture(Key.S, ModifierKeys.Control)); var ibShowScriptingConsole = new InputBinding(ShowScriptConsoleCommand, new KeyGesture(Key.S, ModifierKeys.Alt)); InputBindings.Add(ibShowSetup); InputBindings.Add(ibShowScriptingConsole); var cbShowSetup = new CommandBinding(ShowSetup); cbShowSetup.Executed += CbShowSetupExecuted; CommandBindings.Add(cbShowSetup); var scriptConsole = new CommandBinding(ShowScriptConsoleCommand); scriptConsole.Executed += ScriptConsoleVisible; CommandBindings.Add(scriptConsole); if (!DesignerProperties.GetIsInDesignMode(this)) { MahTweets.Configuration.WindowSettings.SetSave(this, true); } }