public void Store(TabsCollectionView tabs, ActionBarView actionBar) { var userFolder = new UserFolderPath(); var contents = new List <IPath>(); var queries = new List <IQuery>(); foreach (var tab in tabs.OpenedCustomTabs) { if (tab.Data is IQuery query) { queries.Add(query); } if (tab.Data is IContent content) { var path = new PartsPath(content.Source.Parts.SkipWhile(x => x.PlainText != userFolder.Name.PlainText).Skip(1)); contents.Add(path); } } var file = new SessionFile(queries.Select(x => x.PlainText), contents, new UserInterfaceSettings() { IsSideBarHidden = actionBar.IsPanelHidden }, new UserFolderPath()); file.Save(); }
public void Initialize(IContent[] articles) { var path = new UserFolderPath(); var fileSystemNode = new FileSystemNode(path.FullPath); _collectionView.Add(new CollectionItem(new TabView(fileSystemNode) { IsDeletable = false, OnSelected = OnTabSelected }, new HorizontalSeparatorView()), animated: false); var collectionItems = new List <CollectionItem>(); for (int i = 0; i < articles.Length; i++) { var article = articles[i]; collectionItems.Add(new CollectionItem(new TabView(article, i) { OnSelected = OnTabSelected, IsDefaultTab = false }, new HorizontalSeparatorView())); } _collectionView.AddRangeWithoutAnimation(collectionItems.ToArray()); }
public SessionContext Restore() { var ufp = new UserFolderPath(); OpenedContentTabs = _file.Contents.Select(x => new PartsPath(ufp.Parts, x.Parts)); OpenedQueriesTabs = _file.Queries.Select(x => new SearchQuery(_library, x)).ToArray(); InterfaceSettings = _file.Settings; return(this); }