public CloudContentControl(IEnumerable <UserAccount> userAccounts, IViewerFactory viewerFactory) { this.viewerFactory = viewerFactory; itemContextMenu = new ItemContextMenu(); controlContextMenu = new ControlContextMenu(); InitializeControl(); SizeChanged += (s, e) => splashScreen?.SizeChange(); driveNames = userAccounts.ToDictionary(x => x.DriveEngine, x => x.Name); cloudDriveEngines = userAccounts.Select(x => x.DriveEngine).ToList(); components = new System.ComponentModel.Container(); var resources = new System.ComponentModel.ComponentResourceManager(typeof(CloudContentControl)); foreach (var driveEngine in cloudDriveEngines) { var(listView, folderPanel) = InitializeDrivePanel(components, resources); listViews.Add(driveEngine, listView); folderPanels.Add(driveEngine, folderPanel); listViews[driveEngine].ItemActivate += ViewContentList_ItemActivate; listViews[driveEngine].MouseUp += ViewContentList_MouseUp; AddItems(driveEngine); } currentDirectory = "/"; Name = "CloudContentControl"; }
public MainForm(ICloudApi[] apis, IViewerFactory viewerFactory) { this.apis = apis; this.viewerFactory = viewerFactory; accounts = apis.SelectMany(x => x.Drive.LoadAccounts()).ToList(); InitializeComponent(); InitView(); }
public static void AddViewerFactory(IViewerFactory f) { factories.Add(f); }