private Activity GetFileActivity(FileEntry fileEntry, DateTimeRange range) { object wrapper; if (fileEntry is File) wrapper = new FileWrapper((File) fileEntry); else wrapper = new FolderWrapper((Folder) fileEntry); var activity = new Activity(Documents, wrapper) { Action = (range.In(fileEntry.CreateOn) ? ActivityAction.Created : ActivityAction.Undefined) | (range.In(fileEntry.ModifiedOn) ? ActivityAction.Updated : ActivityAction.Undefined) | (range.In(fileEntry.SharedToMeOn) ? ActivityAction.Shared : ActivityAction.Undefined), ItemType = "file", }; if (range.In(fileEntry.CreateOn)) { activity.CreatedBy = fileEntry.CreateBy; activity.When = fileEntry.CreateOn; } else if (range.In(fileEntry.ModifiedOn)) { activity.CreatedBy = fileEntry.ModifiedBy; activity.When = fileEntry.ModifiedOn; } else if (range.In(fileEntry.SharedToMeOn)) { activity.CreatedBy = new Guid(fileEntry.SharedToMeBy); activity.When = fileEntry.SharedToMeOn; } return activity; }
private void importFolderBtn_Click(object sender, RoutedEventArgs e) { if (_folderBrowser.ShowDialog(this) != System.Windows.Forms.DialogResult.OK) { return; } var inf = new DirectoryInfo(_folderBrowser.SelectedPath); var recurs = false; if (inf.GetDirectories().Length > 0) { var res = MessageBox.Show(this, Properties.Resources.ImportSubfoldersMessage, Properties.Resources.ImportFolderDialogTitle, MessageBoxButton.YesNoCancel); switch (res) { case MessageBoxResult.Cancel: return; case MessageBoxResult.Yes: recurs = true; break; } } var f = new FolderWrapper(_folderBrowser.SelectedPath, recurs); FolderWrapper parent; var item = e.Source as MenuItem; if (item != null) { parent = item.DataContext as FolderWrapper; } else { var folder = TreeView.SelectedItem as FolderWrapper; parent = folder ?? (FolderWrapper)VModel.Folders[0]; } if (parent != null && parent.ContainsFile(f.Name)) { var s = f.Name + " ({0})"; var i = 0; while (parent.ContainsFile(string.Format(s, ++i))) { } f.Name = string.Format(s, i); } parent?.Files.Insert(0, f); }
private void addFolderBtn_Click(object sender, RoutedEventArgs e) { var fdlg = new RenameFileDialog(Properties.Resources.NewFolderDialogTitle); var f = new FolderWrapper(); fdlg.DataContext = f; fdlg.Owner = this; f.BeginEdit(); if (!fdlg.ShowDialog().GetValueOrDefault(false)) { return; } f.EndEdit(); FolderWrapper parent; var item = e.Source as MenuItem; if (item != null) { parent = item.DataContext as FolderWrapper; } else { var folder = TreeView.SelectedItem as FolderWrapper; parent = folder ?? (FolderWrapper)VModel.Folders[0]; } var v = parent?.Files.OfType <FolderWrapper>(); if (v != null) { var folderWrappers = v as FolderWrapper[] ?? v.ToArray(); if (folderWrappers.Any(o => o.Name == f.Name)) { var s = f.Name + " ({0})"; var i = 0; while (folderWrappers.Any(o => o.Name == string.Format(s, i))) { i++; } f.Name = string.Format(s, i); } } parent?.Files.Insert(0, f); }
public MainWindow(bool noshaders = false, bool noaero = false, string[] files = null, string[] folders = null) { _noShaders = noshaders; _noAero = noaero; VModel = new ViewModel.ViewModel(this); var folder = new FolderWrapper(removable: false) { Name = Properties.Resources.OutputFolder }; VModel.Folders.Add(folder); if (files != null) { VModel.ImportFiles(this, files, folder); } if (folders != null) { foreach (var s in folders) { folder.Files.Add(new FolderWrapper(s)); } } InitializeComponent(); //this.DataContext = vModel; _watermarkFontDlg.Font = VModel.WatermarkFont; Handle = new WindowInteropHelper(this).Handle; #if !DEBUG GcBtn.Visibility = Visibility.Collapsed; #endif }
private Activity GetFileActivity(FileEntry fileEntry, DateTimeRange range) { object wrapper; if (fileEntry is File) { wrapper = new FileWrapper((File)fileEntry); } else { wrapper = new FolderWrapper((Folder)fileEntry); } var activity = new Activity(Documents, wrapper) { Action = (range.In(fileEntry.CreateOn) ? ActivityAction.Created : ActivityAction.Undefined) | (range.In(fileEntry.ModifiedOn) ? ActivityAction.Updated : ActivityAction.Undefined) | (range.In(fileEntry.SharedToMeOn) ? ActivityAction.Shared : ActivityAction.Undefined), ItemType = "file", }; if (range.In(fileEntry.CreateOn)) { activity.CreatedBy = fileEntry.CreateBy; activity.When = fileEntry.CreateOn; } else if (range.In(fileEntry.ModifiedOn)) { activity.CreatedBy = fileEntry.ModifiedBy; activity.When = fileEntry.ModifiedOn; } else if (range.In(fileEntry.SharedToMeOn)) { activity.CreatedBy = new Guid(fileEntry.SharedToMeBy); activity.When = fileEntry.SharedToMeOn; } return(activity); }