private void RestoreTabs() { string tabs = GlobalSettings.Default.OpenTabs; if (tabs == null) { return; } IReadOnlyCollection <TabSettings> ts = TabSettings.FromString(tabs); foreach (TabSettings t in ts) { ConnectedAccount sa = ConnectedAccount.RootFolder.FindConnectedAccountById(t.AccountId); if (sa == null) { continue; } AddTab(sa, t.Settings, false); if (t.IsActive) { SelectedAccount = ActiveStorageAccounts.Last(); } } }
public void AddTab(ConnectedAccount connectedAccount, string settings = null, bool makeActive = true) { if (connectedAccount == null) { return; } if (connectedAccount.System == "msg") { ActiveStorageAccounts.Add(new MessengerViewModel(connectedAccount)); } else if (connectedAccount.System == "ai") { ActiveStorageAccounts.Add(new ApplicationInsightsPanelViewModel(connectedAccount)); } else if (connectedAccount.System == "redis") { ActiveStorageAccounts.Add(new RedisViewModel(connectedAccount)); } else { ActiveStorageAccounts.Add(new BlobStoragePanelViewModel(connectedAccount)); } if (makeActive) { SelectedAccount = ActiveStorageAccounts.Last(); } ActiveStorageAccounts.Last().RestoreSettings(settings); }
private void SaveTabs() { string s = TabSettings.ToString(ActiveStorageAccounts.Select( asa => new TabSettings( asa.Account.Id, asa.Account.Id == SelectedAccount.Account.Id, asa.GetSettings()))); GlobalSettings.Default.OpenTabs = s; }
public MainViewModel() { if (!IsInDesignMode) { RestoreTabs(); /*if(ActiveStorageAccounts.Count == 0) * { * AddTab(RegisteredAccounts.First()); * }*/ if (SelectedAccount == null) { SelectedAccount = ActiveStorageAccounts.LastOrDefault(); } } }