├── source ├── FSC_Components │ ├── FileSystemModels │ │ ├── Local │ │ │ ├── Strings.de-DE.Designer.cs │ │ │ ├── Strings.es-ES.Designer.cs │ │ │ ├── Strings.fr-FR.Designer.cs │ │ │ ├── Strings.hi-IN.Designer.cs │ │ │ ├── Strings.it-IT.Designer.cs │ │ │ ├── Strings.ja-JP.Designer.cs │ │ │ ├── Strings.ru-RU.Designer.cs │ │ │ └── Strings.zh-CHS.Designer.cs │ │ ├── Events │ │ │ ├── FilterChangedEventArgs.cs │ │ │ ├── FileOpenEventArgs.cs │ │ │ └── FolderChangedEventArgs.cs │ │ ├── Factory.cs │ │ ├── Interfaces │ │ │ ├── IListItemViewModel.cs │ │ │ ├── IItem.cs │ │ │ ├── Bookmark │ │ │ │ └── IEditBookmarks.cs │ │ │ └── IConfigExplorerSettings.cs │ │ ├── Models │ │ │ ├── FSItems │ │ │ │ └── Base │ │ │ │ │ └── FSItemType.cs │ │ │ └── CustomFolderItemModel.cs │ │ ├── Browse │ │ │ ├── ICanNavigate.cs │ │ │ ├── BrowseResult.cs │ │ │ ├── INavigateable.cs │ │ │ └── BrowsingEventArgs.cs │ │ ├── Utils │ │ │ ├── LinqExtensions.cs │ │ │ └── IconUtilities.cs │ │ └── Properties │ │ │ └── AssemblyInfo.cs │ ├── FileListView │ │ ├── Images │ │ │ ├── Generic │ │ │ │ ├── Back.png │ │ │ │ ├── forward.png │ │ │ │ ├── refresh.png │ │ │ │ ├── IsHiddenVisible.png │ │ │ │ ├── magnifying_glass.png │ │ │ │ ├── appbar.image.macro.png │ │ │ │ ├── 075b_UpFolder_16x16_72.png │ │ │ │ └── Folder │ │ │ │ │ ├── Folder_yellow_32.png │ │ │ │ │ ├── folderopened_yellow_128.png │ │ │ │ │ ├── folderopened_yellow_16.png │ │ │ │ │ └── folderopened_yellow_64.png │ │ │ ├── Metro │ │ │ │ ├── Dark │ │ │ │ │ ├── File_16.png │ │ │ │ │ ├── File_32.png │ │ │ │ │ ├── appbar.magnify.png │ │ │ │ │ ├── appbar.folder_16.png │ │ │ │ │ ├── appbar.folder_32.png │ │ │ │ │ ├── appbar.refresh_16.png │ │ │ │ │ ├── appbar.refresh_32.png │ │ │ │ │ ├── appbar.image.macro_16.png │ │ │ │ │ ├── appbar.image.macro_32.png │ │ │ │ │ ├── appbar.page.hidden_16.png │ │ │ │ │ └── appbar.page.hidden_32.png │ │ │ │ ├── Light │ │ │ │ │ ├── File_16.png │ │ │ │ │ ├── File_32.png │ │ │ │ │ ├── appbar.folder_16.png │ │ │ │ │ ├── appbar.folder_32.png │ │ │ │ │ ├── appbar.magnify.png │ │ │ │ │ ├── appbar.refresh_16.png │ │ │ │ │ ├── appbar.refresh_32.png │ │ │ │ │ ├── appbar.image.macro_16.png │ │ │ │ │ ├── appbar.image.macro_32.png │ │ │ │ │ ├── appbar.page.hidden_16.png │ │ │ │ │ └── appbar.page.hidden_32.png │ │ │ │ └── SVG │ │ │ │ │ ├── appbar.page.hidden.svg │ │ │ │ │ ├── Sketchup │ │ │ │ │ ├── appbar.arrow.left.svg │ │ │ │ │ ├── appbar.navigate.next.svg │ │ │ │ │ ├── appbar.navigate.previous.svg │ │ │ │ │ ├── appbar.chevron.down.svg │ │ │ │ │ ├── appbar.chevron.up.svg │ │ │ │ │ ├── appbar.chevron.left.svg │ │ │ │ │ ├── appbar.chevron.right.svg │ │ │ │ │ ├── appbar.arrow.right.left.svg │ │ │ │ │ └── appbar.base.svg │ │ │ │ │ ├── appbar.folder.svg │ │ │ │ │ ├── appbar.image.macro.svg │ │ │ │ │ ├── appbar.magnify.svg │ │ │ │ │ └── appbar.refresh.svg │ │ │ ├── MetroDarkIcons.xaml │ │ │ ├── MetroLightIcons.xaml │ │ │ └── GenericIcons.xaml │ │ ├── packages.config │ │ ├── app.config │ │ ├── Interfaces │ │ │ ├── IFileOpenEventSource.cs │ │ │ └── ILVItemViewModel.cs │ │ ├── Views │ │ │ └── BindingProxy.cs │ │ └── Factory.cs │ ├── FolderBrowser │ │ ├── Images │ │ │ ├── Generic │ │ │ │ ├── Error.png │ │ │ │ ├── Folder.png │ │ │ │ ├── Desktop.png │ │ │ │ ├── HardDisk.ico │ │ │ │ ├── MyMusic.png │ │ │ │ ├── MyVideos.png │ │ │ │ ├── Favourites.png │ │ │ │ ├── FolderOpen.png │ │ │ │ ├── MyDocuments.png │ │ │ │ ├── MyPictures.png │ │ │ │ ├── FolderClosed.png │ │ │ │ ├── ProgramFiles.png │ │ │ │ └── BrowseButton │ │ │ │ │ ├── refresh.png │ │ │ │ │ ├── close-round.png │ │ │ │ │ ├── arrow-right-b_64.png │ │ │ │ │ ├── arrow-right-b.svg │ │ │ │ │ └── close-round.svg │ │ │ └── Metro │ │ │ │ ├── Dark │ │ │ │ ├── Folder.png │ │ │ │ ├── Desktop.png │ │ │ │ ├── HardDisk.png │ │ │ │ ├── MyMusic.png │ │ │ │ ├── MyVideos.png │ │ │ │ ├── Favourites.png │ │ │ │ ├── FolderOpen.png │ │ │ │ ├── MyDocuments.png │ │ │ │ ├── MyPictures.png │ │ │ │ ├── FolderClosed.png │ │ │ │ ├── ProgramFiles.png │ │ │ │ └── BrowseButton │ │ │ │ │ ├── close-round.png │ │ │ │ │ ├── appbar.refresh_16.png │ │ │ │ │ ├── appbar.refresh_32.png │ │ │ │ │ └── arrow-right-b_64.png │ │ │ │ ├── Light │ │ │ │ ├── Desktop.png │ │ │ │ ├── Folder.png │ │ │ │ ├── MyMusic.png │ │ │ │ ├── Favourites.png │ │ │ │ ├── FolderOpen.png │ │ │ │ ├── HardDisk.png │ │ │ │ ├── MyPictures.png │ │ │ │ ├── MyVideos.png │ │ │ │ ├── FolderClosed.png │ │ │ │ ├── MyDocuments.png │ │ │ │ ├── ProgramFiles.png │ │ │ │ └── BrowseButton │ │ │ │ │ ├── appbar.refresh_16.png │ │ │ │ │ └── appbar.refresh_32.png │ │ │ │ └── SVG │ │ │ │ ├── MyMusic.svg │ │ │ │ └── MyPictures.svg │ │ ├── Interfaces │ │ │ ├── IDriveViewModel.cs │ │ │ ├── IFolderViewModel.cs │ │ │ ├── IParent.cs │ │ │ ├── ICustomFolderItemViewModel.cs │ │ │ └── Dialogs │ │ │ │ └── IDialogViewModel.cs │ │ ├── packages.config │ │ ├── Views │ │ │ ├── BrowseDirectoriesView.xaml.cs │ │ │ ├── BookmarkFolderDropDown.xaml.cs │ │ │ ├── FolderBrowserDialogView.xaml.cs │ │ │ ├── DropDownView.xaml.cs │ │ │ ├── FolderBrowserDialog.xaml.cs │ │ │ ├── BindingProxy.cs │ │ │ └── FolderBrowserDialog.xaml │ │ ├── ViewModels │ │ │ ├── Messages │ │ │ │ ├── IDisplayMessageViewModel.cs │ │ │ │ └── DisplayMessageViewModel.cs │ │ │ ├── Dialogs │ │ │ │ └── DialogViewModel.cs │ │ │ ├── CustomFolderItemViewModel.cs │ │ │ └── SortableObservableDictionaryCollection.cs │ │ └── Themes │ │ │ ├── Generic.xaml │ │ │ ├── ResourceKeys.cs │ │ │ ├── MetroLight.xaml │ │ │ └── MetroDark.xaml │ ├── FilterControlsLib │ │ ├── Properties │ │ │ ├── Settings.settings │ │ │ └── Settings.Designer.cs │ │ ├── Interfaces │ │ │ └── IFilterItemViewModel.cs │ │ └── Factory.cs │ ├── FolderControlsLib │ │ ├── Properties │ │ │ ├── Settings.settings │ │ │ └── Settings.Designer.cs │ │ ├── Interfaces │ │ │ └── IFolderItemViewModel.cs │ │ └── Factory.cs │ └── TestFileSystemModels │ │ ├── packages.config │ │ └── Properties │ │ └── AssemblyInfo.cs ├── Apps │ ├── NuGet_TestClient │ │ ├── ThemedExplorer │ │ │ ├── Explorer │ │ │ │ ├── Images │ │ │ │ │ ├── Open_32x.png │ │ │ │ │ ├── Open_48x.png │ │ │ │ │ └── Open_64x.png │ │ │ │ ├── App.config │ │ │ │ ├── Properties │ │ │ │ │ ├── Settings.settings │ │ │ │ │ └── Settings.Designer.cs │ │ │ │ ├── App.xaml │ │ │ │ ├── MainWindow.xaml.cs │ │ │ │ ├── ViewModels │ │ │ │ │ └── Base │ │ │ │ │ │ └── ModelBase.cs │ │ │ │ ├── packages.config │ │ │ │ ├── MainWindow.xaml │ │ │ │ └── ServiceInjector.cs │ │ │ ├── Components │ │ │ │ ├── Settings │ │ │ │ │ ├── SettingsModel │ │ │ │ │ │ ├── packages.config │ │ │ │ │ │ ├── Models │ │ │ │ │ │ │ ├── XML │ │ │ │ │ │ │ │ └── Converters │ │ │ │ │ │ │ │ │ ├── IAlternativeDataTypeHandler.cs │ │ │ │ │ │ │ │ │ └── AlternativeDataTypeHandler.cs │ │ │ │ │ │ │ ├── FileReference.cs │ │ │ │ │ │ │ └── Factory.cs │ │ │ │ │ │ ├── ExtensionMethods │ │ │ │ │ │ │ └── SecureStringExtensionMethod.cs │ │ │ │ │ │ └── Properties │ │ │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ │ └── Settings │ │ │ │ │ │ ├── UserProfile │ │ │ │ │ │ ├── LocalizabilityAttribute.cs │ │ │ │ │ │ └── ViewSize.cs │ │ │ │ │ │ ├── Interfaces │ │ │ │ │ │ ├── IOptionsPanel.cs │ │ │ │ │ │ ├── IViewPosSizeModel.cs │ │ │ │ │ │ └── IOptions.cs │ │ │ │ │ │ ├── packages.config │ │ │ │ │ │ ├── ProgramSettings │ │ │ │ │ │ ├── OptionsPanel.cs │ │ │ │ │ │ └── LanguageCollection.cs │ │ │ │ │ │ ├── SettingsManager.cs │ │ │ │ │ │ └── Properties │ │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ └── ServiceLocator │ │ │ │ │ └── Properties │ │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── BindToMLib │ │ │ │ ├── Properties │ │ │ │ │ ├── Settings.settings │ │ │ │ │ └── Settings.Designer.cs │ │ │ │ ├── packages.config │ │ │ │ ├── LightBrushs.xaml │ │ │ │ └── DarkBrushs.xaml │ │ │ └── ExplorerLib │ │ │ │ ├── Views │ │ │ │ └── TreeListItemView.xaml.cs │ │ │ │ ├── Interfaces │ │ │ │ └── ITreeListControllerViewModel.cs │ │ │ │ ├── ExplorerTestFactory.cs │ │ │ │ ├── packages.config │ │ │ │ ├── Properties │ │ │ │ └── AssemblyInfo.cs │ │ │ │ └── ViewModels │ │ │ │ └── Base │ │ │ │ └── ViewModelBase.cs │ │ └── Explorer │ │ │ ├── Explorer │ │ │ ├── App.config │ │ │ ├── Properties │ │ │ │ ├── Settings.settings │ │ │ │ └── Settings.Designer.cs │ │ │ ├── App.xaml.cs │ │ │ ├── packages.config │ │ │ ├── MainWindow.xaml │ │ │ ├── App.xaml │ │ │ └── MainWindow.xaml.cs │ │ │ ├── ExplorerLib │ │ │ ├── Views │ │ │ │ └── TreeListItemView.xaml.cs │ │ │ ├── Interfaces │ │ │ │ └── ITreeListControllerViewModel.cs │ │ │ ├── ExplorerTestFactory.cs │ │ │ ├── packages.config │ │ │ ├── Properties │ │ │ │ └── AssemblyInfo.cs │ │ │ └── ViewModels │ │ │ │ └── Base │ │ │ │ └── ViewModelBase.cs │ │ │ ├── CleanAll.bat │ │ │ └── Explorer.sln │ ├── ExplorerTestMLib │ │ ├── App.config │ │ ├── Properties │ │ │ ├── Settings.settings │ │ │ └── Settings.Designer.cs │ │ ├── App.xaml │ │ ├── packages.config │ │ ├── ViewModels │ │ │ ├── Base │ │ │ │ └── ModelBase.cs │ │ │ └── ThemeDefinitionViewModel.cs │ │ ├── Demos │ │ │ ├── ViewModels │ │ │ │ └── DemoViewModel.cs │ │ │ └── Views │ │ │ │ └── FolderBrowserDialog.xaml.cs │ │ ├── ServiceInjector.cs │ │ └── MainWindow.xaml.cs │ ├── BindToMLib │ │ ├── Properties │ │ │ ├── Settings.settings │ │ │ └── Settings.Designer.cs │ │ ├── packages.config │ │ ├── DarkBrushs.xaml │ │ ├── LightBrushs.xaml │ │ └── DropDownButtonLib │ │ │ └── DarkLightBrushs.xaml │ ├── ExplorerTest │ │ ├── Properties │ │ │ ├── Settings.settings │ │ │ └── Settings.Designer.cs │ │ ├── packages.config │ │ ├── App.xaml │ │ ├── ExplorerTest.cs │ │ ├── App.xaml.cs │ │ ├── MainWindow.xaml.cs │ │ └── MainWindow.xaml │ ├── FolderBrowserDemo │ │ ├── Properties │ │ │ ├── Settings.settings │ │ │ └── Settings.Designer.cs │ │ ├── App.xaml │ │ ├── App.config │ │ ├── Demos │ │ │ ├── Views │ │ │ │ ├── FolderBrowserContentDialogView.xaml.cs │ │ │ │ └── FolderBrowserDialog.xaml.cs │ │ │ └── Models │ │ │ │ └── FolderBrowserResult.cs │ │ ├── packages.config │ │ ├── ViewModels │ │ │ └── Base │ │ │ │ └── ModelBase.cs │ │ ├── MainWindow.xaml.cs │ │ ├── ServiceInjector.cs │ │ └── BindToMLib │ │ │ └── MWindowDialogLib │ │ │ └── DarkLightBrushs.xaml │ └── ExplorerTestLib │ │ ├── FileListItemView.xaml.cs │ │ ├── TreeListItemView.xaml.cs │ │ ├── FileListItemOptionsView.xaml.cs │ │ ├── packages.config │ │ ├── App.config │ │ ├── Interfaces │ │ └── ITreeListControllerViewModel.cs │ │ ├── ExplorerTestFactory.cs │ │ ├── ViewModels │ │ └── Base │ │ │ └── ViewModelBase.cs │ │ └── Properties │ │ └── AssemblyInfo.cs └── Components │ ├── Settings │ ├── Settings │ │ ├── packages.config │ │ ├── UserProfile │ │ │ ├── LocalizabilityAttribute.cs │ │ │ └── ViewSize.cs │ │ ├── Interfaces │ │ │ ├── IOptionsPanel.cs │ │ │ ├── IViewPosSizeModel.cs │ │ │ └── IOptions.cs │ │ ├── ProgramSettings │ │ │ ├── OptionsPanel.cs │ │ │ └── LanguageCollection.cs │ │ ├── SettingsManager.cs │ │ └── Properties │ │ │ └── AssemblyInfo.cs │ └── SettingsModel │ │ ├── Models │ │ ├── XML │ │ │ └── Converters │ │ │ │ ├── IAlternativeDataTypeHandler.cs │ │ │ │ └── AlternativeDataTypeHandler.cs │ │ ├── FileReference.cs │ │ └── Factory.cs │ │ ├── ExtensionMethods │ │ └── SecureStringExtensionMethod.cs │ │ └── Properties │ │ └── AssemblyInfo.cs │ └── ServiceLocator │ ├── ServiceContainer.cs │ └── Properties │ └── AssemblyInfo.cs ├── .gitignore └── LICENSE /source/FSC_Components/FileSystemModels/Local/Strings.de-DE.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/FSC_Components/FileSystemModels/Local/Strings.es-ES.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/FSC_Components/FileSystemModels/Local/Strings.fr-FR.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/FSC_Components/FileSystemModels/Local/Strings.hi-IN.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/FSC_Components/FileSystemModels/Local/Strings.it-IT.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/FSC_Components/FileSystemModels/Local/Strings.ja-JP.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/FSC_Components/FileSystemModels/Local/Strings.ru-RU.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/FSC_Components/FileSystemModels/Local/Strings.zh-CHS.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Generic/Back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Generic/Back.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Generic/forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Generic/forward.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Generic/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Generic/refresh.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Generic/Error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Generic/Error.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Generic/Folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Generic/Folder.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/Dark/File_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Metro/Dark/File_16.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/Dark/File_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Metro/Dark/File_32.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Generic/Desktop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Generic/Desktop.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Generic/HardDisk.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Generic/HardDisk.ico -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Generic/MyMusic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Generic/MyMusic.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Generic/MyVideos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Generic/MyVideos.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Dark/Folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Dark/Folder.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/Light/File_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Metro/Light/File_16.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/Light/File_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Metro/Light/File_32.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Generic/Favourites.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Generic/Favourites.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Generic/FolderOpen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Generic/FolderOpen.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Generic/MyDocuments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Generic/MyDocuments.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Generic/MyPictures.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Generic/MyPictures.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Dark/Desktop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Dark/Desktop.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Dark/HardDisk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Dark/HardDisk.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Dark/MyMusic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Dark/MyMusic.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Dark/MyVideos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Dark/MyVideos.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Light/Desktop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Light/Desktop.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Light/Folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Light/Folder.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Light/MyMusic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Light/MyMusic.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Generic/IsHiddenVisible.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Generic/IsHiddenVisible.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Generic/FolderClosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Generic/FolderClosed.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Generic/ProgramFiles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Generic/ProgramFiles.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Dark/Favourites.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Dark/Favourites.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Dark/FolderOpen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Dark/FolderOpen.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Dark/MyDocuments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Dark/MyDocuments.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Dark/MyPictures.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Dark/MyPictures.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Light/Favourites.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Light/Favourites.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Light/FolderOpen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Light/FolderOpen.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Light/HardDisk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Light/HardDisk.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Light/MyPictures.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Light/MyPictures.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Light/MyVideos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Light/MyVideos.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Generic/magnifying_glass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Generic/magnifying_glass.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/Dark/appbar.magnify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Metro/Dark/appbar.magnify.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Dark/FolderClosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Dark/FolderClosed.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Dark/ProgramFiles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Dark/ProgramFiles.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Light/FolderClosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Light/FolderClosed.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Light/MyDocuments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Light/MyDocuments.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Light/ProgramFiles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Light/ProgramFiles.png -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Explorer/Images/Open_32x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/Apps/NuGet_TestClient/ThemedExplorer/Explorer/Images/Open_32x.png -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Explorer/Images/Open_48x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/Apps/NuGet_TestClient/ThemedExplorer/Explorer/Images/Open_48x.png -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Explorer/Images/Open_64x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/Apps/NuGet_TestClient/ThemedExplorer/Explorer/Images/Open_64x.png -------------------------------------------------------------------------------- /source/Components/Settings/Settings/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Generic/appbar.image.macro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Generic/appbar.image.macro.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/Dark/appbar.folder_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Metro/Dark/appbar.folder_16.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/Dark/appbar.folder_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Metro/Dark/appbar.folder_32.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/Dark/appbar.refresh_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Metro/Dark/appbar.refresh_16.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/Dark/appbar.refresh_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Metro/Dark/appbar.refresh_32.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/Light/appbar.folder_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Metro/Light/appbar.folder_16.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/Light/appbar.folder_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Metro/Light/appbar.folder_32.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/Light/appbar.magnify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Metro/Light/appbar.magnify.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Generic/075b_UpFolder_16x16_72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Generic/075b_UpFolder_16x16_72.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/Light/appbar.refresh_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Metro/Light/appbar.refresh_16.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/Light/appbar.refresh_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Metro/Light/appbar.refresh_32.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Generic/BrowseButton/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Generic/BrowseButton/refresh.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Generic/Folder/Folder_yellow_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Generic/Folder/Folder_yellow_32.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/Dark/appbar.image.macro_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Metro/Dark/appbar.image.macro_16.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/Dark/appbar.image.macro_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Metro/Dark/appbar.image.macro_32.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/Dark/appbar.page.hidden_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Metro/Dark/appbar.page.hidden_16.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/Dark/appbar.page.hidden_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Metro/Dark/appbar.page.hidden_32.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/Light/appbar.image.macro_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Metro/Light/appbar.image.macro_16.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/Light/appbar.image.macro_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Metro/Light/appbar.image.macro_32.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/Light/appbar.page.hidden_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Metro/Light/appbar.page.hidden_16.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/Light/appbar.page.hidden_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Metro/Light/appbar.page.hidden_32.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Generic/BrowseButton/close-round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Generic/BrowseButton/close-round.png -------------------------------------------------------------------------------- /source/Components/Settings/Settings/UserProfile/LocalizabilityAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Settings.UserProfile 4 | { 5 | internal class LocalizabilityAttribute : Attribute 6 | { 7 | } 8 | } -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Generic/Folder/folderopened_yellow_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Generic/Folder/folderopened_yellow_128.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Generic/Folder/folderopened_yellow_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Generic/Folder/folderopened_yellow_16.png -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Generic/Folder/folderopened_yellow_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FileListView/Images/Generic/Folder/folderopened_yellow_64.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Generic/BrowseButton/arrow-right-b_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Generic/BrowseButton/arrow-right-b_64.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Dark/BrowseButton/close-round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Dark/BrowseButton/close-round.png -------------------------------------------------------------------------------- /source/Components/Settings/Settings/Interfaces/IOptionsPanel.cs: -------------------------------------------------------------------------------- 1 | namespace Settings.Interfaces 2 | { 3 | using SettingsModel.Interfaces; 4 | 5 | public interface IOptionsPanel 6 | { 7 | IEngine Options { get; } 8 | } 9 | } -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Dark/BrowseButton/appbar.refresh_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Dark/BrowseButton/appbar.refresh_16.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Dark/BrowseButton/appbar.refresh_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Dark/BrowseButton/appbar.refresh_32.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Dark/BrowseButton/arrow-right-b_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Dark/BrowseButton/arrow-right-b_64.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Light/BrowseButton/appbar.refresh_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Light/BrowseButton/appbar.refresh_16.png -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/Light/BrowseButton/appbar.refresh_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dirkster99/fsc/HEAD/source/FSC_Components/FolderBrowser/Images/Metro/Light/BrowseButton/appbar.refresh_32.png -------------------------------------------------------------------------------- /source/Apps/ExplorerTestMLib/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Components/Settings/SettingsModel/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Components/Settings/Settings/UserProfile/LocalizabilityAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Settings.UserProfile 4 | { 5 | internal class LocalizabilityAttribute : Attribute 6 | { 7 | } 8 | } -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/Explorer/Explorer/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/Apps/BindToMLib/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Explorer/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/Apps/ExplorerTest/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/Apps/ExplorerTestMLib/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/Apps/FolderBrowserDemo/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Components/Settings/Settings/Interfaces/IOptionsPanel.cs: -------------------------------------------------------------------------------- 1 | namespace Settings.Interfaces 2 | { 3 | using SettingsModel.Interfaces; 4 | 5 | public interface IOptionsPanel 6 | { 7 | IEngine Options { get; } 8 | } 9 | } -------------------------------------------------------------------------------- /source/FSC_Components/FilterControlsLib/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderControlsLib/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/Apps/ExplorerTest/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/Explorer/Explorer/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/Apps/ExplorerTestMLib/App.xaml: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Explorer/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/FSC_Components/TestFileSystemModels/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/BindToMLib/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /source/Apps/FolderBrowserDemo/App.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Components/Settings/Settings/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Explorer/App.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Interfaces/IDriveViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace FolderBrowser.Interfaces 2 | { 3 | /// 4 | /// Defines the interface to a viewmodel that binds to 5 | /// a drive item in the view. 6 | /// 7 | public interface IDriveViewModel : ITreeItemViewModel 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Interfaces/IFolderViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace FolderBrowser.Interfaces 2 | { 3 | /// 4 | /// Defines the interface to a viewmodel that binds to 5 | /// a folder item in the view. 6 | /// 7 | public interface IFolderViewModel : ITreeItemViewModel 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /source/Apps/ExplorerTestLib/FileListItemView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace ExplorerTestLib 2 | { 3 | using System.Windows.Controls; 4 | 5 | /// 6 | /// Interaction logic for FileListItemView.xaml 7 | /// 8 | public partial class FileListItemView : UserControl 9 | { 10 | public FileListItemView() 11 | { 12 | InitializeComponent(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/FSC_Components/FileSystemModels/Events/FilterChangedEventArgs.cs: -------------------------------------------------------------------------------- 1 | namespace FileSystemModels.Events 2 | { 3 | using System; 4 | 5 | /// 6 | /// Class implements ... 7 | /// 8 | public class FilterChangedEventArgs : EventArgs 9 | { 10 | /// 11 | /// Path of directory... 12 | /// 13 | public string FilterText { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/Components/Settings/SettingsModel/Models/XML/Converters/IAlternativeDataTypeHandler.cs: -------------------------------------------------------------------------------- 1 | namespace SettingsModel.Models.XML.Converters 2 | { 3 | using System; 4 | 5 | internal interface IAlternativeDataTypeHandler 6 | { 7 | Type SourceDataType { get; } 8 | Type TargetDataType { get; } 9 | 10 | object Convert(object objectInput); 11 | object ConvertBack(object objectEncryptedData); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /source/Apps/ExplorerTestLib/TreeListItemView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace ExplorerTestLib 2 | { 3 | using System.Windows.Controls; 4 | 5 | /// 6 | /// Interaction logic for FileListItemView.xaml 7 | /// 8 | public partial class TreeListItemView : UserControl 9 | { 10 | public TreeListItemView() 11 | { 12 | InitializeComponent(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/Apps/ExplorerTestLib/FileListItemOptionsView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace ExplorerTestLib 2 | { 3 | using System.Windows.Controls; 4 | 5 | /// 6 | /// Interaction logic for FileListItemOptionsView.xaml 7 | /// 8 | public partial class FileListItemOptionsView : UserControl 9 | { 10 | public FileListItemOptionsView() 11 | { 12 | InitializeComponent(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/Apps/ExplorerTestMLib/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/Explorer/Explorer/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Configuration; 4 | using System.Data; 5 | using System.Linq; 6 | using System.Threading.Tasks; 7 | using System.Windows; 8 | 9 | namespace Explorer 10 | { 11 | /// 12 | /// Interaction logic for App.xaml 13 | /// 14 | public partial class App : Application 15 | { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /source/FSC_Components/FileSystemModels/Events/FileOpenEventArgs.cs: -------------------------------------------------------------------------------- 1 | namespace FileSystemModels.Events 2 | { 3 | using System; 4 | 5 | /// 6 | /// This event tells the receiver that the user wants to open a file. 7 | /// 8 | public class FileOpenEventArgs : EventArgs 9 | { 10 | /// 11 | /// Path an file name of file to open. 12 | /// 13 | public string FileName { get; set; } 14 | } 15 | } 16 | 17 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/Explorer/ExplorerLib/Views/TreeListItemView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace ExplorerLib.Views 2 | { 3 | using System.Windows.Controls; 4 | 5 | /// 6 | /// Interaction logic for FileListItemView.xaml 7 | /// 8 | public partial class TreeListItemView : UserControl 9 | { 10 | public TreeListItemView() 11 | { 12 | InitializeComponent(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/ExplorerLib/Views/TreeListItemView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace ExplorerLib.Views 2 | { 3 | using System.Windows.Controls; 4 | 5 | /// 6 | /// Interaction logic for FileListItemView.xaml 7 | /// 8 | public partial class TreeListItemView : UserControl 9 | { 10 | public TreeListItemView() 11 | { 12 | InitializeComponent(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Interfaces/IParent.cs: -------------------------------------------------------------------------------- 1 | namespace FolderBrowser.Interfaces 2 | { 3 | /// 4 | /// Models an interfaces to an item that can 5 | /// tell is parent (whether it has a paren or not). 6 | /// 7 | public interface IParent 8 | { 9 | /// 10 | /// Gets the parent object where this object is the child in the treeview. 11 | /// 12 | ITreeItemViewModel Parent { get; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderControlsLib/Interfaces/IFolderItemViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace FolderControlsLib.Interfaces 2 | { 3 | using FileSystemModels.Interfaces; 4 | 5 | /// 6 | /// Defines properties and methods of an item that is used to display folder 7 | /// related information in a list like fashion with indentation if possible. 8 | /// (combobox, etc...). 9 | /// 10 | public interface IFolderItemViewModel : IListItemViewModel 11 | { 12 | } 13 | } -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Components/Settings/SettingsModel/Models/XML/Converters/IAlternativeDataTypeHandler.cs: -------------------------------------------------------------------------------- 1 | namespace SettingsModel.Models.XML.Converters 2 | { 3 | using System; 4 | 5 | internal interface IAlternativeDataTypeHandler 6 | { 7 | Type SourceDataType { get; } 8 | Type TargetDataType { get; } 9 | 10 | object Convert(object objectInput); 11 | object ConvertBack(object objectEncryptedData); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Views/BrowseDirectoriesView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace FolderBrowser.Views 2 | { 3 | using System.Windows.Controls; 4 | 5 | /// 6 | /// Interaction logic for BrowseDirectoriesView.xaml 7 | /// 8 | public partial class BrowseDirectoriesView : UserControl 9 | { 10 | /// 11 | /// Class constructor 12 | /// 13 | public BrowseDirectoriesView() 14 | { 15 | InitializeComponent(); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # This .gitignore file was automatically created by Microsoft(R) Visual Studio. 3 | ################################################################################ 4 | 5 | /source/.vs/FSC/v15/Server/sqlite3 6 | /00_Release 7 | /01_Nuget 8 | /source/Apps/NuGet_TestClient/ThemedExplorer/.vs/Explorer/v15/Server/sqlite3 9 | /source/Apps/NuGet_TestClient/Explorer/.vs/Explorer/v15/Server/sqlite3 10 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Views/BookmarkFolderDropDown.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace FolderBrowser.Views 2 | { 3 | using System.Windows.Controls; 4 | 5 | /// 6 | /// Interaction logic for BookmarkFolderDropDown.xaml 7 | /// 8 | public partial class BookmarkFolderDropDown : UserControl 9 | { 10 | /// 11 | /// Class constructor. 12 | /// 13 | public BookmarkFolderDropDown() 14 | { 15 | InitializeComponent(); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Views/FolderBrowserDialogView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace FolderBrowser.Views 2 | { 3 | using System.Windows.Controls; 4 | 5 | /// 6 | /// Interaction logic for FolderBrowserDialogView.xaml 7 | /// 8 | public partial class FolderBrowserDialogView : UserControl 9 | { 10 | /// 11 | /// Class constructor 12 | /// 13 | public FolderBrowserDialogView() 14 | { 15 | InitializeComponent(); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /source/Components/Settings/Settings/Interfaces/IViewPosSizeModel.cs: -------------------------------------------------------------------------------- 1 | namespace Settings.Interfaces 2 | { 3 | using System; 4 | 5 | public interface IViewPosSizeModel 6 | { 7 | bool DefaultConstruct { get; } 8 | double Height { get; set; } 9 | bool IsMaximized { get; set; } 10 | double Width { get; set; } 11 | double X { get; set; } 12 | double Y { get; set; } 13 | 14 | void SetValidPos(double SystemParameters_VirtualScreenLeft, double SystemParameters_VirtualScreenTop); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /source/Components/Settings/Settings/UserProfile/ViewSize.cs: -------------------------------------------------------------------------------- 1 | namespace Settings.UserProfile 2 | { 3 | // 50, 50, 800, 550 4 | public class ViewSize 5 | { 6 | public ViewSize(double x, double y, double width, double height) 7 | { 8 | X = x; 9 | Y = y; 10 | Width = width; 11 | Height = height; 12 | } 13 | 14 | public double X { get; private set; } 15 | public double Y { get; private set; } 16 | public double Width { get; private set; } 17 | public double Height { get; private set; } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /source/Apps/BindToMLib/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Explorer/MainWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Explorer 2 | { 3 | using Settings.UserProfile; 4 | 5 | /// 6 | /// Interaction logic for MainWindow.xaml 7 | /// 8 | public partial class MainWindow : MWindowLib.SimpleMetroWindow 9 | , IViewSize // Implements saving and loading/repositioning of Window 10 | { 11 | public MainWindow() 12 | { 13 | InitializeComponent(); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /source/Components/Settings/SettingsModel/Models/FileReference.cs: -------------------------------------------------------------------------------- 1 | namespace SettingsModel.Models 2 | { 3 | using System.Xml.Serialization; 4 | 5 | /// 6 | /// Implement a simple file reverence model to allow XML persistence 7 | /// of a List via this class. 8 | /// 9 | public class FileReference 10 | { 11 | /// 12 | /// Gets/sets the path to a file. 13 | /// 14 | [XmlAttribute(AttributeName = "path")] 15 | public string path { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /source/Apps/ExplorerTestLib/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/Explorer/Explorer/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /source/Apps/ExplorerTest/App.xaml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/BindToMLib/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /source/Apps/ExplorerTestLib/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Components/Settings/Settings/Interfaces/IViewPosSizeModel.cs: -------------------------------------------------------------------------------- 1 | namespace Settings.Interfaces 2 | { 3 | using System; 4 | 5 | public interface IViewPosSizeModel 6 | { 7 | bool DefaultConstruct { get; } 8 | double Height { get; set; } 9 | bool IsMaximized { get; set; } 10 | double Width { get; set; } 11 | double X { get; set; } 12 | double Y { get; set; } 13 | 14 | void SetValidPos(double SystemParameters_VirtualScreenLeft, double SystemParameters_VirtualScreenTop); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /source/Apps/FolderBrowserDemo/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /source/Apps/FolderBrowserDemo/Demos/Views/FolderBrowserContentDialogView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace FsContentDialogDemo.Demos.Views 2 | { 3 | using System.Windows.Controls; 4 | 5 | /// 6 | /// Interaction logic for FolderBrowserContentDialogView.xaml 7 | /// 8 | /// This type of dialog can be shown as overlay over the actual MainWindow. 9 | /// 10 | public partial class FolderBrowserContentDialogView : UserControl 11 | { 12 | public FolderBrowserContentDialogView() 13 | { 14 | InitializeComponent(); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/SVG/appbar.page.hidden.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /source/Apps/ExplorerTestMLib/ViewModels/Base/ModelBase.cs: -------------------------------------------------------------------------------- 1 | namespace ExplorerTestMLib.ViewModels.Base 2 | { 3 | public class ModelBase : ExplorerTestLib.ViewModels.Base.ViewModelBase 4 | { 5 | /// 6 | /// Gets an instance of the service container and retrieves the requested service coponent. 7 | /// 8 | /// 9 | /// 10 | public TServiceContract GetService() where TServiceContract : class 11 | { 12 | return ServiceLocator.ServiceContainer.Instance.GetService(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Interfaces/IFileOpenEventSource.cs: -------------------------------------------------------------------------------- 1 | namespace FileListView.Interfaces 2 | { 3 | using System; 4 | using FileSystemModels.Events; 5 | 6 | /// 7 | /// implements an interface that can be used to request event based actions, such as, 8 | /// opening a file system item (in the client application or windows). 9 | /// 10 | public interface IFileOpenEventSource 11 | { 12 | /// 13 | /// Event is fired to indicate that user wishes to open a file via this viewmodel. 14 | /// 15 | event EventHandler OnFileOpen; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /source/Apps/FolderBrowserDemo/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Components/Settings/SettingsModel/Models/FileReference.cs: -------------------------------------------------------------------------------- 1 | namespace SettingsModel.Models 2 | { 3 | using System.Xml.Serialization; 4 | 5 | /// 6 | /// Implement a simple file reverence model to allow XML persistence 7 | /// of a List via this class. 8 | /// 9 | public class FileReference 10 | { 11 | /// 12 | /// Gets/sets the path to a file. 13 | /// 14 | [XmlAttribute(AttributeName = "path")] 15 | public string path { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/SVG/Sketchup/appbar.arrow.left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /source/Apps/FolderBrowserDemo/ViewModels/Base/ModelBase.cs: -------------------------------------------------------------------------------- 1 | namespace FsContentDialogDemo.ViewModels.Base 2 | { 3 | public class ModelBase 4 | { 5 | /// 6 | /// Gets an instance of the service container and retrieves the requested service coponent. 7 | /// 8 | /// 9 | /// 10 | public TServiceContract GetService() where TServiceContract : class 11 | { 12 | return ServiceLocator.ServiceContainer.Instance.GetService(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/Apps/ExplorerTestLib/Interfaces/ITreeListControllerViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace ExplorerTestLib.Interfaces 2 | { 3 | using FolderBrowser.Interfaces; 4 | 5 | /// 6 | /// Interface implements a folder/file view model class 7 | /// that can be used to dispaly filesystem related content in an ItemsControl. 8 | /// 9 | public interface ITreeListControllerViewModel : IListControllerViewModel 10 | { 11 | /// 12 | /// Gets the folder browser viewmodel that drives the tree view which displays 13 | /// drives and their folder items. 14 | /// 15 | IBrowserViewModel TreeBrowser { get; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Components/Settings/Settings/UserProfile/ViewSize.cs: -------------------------------------------------------------------------------- 1 | namespace Settings.UserProfile 2 | { 3 | // 50, 50, 800, 550 4 | public class ViewSize 5 | { 6 | public ViewSize(double x, double y, double width, double height) 7 | { 8 | X = x; 9 | Y = y; 10 | Width = width; 11 | Height = height; 12 | } 13 | 14 | public double X { get; private set; } 15 | public double Y { get; private set; } 16 | public double Width { get; private set; } 17 | public double Height { get; private set; } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/SVG/Sketchup/appbar.navigate.next.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/SVG/Sketchup/appbar.navigate.previous.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/SVG/Sketchup/appbar.chevron.down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /source/Apps/BindToMLib/DarkBrushs.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/Explorer/Explorer/MainWindow.xaml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /source/Components/Settings/SettingsModel/Models/Factory.cs: -------------------------------------------------------------------------------- 1 | namespace SettingsModel.Models 2 | { 3 | using SettingsModel.Interfaces; 4 | 5 | /// 6 | /// Factory class to create an 7 | /// object from a class that is otherwise unknown to the outside world. 8 | /// 9 | public static class Factory 10 | { 11 | /// 12 | /// Create a new engine object that provides all root functions required 13 | /// to model, track, persist, and load data at run-time. 14 | /// 15 | /// 16 | public static IEngine CreateEngine() 17 | { 18 | return new OptionsEngine(); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /source/FSC_Components/FilterControlsLib/Interfaces/IFilterItemViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace FilterControlsLib.Interfaces 2 | { 3 | /// 4 | /// Defines the properties and methods of a view model 5 | /// for a filter item displayed in a list of filters. 6 | /// 7 | public interface IFilterItemViewModel 8 | { 9 | /// 10 | /// Gets the regular expression based filter string eg: '*.exe'. 11 | /// 12 | string FilterText { get; set; } 13 | 14 | /// 15 | /// Gets the name for this filter 16 | /// (human readable for display in tool tip or label). 17 | /// 18 | string FilterDisplayName { get; set; } 19 | } 20 | } -------------------------------------------------------------------------------- /source/Apps/BindToMLib/LightBrushs.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/SVG/Sketchup/appbar.chevron.up.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/SVG/appbar.folder.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /source/Apps/ExplorerTestLib/ExplorerTestFactory.cs: -------------------------------------------------------------------------------- 1 | namespace ExplorerTestLib 2 | { 3 | using ExplorerTestLib.Interfaces; 4 | using ExplorerTestLib.ViewModels; 5 | 6 | public sealed class ExplorerTestFactory 7 | { 8 | private ExplorerTestFactory() 9 | { } 10 | 11 | /// 12 | /// Creates a instance and returns it. 13 | /// 14 | /// 15 | public static IListControllerViewModel CreateList() 16 | { 17 | return new ListControllerViewModel(); 18 | } 19 | 20 | public static ITreeListControllerViewModel CreateTreeList() 21 | { 22 | return new TreeListControllerViewModel(); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Explorer/ViewModels/Base/ModelBase.cs: -------------------------------------------------------------------------------- 1 | namespace Explorer.ViewModels.Base 2 | { 3 | public class ModelBase : ExplorerLib.ViewModels.Base.ViewModelBase 4 | { 5 | /// 6 | /// Gets an instance of the service container and retrieves the requested service coponent. 7 | /// 8 | /// 9 | /// 10 | public TServiceContract GetService() where TServiceContract : class 11 | { 12 | return ServiceLocator.ServiceContainer.Instance.GetService(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/SVG/Sketchup/appbar.chevron.left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/SVG/Sketchup/appbar.chevron.right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/Explorer/Explorer/App.xaml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/Explorer/ExplorerLib/Interfaces/ITreeListControllerViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace ExplorerLib.Interfaces 2 | { 3 | using FolderBrowser.Interfaces; 4 | 5 | /// 6 | /// Interface implements a folder/file view model class 7 | /// that can be used to dispaly filesystem related content in an ItemsControl. 8 | /// 9 | public interface ITreeListControllerViewModel : IListControllerViewModel 10 | { 11 | /// 12 | /// Gets the folder browser viewmodel that drives the tree view which displays 13 | /// drives and their folder items. 14 | /// 15 | IBrowserViewModel TreeBrowser { get; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Explorer/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /source/Components/Settings/Settings/ProgramSettings/OptionsPanel.cs: -------------------------------------------------------------------------------- 1 | namespace Settings.ProgramSettings 2 | { 3 | using Settings.Interfaces; 4 | using SettingsModel.Interfaces; 5 | using SettingsModel.Models; 6 | 7 | internal class OptionsPanel : IOptionsPanel 8 | { 9 | private IEngine mQuery = null; 10 | 11 | public OptionsPanel() 12 | { 13 | mQuery = Factory.CreateEngine(); 14 | } 15 | 16 | /// 17 | /// Gets the options that used to manage program options. 18 | /// 19 | public IEngine Options 20 | { 21 | get 22 | { 23 | return mQuery; 24 | } 25 | 26 | private set 27 | { 28 | mQuery = value; 29 | } 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/ExplorerLib/Interfaces/ITreeListControllerViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace ExplorerLib.Interfaces 2 | { 3 | using FolderBrowser.Interfaces; 4 | 5 | /// 6 | /// Interface implements a folder/file view model class 7 | /// that can be used to dispaly filesystem related content in an ItemsControl. 8 | /// 9 | public interface ITreeListControllerViewModel : IListControllerViewModel 10 | { 11 | /// 12 | /// Gets the folder browser viewmodel that drives the tree view which displays 13 | /// drives and their folder items. 14 | /// 15 | IBrowserViewModel TreeBrowser { get; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Interfaces/ICustomFolderItemViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace FolderBrowser.Interfaces 2 | { 3 | using System; 4 | using System.ComponentModel; 5 | 6 | /// 7 | /// Defines an interface to a viewmodel item that represents a 8 | /// Special Folder (Music, Video, Desktop) in the Windows files system. 9 | /// 10 | public interface ICustomFolderItemViewModel : INotifyPropertyChanged 11 | { 12 | /// 13 | /// Gets the file system path (if any) of this item. 14 | /// 15 | string Path { get; } 16 | 17 | /// 18 | /// Gets the Special Folder enumeration of this item. 19 | /// 20 | Environment.SpecialFolder SpecialFolder { get; } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/BindToMLib/LightBrushs.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /source/Apps/ExplorerTest/ExplorerTest.cs: -------------------------------------------------------------------------------- 1 | namespace ExplorerTest 2 | { 3 | using ExplorerTest.Interfaces; 4 | using ExplorerTest.ViewModels; 5 | 6 | public sealed class ExplorerTest 7 | { 8 | private ExplorerTest() 9 | { } 10 | 11 | /// 12 | /// Creates a instance and returns it. 13 | /// 14 | /// 15 | public static IListControllerViewModel CreateList() 16 | { 17 | return new ListControllerViewModel(); 18 | } 19 | 20 | public static ITreeListControllerViewModel CreateTreeList() 21 | { 22 | return new TreeListControllerViewModel(); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Interfaces/ILVItemViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace FileListView.Interfaces 2 | { 3 | using FileSystemModels.Interfaces; 4 | using InplaceEditBoxLib.Interfaces; 5 | using System.ComponentModel; 6 | 7 | /// 8 | /// Defines the properties and members of an item view model that is 9 | /// designed for usage in list views or similar controls. 10 | /// 11 | public interface ILVItemViewModel : IListItemViewModel, IEditBox, INotifyPropertyChanged 12 | { 13 | /// 14 | /// Renames this item with the indicated name. 15 | /// 16 | /// This includes renaming the item in the file system. 17 | /// 18 | /// 19 | void RenameFileOrFolder(string newFolderName); 20 | } 21 | } -------------------------------------------------------------------------------- /source/FSC_Components/FileSystemModels/Factory.cs: -------------------------------------------------------------------------------- 1 | namespace FileSystemModels 2 | { 3 | using FileSystemModels.Interfaces.Bookmark; 4 | using FileSystemModels.ViewModels; 5 | 6 | /// 7 | /// Implements a factory for core models and viemodels that can be implemented 8 | /// by clients and controls that are based on this library. 9 | /// 10 | public sealed class Factory 11 | { 12 | private Factory() { } 13 | 14 | /// 15 | /// Factory pattern that can create objects to manage 16 | /// recently visited file system folder entries. 17 | /// 18 | /// 19 | public static IBookmarksViewModel CreateBookmarksViewModel() 20 | { 21 | return new BookmarkesViewModel() as IBookmarksViewModel; 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /source/FSC_Components/TestFileSystemModels/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | [assembly: AssemblyTitle("TestFileSystemModels")] 6 | [assembly: AssemblyDescription("")] 7 | [assembly: AssemblyConfiguration("")] 8 | [assembly: AssemblyCompany("")] 9 | [assembly: AssemblyProduct("TestFileSystemModels")] 10 | [assembly: AssemblyCopyright("Copyright © 2018")] 11 | [assembly: AssemblyTrademark("")] 12 | [assembly: AssemblyCulture("")] 13 | 14 | [assembly: ComVisible(false)] 15 | 16 | [assembly: Guid("b0e0dbc0-4f7b-4b85-a1d8-510308ad0ba1")] 17 | 18 | // [assembly: AssemblyVersion("1.0.*")] 19 | [assembly: AssemblyVersion("1.0.0.0")] 20 | [assembly: AssemblyFileVersion("1.0.0.0")] 21 | -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/SVG/Sketchup/appbar.arrow.right.left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /source/FSC_Components/FileSystemModels/Interfaces/IListItemViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace FileSystemModels.Interfaces 2 | { 3 | /// 4 | /// Define the properties and methods of a viewmodel for 5 | /// a file system item. 6 | /// 7 | public interface IListItemViewModel : IItem 8 | { 9 | #region properties 10 | /// 11 | /// Gets whether or not to show an Icon for this item or not. 12 | /// 13 | bool ShowIcon { get; } 14 | #endregion properties 15 | 16 | #region methods 17 | /// 18 | /// Determine whether a given path is an exeisting directory or not. 19 | /// 20 | /// true if this directory exists and otherwise false 21 | bool DirectoryPathExists(); 22 | #endregion methods 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/BindToMLib/DarkBrushs.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Components/Settings/SettingsModel/Models/Factory.cs: -------------------------------------------------------------------------------- 1 | namespace SettingsModel.Models 2 | { 3 | using SettingsModel.Interfaces; 4 | 5 | /// 6 | /// Factory class to create an 7 | /// object from a class that is otherwise unknown to the outside world. 8 | /// 9 | public static class Factory 10 | { 11 | /// 12 | /// Create a new engine object that provides all root functions required 13 | /// to model, track, persist, and load data at run-time. 14 | /// 15 | /// 16 | public static IEngine CreateEngine() 17 | { 18 | return new OptionsEngine(); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Generic/BrowseButton/arrow-right-b.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 8 | 9 | -------------------------------------------------------------------------------- /source/FSC_Components/FileSystemModels/Models/FSItems/Base/FSItemType.cs: -------------------------------------------------------------------------------- 1 | namespace FileSystemModels.Models.FSItems.Base 2 | { 3 | /// 4 | /// Determine whether a file system item is a folder or a file. 5 | /// 6 | public enum FSItemType 7 | { 8 | /// 9 | /// Uknown type of file system item. 10 | /// 11 | Unknown = 0, 12 | 13 | /// 14 | /// Reference to harddisk or other drives such as 'C:\' 15 | /// 16 | LogicalDrive = 1, 17 | 18 | /// 19 | /// File system item is a folder. 20 | /// 21 | Folder = 2, 22 | 23 | /// 24 | /// File system item is a file. 25 | /// 26 | File = 3, 27 | 28 | ////DummyEntry = 4 29 | 30 | ////Computer = 4, 31 | ////NetworkShare = 5, 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /source/Components/Settings/Settings/SettingsManager.cs: -------------------------------------------------------------------------------- 1 | namespace Settings 2 | { 3 | using MLib.Interfaces; 4 | using Settings.Interfaces; 5 | using Settings.Internal; 6 | 7 | /// 8 | /// Helper class to initialize an 9 | /// service interface. 10 | /// 11 | public sealed class SettingsManager 12 | { 13 | /// 14 | /// Hidden default constructor. 15 | /// 16 | private SettingsManager() 17 | { 18 | } 19 | 20 | /// 21 | /// Gets an instance of an object that implements the 22 | /// interface. 23 | /// 24 | /// 25 | public static ISettingsManager GetInstance(IThemeInfos themeInfos) 26 | { 27 | return new SettingsManagerImpl(themeInfos); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/Explorer/ExplorerLib/ExplorerTestFactory.cs: -------------------------------------------------------------------------------- 1 | namespace ExplorerTestLib 2 | { 3 | using ExplorerLib.Interfaces; 4 | using ExplorerLib.ViewModels; 5 | 6 | public sealed class ExplorerTestFactory 7 | { 8 | private ExplorerTestFactory() 9 | { } 10 | 11 | /// 12 | /// Creates a instance and returns it. 13 | /// This instance can be used to manage an Explorer like view into the filse system. 14 | /// This Explorer like view already supports a folder treeview and a folder/files list view. 15 | /// 16 | /// 17 | public static ITreeListControllerViewModel CreateTreeList() 18 | { 19 | return new TreeListControllerViewModel(); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/ExplorerLib/ExplorerTestFactory.cs: -------------------------------------------------------------------------------- 1 | namespace ExplorerTestLib 2 | { 3 | using ExplorerLib.Interfaces; 4 | using ExplorerLib.ViewModels; 5 | 6 | public sealed class ExplorerTestFactory 7 | { 8 | private ExplorerTestFactory() 9 | { } 10 | 11 | /// 12 | /// Creates a instance and returns it. 13 | /// This instance can be used to manage an Explorer like view into the filse system. 14 | /// This Explorer like view already supports a folder treeview and a folder/files list view. 15 | /// 16 | /// 17 | public static ITreeListControllerViewModel CreateTreeList() 18 | { 19 | return new TreeListControllerViewModel(); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /source/Apps/FolderBrowserDemo/MainWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace FsContentDialogDemo 2 | { 3 | using Settings.UserProfile; 4 | using ViewModels; 5 | 6 | /// 7 | /// Interaction logic for MainWindow.xaml 8 | /// 9 | public partial class MainWindow : MWindowLib.MetroWindow 10 | , IViewSize // Implements saving and loading/repositioning of Window 11 | { 12 | public MainWindow() 13 | { 14 | InitializeComponent(); 15 | Loaded += MainWindow_Loaded; 16 | 17 | ShowDialogsOverTitleBar = false; 18 | } 19 | 20 | private void MainWindow_Loaded(object sender, System.Windows.RoutedEventArgs e) 21 | { 22 | Loaded -= MainWindow_Loaded; 23 | 24 | var viewModel = this.DataContext as AppViewModel; 25 | 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/SVG/appbar.image.macro.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /source/Apps/ExplorerTestMLib/Demos/ViewModels/DemoViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace ExplorerTestMLib.Demos.ViewModels 2 | { 3 | using System; 4 | using System.Windows; 5 | 6 | public class DemoViewModel : ExplorerTestLib.ViewModels.ApplicationViewModel, IDisposable 7 | { 8 | public DemoViewModel() 9 | : base() 10 | { 11 | } 12 | 13 | /// 14 | /// Creates a new instance of a generic folder browser dialog window. 15 | /// 16 | /// This method is used in the AddRecent Folder command of 17 | /// class. 18 | /// 19 | /// We overwrite this method in this inheriting class to create a custom 20 | /// theme-able dialog instead of the generic version. 21 | /// 22 | protected override Window CreateFolderBrowserDialog() 23 | { 24 | return new ExplorerTestMLib.Demos.Views.FolderBrowserDialog(); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Components/Settings/Settings/ProgramSettings/OptionsPanel.cs: -------------------------------------------------------------------------------- 1 | namespace Settings.ProgramSettings 2 | { 3 | using Settings.Interfaces; 4 | using SettingsModel.Interfaces; 5 | using SettingsModel.Models; 6 | 7 | internal class OptionsPanel : IOptionsPanel 8 | { 9 | private IEngine mQuery = null; 10 | 11 | public OptionsPanel() 12 | { 13 | mQuery = Factory.CreateEngine(); 14 | } 15 | 16 | /// 17 | /// Gets the options that used to manage program options. 18 | /// 19 | public IEngine Options 20 | { 21 | get 22 | { 23 | return mQuery; 24 | } 25 | 26 | private set 27 | { 28 | mQuery = value; 29 | } 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/SVG/Sketchup/appbar.base.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Generic/BrowseButton/close-round.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/SVG/MyMusic.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /source/Apps/ExplorerTest/App.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace ExplorerTest 2 | { 3 | using System.Windows; 4 | 5 | /// 6 | /// Interaction logic for App.xaml 7 | /// 8 | public partial class App : Application 9 | { 10 | #region fields 11 | #endregion fields 12 | 13 | #region constructor 14 | /// 15 | /// Class Constructor 16 | /// 17 | public App() 18 | { 19 | ////Thread.CurrentThread.CurrentCulture = new CultureInfo("zh-CHS"); 20 | ////Thread.CurrentThread.CurrentUICulture = new CultureInfo("zh-CHS"); 21 | ////Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE"); 22 | ////Thread.CurrentThread.CurrentUICulture = new CultureInfo("de-DE"); 23 | } 24 | 25 | /// 26 | /// Static Class Constructor 27 | /// 28 | static App() 29 | { 30 | } 31 | #endregion constructor 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /source/FSC_Components/FileSystemModels/Events/FolderChangedEventArgs.cs: -------------------------------------------------------------------------------- 1 | namespace FileSystemModels.Events 2 | { 3 | using System; 4 | using FileSystemModels.Interfaces; 5 | 6 | /// 7 | /// Class implements an event that signals that 8 | /// event source (caller) would like to change to indicated path. 9 | /// 10 | public class FolderChangedEventArgs : EventArgs 11 | { 12 | /// 13 | /// Event type class constructor from parameter 14 | /// 15 | public FolderChangedEventArgs(IPathModel path) 16 | : this() 17 | { 18 | this.Folder = path; 19 | } 20 | 21 | /// 22 | /// Class constructor 23 | /// 24 | public FolderChangedEventArgs() 25 | : base() 26 | { 27 | this.Folder = null; 28 | } 29 | 30 | /// 31 | /// Path to this directory... 32 | /// 33 | public IPathModel Folder { get; private set; } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /source/FSC_Components/FileSystemModels/Browse/ICanNavigate.cs: -------------------------------------------------------------------------------- 1 | namespace FileSystemModels.Browse 2 | { 3 | using System; 4 | 5 | /// 6 | /// Defines an interface that should be exposed if a control can 7 | /// request the controller (and hence other controls) to browse to 8 | /// a new file system location. 9 | /// 10 | public interface ICanNavigate 11 | { 12 | /// 13 | /// Indicates when the viewmodel starts heading off somewhere else 14 | /// and when its done browsing to a new location. 15 | /// 16 | event EventHandler BrowseEvent; 17 | 18 | /// 19 | /// Can only be set by the control if user started browser process 20 | /// 21 | /// Use IsBrowsing and IsExternallyBrowsing to lock the controls UI 22 | /// during browse operations or display appropriate progress bar(s). 23 | /// 24 | bool IsBrowsing { get; } 25 | } 26 | } 27 | 28 | -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/SVG/appbar.magnify.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /source/FSC_Components/FileSystemModels/Browse/BrowseResult.cs: -------------------------------------------------------------------------------- 1 | namespace FileSystemModels.Browse 2 | { 3 | /// 4 | /// Determines the state of a browsing process. for instance, browsing a 5 | /// viewmodel (and it attached view(s)) from 'C:\' to 'G:\' may involve 6 | /// a: 7 | /// - start state == (Unknown) 8 | /// 9 | /// and a state of completion: 10 | /// - error == Incomplete or 11 | /// - success == Complete 12 | /// 13 | public enum BrowseResult 14 | { 15 | /// 16 | /// Result is unknown since browse task is currently running 17 | /// or completed with unknown result ... 18 | /// 19 | Unknown = 0, 20 | 21 | /// 22 | /// Browse Process OK - destination does exist and is accessible 23 | /// 24 | Complete = 1, 25 | 26 | /// 27 | /// Error indicator - destination does not exist or is not accessible 28 | /// 29 | InComplete = 2 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Components/Settings/Settings/SettingsManager.cs: -------------------------------------------------------------------------------- 1 | namespace Settings 2 | { 3 | using MLib.Interfaces; 4 | using Settings.Interfaces; 5 | using Settings.Internal; 6 | 7 | /// 8 | /// Helper class to initialize an 9 | /// service interface. 10 | /// 11 | public sealed class SettingsManager 12 | { 13 | /// 14 | /// Hidden default constructor. 15 | /// 16 | private SettingsManager() 17 | { 18 | } 19 | 20 | /// 21 | /// Gets an instance of an object that implements the 22 | /// interface. 23 | /// 24 | /// 25 | public static ISettingsManager GetInstance(IThemeInfos themeInfos) 26 | { 27 | return new SettingsManagerImpl(themeInfos); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Explorer/MainWindow.xaml: -------------------------------------------------------------------------------- 1 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /source/Apps/FolderBrowserDemo/Demos/Models/FolderBrowserResult.cs: -------------------------------------------------------------------------------- 1 | namespace FsContentDialogDemo.Demos.Models 2 | { 3 | public class FolderBrowserResult 4 | { 5 | #region constructors 6 | public FolderBrowserResult() 7 | { 8 | this.Path = default(string); 9 | this.Result = null; 10 | } 11 | #endregion constructors 12 | 13 | #region properties 14 | public string Path { get; private set; } 15 | 16 | public bool? Result { get; private set; } 17 | #endregion properties 18 | 19 | #region methods 20 | public void SetResult(bool result) 21 | { 22 | this.Result = result; 23 | } 24 | 25 | public void SetPath(string path) 26 | { 27 | if (string.IsNullOrEmpty(path) == false) 28 | Path = path; 29 | else 30 | Path = default(string); 31 | } 32 | #endregion methods 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Interfaces/Dialogs/IDialogViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace FolderBrowser.Dialogs.Interfaces 2 | { 3 | using FileSystemModels.Interfaces.Bookmark; 4 | using FolderBrowser.Interfaces; 5 | using System.ComponentModel; 6 | 7 | /// 8 | /// Defines an interface to a viewmodel that can be used to drive a dialog. 9 | /// 10 | public interface IDialogViewModel : INotifyPropertyChanged 11 | { 12 | /// 13 | /// Gets a property that can be set by the viewmodel to indicate for the 14 | /// view that the dialog should now be closed. 15 | /// 16 | bool? DialogCloseResult { get; } 17 | 18 | /// 19 | /// Gets the viewmodel that drives the folder picker control. 20 | /// 21 | IBrowserViewModel TreeBrowser { get; } 22 | 23 | /// 24 | /// Gets the viewmodel that drives the folder bookmark drop down control. 25 | /// 26 | IBookmarksViewModel BookmarkedLocations { get; } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/FSC_Components/FileSystemModels/Utils/LinqExtensions.cs: -------------------------------------------------------------------------------- 1 | namespace FileSystemModels.Utils 2 | { 3 | using System; 4 | using System.Collections.ObjectModel; 5 | using System.Linq; 6 | 7 | /// 8 | /// Class provides extension methods for manipulating collections with Linq. 9 | /// 10 | public static class LinqExtensions 11 | { 12 | #region methods 13 | /// 14 | /// Remove all elements that satisfy a condition from an observable collection. 15 | /// 16 | /// 17 | /// 18 | /// 19 | /// item count of removed items 20 | public static int Remove(this ObservableCollection coll, Func condition) 21 | { 22 | var itemsToRemove = coll.Where(condition).ToList(); 23 | 24 | foreach (var itemToRemove in itemsToRemove) 25 | coll.Remove(itemToRemove); 26 | 27 | return itemsToRemove.Count; 28 | } 29 | #endregion methods 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/ViewModels/Messages/IDisplayMessageViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace FolderBrowser.ViewModels.Messages 2 | { 3 | using System.ComponentModel; 4 | 5 | /// 6 | /// Defines an interface for a viewmodel class that can be 7 | /// used to pop-up messages in a UI (without using messageboxes). 8 | /// 9 | public interface IDisplayMessageViewModel : ISetMessageDisplay, INotifyPropertyChanged 10 | { 11 | /// 12 | /// Gets/sets whether an error message is currently available. 13 | /// 14 | bool IsErrorMessageAvailable { get; set; } 15 | 16 | /// 17 | /// Gets/sets the massage. 18 | /// 19 | string Message { get; set; } 20 | } 21 | 22 | /// 23 | /// Defines an interface that allows a client to set a message for display. 24 | /// 25 | public interface ISetMessageDisplay 26 | { 27 | /// 28 | /// Sets the message to be displayed. 29 | /// 30 | /// 31 | void SetMessage(string Message); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/Explorer/ExplorerLib/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/ExplorerLib/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/Explorer/CleanAll.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | pushd "%~dp0" 3 | ECHO. 4 | ECHO. 5 | ECHO. 6 | ECHO This script deletes all temporary build files in their 7 | ECHO corresponding BIN and OBJ Folder contained in the following projects 8 | ECHO. 9 | ECHO Explorer 10 | ECHO ExplorerLib 11 | ECHO. 12 | REM Ask the user if hes really sure to continue beyond this point XXXXXXXX 13 | set /p choice=Are you sure to continue (Y/N)? 14 | if not '%choice%'=='Y' Goto EndOfBatch 15 | REM Script does not continue unless user types 'Y' in upper case letter 16 | ECHO. 17 | ECHO XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 18 | ECHO. 19 | ECHO XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 20 | RMDIR /S /Q .\.vs 21 | 22 | ECHO. 23 | ECHO Deleting BIN and OBJ Folders in ExplorerLib 24 | ECHO. 25 | RMDIR /S /Q .\ExplorerLib\bin 26 | RMDIR /S /Q .\ExplorerLib\obj 27 | ECHO. 28 | 29 | ECHO. 30 | ECHO Deleting BIN and OBJ Folders in Apps\Explorer 31 | ECHO. 32 | RMDIR /S /Q .\Explorer\bin 33 | RMDIR /S /Q .\Explorer\obj 34 | ECHO. 35 | 36 | PAUSE 37 | 38 | :EndOfBatch 39 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 Dirkster99 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /source/FSC_Components/FileSystemModels/Interfaces/IItem.cs: -------------------------------------------------------------------------------- 1 | namespace FileSystemModels.Interfaces 2 | { 3 | using FileSystemModels.Models.FSItems.Base; 4 | 5 | /// 6 | /// Define the basic properties and methods of a viewmodel for 7 | /// a file system item. 8 | /// 9 | public interface IItem 10 | { 11 | /// 12 | /// Gets the type (folder, file) of this item 13 | /// 14 | FSItemType ItemType { get; } 15 | 16 | /// 17 | /// Gets the path to this item 18 | /// 19 | string ItemPath { get; } 20 | 21 | /// 22 | /// Gets the name (without the path) of this item. 23 | /// 24 | string ItemName { get; } 25 | 26 | /// 27 | /// Gets a folder item string for display purposes. 28 | /// This string can evaluete to 'C:\ (Windows)' for drives, 29 | /// if the 'C:\' drive was named 'Windows'. 30 | /// 31 | string ItemDisplayString { get; } 32 | 33 | /// 34 | /// Gets whether this folder is currently expanded or not. 35 | /// 36 | bool IsExpanded { get; } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/Metro/SVG/appbar.refresh.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /source/Apps/ExplorerTestMLib/ServiceInjector.cs: -------------------------------------------------------------------------------- 1 | namespace ExplorerTestMLib 2 | { 3 | using MLib; 4 | using MLib.Interfaces; 5 | using ServiceLocator; 6 | using Settings; 7 | using Settings.Interfaces; 8 | 9 | /// 10 | /// Creates and initializes all services. 11 | /// 12 | public static class ServiceInjector 13 | { 14 | /// 15 | /// Loads service objects into the ServiceContainer on startup of application. 16 | /// 17 | /// Returns the current instance 18 | /// to let caller work with service container items right after creation. 19 | public static ServiceContainer InjectServices() 20 | { 21 | //// ServiceContainer.Instance.AddService(ContentDialogService.Instance); 22 | 23 | var appearance = AppearanceManager.GetInstance(); 24 | ServiceContainer.Instance.AddService(SettingsManager.GetInstance(appearance.CreateThemeInfos())); 25 | ServiceContainer.Instance.AddService(appearance); 26 | 27 | return ServiceContainer.Instance; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /source/Apps/ExplorerTest/MainWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace ExplorerTest 2 | { 3 | using System.Windows; 4 | using ExplorerTestLib.ViewModels; 5 | using FileSystemModels; 6 | 7 | /// 8 | /// Interaction logic for MainWindow.xaml 9 | /// 10 | public partial class MainWindow : Window 11 | { 12 | public MainWindow() 13 | { 14 | this.InitializeComponent(); 15 | 16 | Loaded += MainWindow_Loaded; 17 | } 18 | 19 | private void MainWindow_Loaded(object sender, RoutedEventArgs e) 20 | { 21 | Loaded -= MainWindow_Loaded; 22 | 23 | var appVM = new ApplicationViewModel(); 24 | this.DataContext = appVM; 25 | 26 | var newPath = PathFactory.SysDefault; 27 | appVM.InitializeViewModel(newPath); 28 | } 29 | 30 | protected override void OnClosed(System.EventArgs e) 31 | { 32 | var app = this.DataContext as System.IDisposable; 33 | 34 | if (app != null) 35 | app.Dispose(); 36 | 37 | base.OnClosed(e); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /source/FSC_Components/FileSystemModels/Interfaces/Bookmark/IEditBookmarks.cs: -------------------------------------------------------------------------------- 1 | namespace FileSystemModels.Interfaces.Bookmark 2 | { 3 | using FileSystemModels.Events; 4 | using System; 5 | using System.Windows.Input; 6 | 7 | /// 8 | /// Defines an interface to Add/Remove Bookmark entries from 9 | /// a list of bookmarked items. 10 | /// 11 | /// The object should be implenented by any client objects that wants to 12 | /// add or remove entries from a bookmark locations model. 13 | /// 14 | public interface IEditBookmarks 15 | { 16 | /// 17 | /// Invokes the actual event that adds/removes a bookmark in the bookmark 18 | /// model collection at the client side of this event. 19 | /// 20 | event EventHandler RequestEditBookmarkedFolders; 21 | 22 | /// 23 | /// Gets a command that removes folder location via a corresponding event. 24 | /// 25 | ICommand RecentFolderRemoveCommand { get; } 26 | 27 | /// 28 | /// Gets a command that adds folder location via a corresponding event. 29 | /// 30 | ICommand RecentFolderAddCommand { get; } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Views/DropDownView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace FolderBrowser.Views 2 | { 3 | using System.Windows.Controls; 4 | using System.Windows.Controls.Primitives; 5 | 6 | /// 7 | /// Interaction logic for DropDownView.xaml 8 | /// 9 | public partial class DropDownView : UserControl 10 | { 11 | /// 12 | /// Class constructor. 13 | /// 14 | public DropDownView() 15 | { 16 | InitializeComponent(); 17 | } 18 | 19 | /// 20 | /// Make the drop down element resizeable. 21 | /// 22 | /// 23 | /// 24 | private void ResizeGripThumb_DragDelta(object sender, System.Windows.Controls.Primitives.DragDeltaEventArgs e) 25 | { 26 | Thumb MyThumb = sender as Thumb; 27 | 28 | // Set the new Width and Height fo Grid, Popup they will inherit 29 | double yAdjust = this.Height + e.VerticalChange; 30 | double xAdjust = this.Width + e.HorizontalChange; 31 | 32 | // Set new Height and Width 33 | if ((xAdjust >= 0) && (yAdjust >= 0)) 34 | { 35 | this.Width = xAdjust; 36 | this.Height = yAdjust; 37 | } 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /source/Components/Settings/Settings/Interfaces/IOptions.cs: -------------------------------------------------------------------------------- 1 | namespace Settings.Interfaces 2 | { 3 | using Settings.ProgramSettings; 4 | using System.Collections.Generic; 5 | 6 | public interface IOptions 7 | { 8 | #region properties 9 | bool IsDirty { get; set; } 10 | string LanguageSelected { get; set; } 11 | bool ReloadOpenFilesOnAppStart { get; set; } 12 | string SourceFilePath { get; set; } 13 | 14 | string DefaultSourceLanguage { get; set; } 15 | string DefaultTargetLanguage { get; set; } 16 | 17 | string DefaultDefaultSourceLanguage { get; } 18 | string DefaultDefaultTargetLanguage { get; } 19 | 20 | int DefaultIconSize { get; } 21 | int IconSizeMin { get; } 22 | int IconSizeMax { get; } 23 | 24 | int DefaultFontSize { get; } 25 | int FontSizeMin { get; } 26 | int FontSizeMax { get; } 27 | #endregion properties 28 | 29 | #region methods 30 | /// 31 | /// Reset the dirty flag (e.g. after saving program options when they where edit). 32 | /// 33 | /// 34 | void SetDirtyFlag(bool flag); 35 | 36 | void SetIconSize(int size); 37 | void SetFontSize(int size); 38 | #endregion methods 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /source/FSC_Components/FileSystemModels/Browse/INavigateable.cs: -------------------------------------------------------------------------------- 1 | namespace FileSystemModels.Browse 2 | { 3 | using System.Threading.Tasks; 4 | 5 | /// 6 | /// Defines an interface that supports the case where a controller 7 | /// can request a control or sub-system to browse to a certain location. 8 | /// 9 | public interface INavigateable : ICanNavigate 10 | { 11 | /// 12 | /// Controller can start browser process if IsBrowsing = false 13 | /// 14 | /// 15 | /// 16 | FinalBrowseResult NavigateTo(BrowseRequest newPath); 17 | 18 | /// 19 | /// Controller can start browser process if IsBrowsing = false 20 | /// 21 | /// 22 | /// 23 | Task NavigateToAsync(BrowseRequest newPath); 24 | 25 | /// 26 | /// Sets the IsExternalBrowsing state and cleans up any running processings 27 | /// if any. This method should only be called by an external controll instance. 28 | /// 29 | /// 30 | void SetExternalBrowsingState(bool isBrowsing); 31 | } 32 | } -------------------------------------------------------------------------------- /source/Apps/ExplorerTest/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace ExplorerTest.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.5.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/Apps/ExplorerTestMLib/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace ExplorerTestMLib.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.1.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/Explorer/Explorer/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Explorer.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.5.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/FSC_Components/FilterControlsLib/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace FilterControlsLib.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.5.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderControlsLib/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace FolderControlsLib.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.5.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Explorer/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Explorer.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.5.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/Apps/ExplorerTestMLib/ViewModels/ThemeDefinitionViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace ExplorerTestMLib.ViewModels 2 | { 3 | using MLib.Interfaces; 4 | 5 | public class ThemeDefinitionViewModel : Base.ModelBase 6 | { 7 | #region private fields 8 | readonly private IThemeInfo _model; 9 | 10 | private bool _IsSelected; 11 | #endregion private fields 12 | 13 | #region constructors 14 | public ThemeDefinitionViewModel(IThemeInfo model) 15 | : this() 16 | { 17 | _model = model; 18 | } 19 | 20 | protected ThemeDefinitionViewModel() 21 | { 22 | _model = null; 23 | _IsSelected = false; 24 | } 25 | #endregion constructors 26 | 27 | #region properties 28 | /// 29 | /// Gets the static theme model based data items. 30 | /// 31 | public IThemeInfo Model 32 | { 33 | get 34 | { 35 | return _model; 36 | } 37 | } 38 | 39 | /// 40 | /// Determines whether this theme is currently selected or not. 41 | /// 42 | public bool IsSelected 43 | { 44 | get { return _IsSelected; } 45 | 46 | set 47 | { 48 | if (_IsSelected != value) 49 | { 50 | _IsSelected = value; 51 | } 52 | } 53 | } 54 | #endregion properties 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /source/Apps/FolderBrowserDemo/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace FsContentDialogDemo.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /source/Apps/BindToMLib/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace BindToMLib.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/Explorer/Explorer/MainWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Explorer 2 | { 3 | using System; 4 | using System.Windows; 5 | 6 | /// 7 | /// Interaction logic for MainWindow.xaml 8 | /// 9 | public partial class MainWindow : Window 10 | { 11 | public MainWindow() 12 | { 13 | InitializeComponent(); 14 | 15 | Loaded += MainWindow_Loaded; 16 | } 17 | 18 | private void MainWindow_Loaded(object sender, RoutedEventArgs e) 19 | { 20 | Loaded -= MainWindow_Loaded; 21 | 22 | var appVM = new ExplorerLib.ViewModels.ApplicationViewModel(); 23 | this.DataContext = appVM; 24 | 25 | var newPath = FileSystemModels.PathFactory.SysDefault; 26 | appVM.InitializeViewModel(newPath); 27 | } 28 | 29 | protected override void OnClosed(EventArgs e) 30 | { 31 | var disposeAble = (this.DataContext as IDisposable); // Dispose of ViewModels 32 | if (disposeAble != null) 33 | { 34 | disposeAble.Dispose(); 35 | } 36 | this.DataContext = null; 37 | 38 | base.OnClosed(e); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /source/Apps/ExplorerTestMLib/Demos/Views/FolderBrowserDialog.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace ExplorerTestMLib.Demos.Views 2 | { 3 | using FolderBrowser.Dialogs.Interfaces; 4 | using System.Windows; 5 | 6 | /// 7 | /// Interaction logic for FolderBrowserDialog.xaml 8 | /// 9 | public partial class FolderBrowserDialog : MWindowLib.MetroWindow 10 | { 11 | #region constructor 12 | /// 13 | /// Standard constructor 14 | /// 15 | public FolderBrowserDialog() 16 | { 17 | InitializeComponent(); 18 | 19 | Closing += FolderBrowserDialog_Closing; 20 | } 21 | 22 | private void FolderBrowserDialog_Closing(object sender, System.ComponentModel.CancelEventArgs e) 23 | { 24 | // Make sure that dialog cannot be closed while task is being processed... 25 | var dlg = DataContext as IDialogViewModel; 26 | 27 | if (dlg == null) 28 | return; 29 | 30 | if (dlg.TreeBrowser != null) 31 | { 32 | if (dlg.TreeBrowser.IsBrowsing == true) 33 | e.Cancel = true; 34 | } 35 | } 36 | #endregion constructor 37 | 38 | #region methods 39 | private void Ok_Click(object sender, RoutedEventArgs e) 40 | { 41 | DialogResult = true; 42 | } 43 | #endregion methods 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/BindToMLib/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace BindToMLib.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Explorer/ServiceInjector.cs: -------------------------------------------------------------------------------- 1 | namespace Explorer 2 | { 3 | using MLib; 4 | using MLib.Interfaces; 5 | using ServiceLocator; 6 | using Settings; 7 | using Settings.Interfaces; 8 | 9 | /// 10 | /// Creates and initializes all services. 11 | /// 12 | public static class ServiceInjector 13 | { 14 | /// 15 | /// Loads service objects into the ServiceContainer on startup of application. 16 | /// 17 | /// Returns the current instance 18 | /// to let caller work with service container items right after creation. 19 | public static ServiceContainer InjectServices() 20 | { 21 | //// ServiceContainer.Instance.AddService(ContentDialogService.Instance); 22 | 23 | var appearance = AppearanceManager.GetInstance(); 24 | ServiceContainer.Instance.AddService(SettingsManager.GetInstance(appearance.CreateThemeInfos())); 25 | ServiceContainer.Instance.AddService(appearance); 26 | 27 | return ServiceContainer.Instance; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /source/FSC_Components/FileSystemModels/Models/CustomFolderItemModel.cs: -------------------------------------------------------------------------------- 1 | namespace FileSystemModels.Models 2 | { 3 | /// 4 | /// Wrapper class for items. 5 | /// 6 | public class CustomFolderItemModel 7 | { 8 | #region constructor 9 | /// 10 | /// Class constructor 11 | /// 12 | /// 13 | public CustomFolderItemModel(System.Environment.SpecialFolder specialFolder) 14 | { 15 | this.SpecialFolder = specialFolder; 16 | this.Path = PathFactory.SpecialFolderHasPath(specialFolder); 17 | } 18 | 19 | /// 20 | /// Protected class constructor 21 | /// 22 | protected CustomFolderItemModel() 23 | { 24 | } 25 | #endregion constructor 26 | 27 | #region properties 28 | /// 29 | /// Gets the file system path of this custom folder item. 30 | /// 31 | public string Path { get; private set; } 32 | 33 | /// 34 | /// Gets the enumeration member 35 | /// associated with this class. 36 | /// 37 | public System.Environment.SpecialFolder SpecialFolder { get; private set; } 38 | #endregion properties 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /source/FSC_Components/FileSystemModels/Interfaces/IConfigExplorerSettings.cs: -------------------------------------------------------------------------------- 1 | namespace FileSystemModels.Interfaces 2 | { 3 | using FileSystemModels.Models; 4 | 5 | /// 6 | /// Define an interface for configuring and reading setting 7 | /// and user profile data for the explorer (tool window) viewmodel. 8 | /// 9 | /// This interface includes usage of the class. 10 | /// 11 | public interface IConfigExplorerSettings 12 | { 13 | /// 14 | /// Configure this viewmodel (+ attached browser viewmodel) with the given settings. 15 | /// 16 | /// 17 | /// 18 | bool ConfigureExplorerSettings(ExplorerSettingsModel settings); 19 | 20 | /// 21 | /// Compare given settings with current settings 22 | /// and return a new settings model if the current settings 23 | /// changed in comparison to the given settings. 24 | /// 25 | /// Always return current settings if settings is null. 26 | /// 27 | /// 28 | /// 29 | ExplorerSettingsModel GetExplorerSettings(ExplorerSettingsModel input); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /source/Apps/ExplorerTest/MainWindow.xaml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 29 | 30 | 31 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/MetroDarkIcons.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /source/Apps/ExplorerTestMLib/MainWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace ExplorerTestMLib 2 | { 3 | using ExplorerTestMLib.ViewModels; 4 | using FileSystemModels; 5 | using Settings.UserProfile; 6 | using System; 7 | using System.Windows; 8 | 9 | /// 10 | /// Interaction logic for MainWindow.xaml 11 | /// 12 | public partial class MainWindow : MWindowLib.SimpleMetroWindow 13 | , IViewSize // Implements saving and loading/repositioning of Window 14 | { 15 | public MainWindow() 16 | { 17 | InitializeComponent(); 18 | 19 | WeakEventManager.AddHandler(this, "Loaded", MainWindow_Loaded); 20 | } 21 | 22 | private void MainWindow_Loaded(object sender, EventArgs e) 23 | { 24 | var viewModel = this.DataContext as AppViewModel; 25 | 26 | var newPath = PathFactory.SysDefault; 27 | viewModel.Demo.InitializeViewModel(newPath); 28 | } 29 | 30 | protected override void OnClosed(System.EventArgs e) 31 | { 32 | var app = this.DataContext as System.IDisposable; 33 | 34 | if (app != null) 35 | app.Dispose(); 36 | 37 | base.OnClosed(e); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/MetroLightIcons.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /source/Apps/FolderBrowserDemo/ServiceInjector.cs: -------------------------------------------------------------------------------- 1 | namespace FsContentDialogDemo 2 | { 3 | using MLib; 4 | using MLib.Interfaces; 5 | using MWindowDialogLib; 6 | using MWindowInterfacesLib.Interfaces; 7 | using ServiceLocator; 8 | using Settings; 9 | using Settings.Interfaces; 10 | 11 | /// 12 | /// Creates and initializes all services. 13 | /// 14 | public static class ServiceInjector 15 | { 16 | /// 17 | /// Loads service objects into the ServiceContainer on startup of application. 18 | /// 19 | /// Returns the current instance 20 | /// to let caller work with service container items right after creation. 21 | public static ServiceContainer InjectServices() 22 | { 23 | ServiceContainer.Instance.AddService(ContentDialogService.Instance); 24 | 25 | var appearance = AppearanceManager.GetInstance(); 26 | ServiceContainer.Instance.AddService(SettingsManager.GetInstance(appearance.CreateThemeInfos())); 27 | ServiceContainer.Instance.AddService(appearance); 28 | 29 | return ServiceContainer.Instance; 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /source/Components/Settings/SettingsModel/ExtensionMethods/SecureStringExtensionMethod.cs: -------------------------------------------------------------------------------- 1 | namespace SettingsModel.ExtensionMethods 2 | { 3 | using System; 4 | using System.Runtime.InteropServices; 5 | using System.Security; 6 | 7 | /// 8 | /// Source: http://blogs.msdn.com/b/fpintos/archive/2009/06/12/how-to-properly-convert-securestring-to-string.aspx 9 | /// 10 | internal static class SecureStringExtensionMethod 11 | { 12 | public static string ConvertToUnsecureString(this SecureString securePassword) 13 | { 14 | if (securePassword == null) 15 | throw new ArgumentNullException("securePassword"); 16 | 17 | IntPtr unmanagedString = IntPtr.Zero; 18 | try 19 | { 20 | unmanagedString = Marshal.SecureStringToGlobalAllocUnicode(securePassword); 21 | return Marshal.PtrToStringUni(unmanagedString); 22 | } 23 | finally 24 | { 25 | Marshal.ZeroFreeGlobalAllocUnicode(unmanagedString); 26 | } 27 | } 28 | 29 | public static SecureString ConvertToSecureString(this string password) 30 | { 31 | if (password == null) 32 | throw new ArgumentNullException("password"); 33 | 34 | var securePassword = new SecureString(); 35 | foreach (char c in password) 36 | securePassword.AppendChar(c); 37 | 38 | securePassword.MakeReadOnly(); 39 | return securePassword; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Images/GenericIcons.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Themes/Generic.xaml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | 13 | 14 | 18 | 22 | 23 | 27 | 28 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderControlsLib/Factory.cs: -------------------------------------------------------------------------------- 1 | namespace FolderControlsLib 2 | { 3 | using FileSystemModels; 4 | using FileSystemModels.Models.FSItems.Base; 5 | using FolderControlsLib.Interfaces; 6 | using FolderControlsLib.ViewModels; 7 | 8 | /// 9 | /// Implements factory methods that creates library objects that are accessible 10 | /// through interfaces but are otherwise invisible for the outside world. 11 | /// 12 | public sealed class Factory 13 | { 14 | private Factory() { } 15 | 16 | /// 17 | /// Public construction method to create a 18 | /// object that represents a logical drive (eg 'C:\') 19 | /// 20 | /// 21 | /// 22 | public static IFolderItemViewModel CreateLogicalDrive(string curdir) 23 | { 24 | var model = PathFactory.Create(curdir, FSItemType.LogicalDrive); 25 | 26 | var item = new FolderItemViewModel(model, model.Name); 27 | 28 | item.SetDisplayName(item.ItemDisplayString); 29 | 30 | return item; 31 | } 32 | 33 | /// 34 | /// Returns a new viewmodel that can be used to drive a folder combobox. 35 | /// 36 | /// 37 | public static IFolderComboBoxViewModel CreateFolderComboBoxVM() 38 | { 39 | return new FolderComboBoxViewModel(); 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Components/Settings/Settings/Interfaces/IOptions.cs: -------------------------------------------------------------------------------- 1 | namespace Settings.Interfaces 2 | { 3 | using Settings.ProgramSettings; 4 | using System.Collections.Generic; 5 | 6 | public interface IOptions 7 | { 8 | #region properties 9 | bool IsDirty { get; set; } 10 | string LanguageSelected { get; set; } 11 | bool ReloadOpenFilesOnAppStart { get; set; } 12 | string SourceFilePath { get; set; } 13 | 14 | string DefaultSourceLanguage { get; set; } 15 | string DefaultTargetLanguage { get; set; } 16 | 17 | string DefaultDefaultSourceLanguage { get; } 18 | string DefaultDefaultTargetLanguage { get; } 19 | 20 | int DefaultIconSize { get; } 21 | int IconSizeMin { get; } 22 | int IconSizeMax { get; } 23 | 24 | int DefaultFontSize { get; } 25 | int FontSizeMin { get; } 26 | int FontSizeMax { get; } 27 | #endregion properties 28 | 29 | #region methods 30 | /// 31 | /// Reset the dirty flag (e.g. after saving program options when they where edit). 32 | /// 33 | /// 34 | void SetDirtyFlag(bool flag); 35 | 36 | void SetIconSize(int size); 37 | void SetFontSize(int size); 38 | #endregion methods 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /source/FSC_Components/FilterControlsLib/Factory.cs: -------------------------------------------------------------------------------- 1 | namespace FilterControlsLib 2 | { 3 | using FilterControlsLib.Interfaces; 4 | using FilterControlsLib.ViewModels; 5 | 6 | /// 7 | /// Implements factory methods that creates library objects that are accessible 8 | /// through interfaces but are otherwise invisible for the outside world. 9 | /// 10 | public sealed class Factory 11 | { 12 | private Factory() { } 13 | 14 | /// 15 | /// returns a new view model instance that can be used to drive a ComboBox 16 | /// filter control. A ComboBox filter control contains a list of filter options 17 | /// that can be selected by the user to adjust the list of items visible in a 18 | /// view. 19 | /// 20 | /// 21 | public static IFilterComboBoxViewModel CreateFilterComboBoxViewModel() 22 | { 23 | return new FilterComboBoxViewModel(); 24 | } 25 | 26 | /// 27 | /// returns one new view model ITEM instance that can be used to 28 | /// drive 1 entry in a filter control. A filter control contains a 29 | /// list of filter options that can be selected by the user to adjust 30 | /// the list of items visible in a view. 31 | /// 32 | /// 33 | public static IFilterItemViewModel CreateFilterItem() 34 | { 35 | return new FilterItemViewModel(); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Views/FolderBrowserDialog.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace FolderBrowser.Views 2 | { 3 | using FolderBrowser.Dialogs.ViewModels; 4 | using System.ComponentModel; 5 | using System.Windows; 6 | 7 | /// 8 | /// Interaction logic for FolderBrowserDialog.xaml 9 | /// 10 | public partial class FolderBrowserDialog : Window 11 | { 12 | #region constructor 13 | /// 14 | /// Standard constructor 15 | /// 16 | public FolderBrowserDialog() 17 | { 18 | InitializeComponent(); 19 | 20 | //Closing += FolderBrowserDialog_Closing; 21 | WeakEventManager 22 | .AddHandler(this, "Closing", FolderBrowserDialog_Closing); 23 | } 24 | 25 | private void FolderBrowserDialog_Closing(object sender, System.ComponentModel.CancelEventArgs e) 26 | { 27 | // Make sure that dialog cannot be closed while task is being processed... 28 | var dlg = DataContext as DialogViewModel; 29 | 30 | if (dlg == null) 31 | return; 32 | 33 | if (dlg.TreeBrowser != null) 34 | { 35 | if (dlg.TreeBrowser.IsBrowsing == true) 36 | e.Cancel = true; 37 | } 38 | } 39 | #endregion constructor 40 | 41 | #region methods 42 | private void Ok_Click(object sender, RoutedEventArgs e) 43 | { 44 | DialogResult = true; 45 | } 46 | #endregion methods 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Themes/ResourceKeys.cs: -------------------------------------------------------------------------------- 1 | namespace FolderBrowser.Themes 2 | { 3 | using System.Windows; 4 | 5 | /// 6 | /// Defines the resource key that are available for styling, colors, and brushes 7 | /// in this application. 8 | /// 9 | public static class ResourceKeys 10 | { 11 | /// 12 | /// Resource key of the folder browser drop down normal background brush key. 13 | /// 14 | public static readonly ComponentResourceKey DropDownBackgroundKey = new ComponentResourceKey(typeof(ResourceKeys), "DropDownBackgroundKey"); 15 | 16 | /// 17 | /// Resource key of the folder browser dialogs normal background brush key. 18 | /// 19 | public static readonly ComponentResourceKey DialogBackgroundKey = new ComponentResourceKey(typeof(ResourceKeys), "DialogBackgroundKey"); 20 | 21 | /// 22 | /// Resource key of the treeview normal background brush key. 23 | /// 24 | public static readonly ComponentResourceKey TreeViewBackgroundKey = new ComponentResourceKey(typeof(ResourceKeys), "TreeViewBackgroundKey"); 25 | 26 | /// 27 | /// Resource key of the folder browser dialogs normal foreground brush key. 28 | /// 29 | public static readonly ComponentResourceKey DialogForegroundKey = new ComponentResourceKey(typeof(ResourceKeys), "DialogForegroundKey"); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Views/BindingProxy.cs: -------------------------------------------------------------------------------- 1 | namespace FileListView.Views 2 | { 3 | using System.Windows; 4 | 5 | /// 6 | /// Implements an XAML proxy which can be used to bind items (TreeViewItem, ListViewItem etc) 7 | /// with a viewmodel that manages the collecrions. 8 | /// 9 | /// Source: http://www.thomaslevesque.com/2011/03/21/wpf-how-to-bind-to-data-when-the-datacontext-is-not-inherited/ 10 | /// Issue: http://stackoverflow.com/questions/9994241/mvvm-binding-command-to-contextmenu-item 11 | /// 12 | public class BindingProxy : Freezable 13 | { 14 | /// 15 | /// Backing store field of the Data dependency property. 16 | /// 17 | public static readonly DependencyProperty DataProperty = 18 | DependencyProperty.Register("Data", typeof(object), typeof(BindingProxy), new UIPropertyMetadata(null)); 19 | 20 | /// 21 | /// Gets the data object this class is forwarding to everyone 22 | /// who has a reference to this object. 23 | /// 24 | public object Data 25 | { 26 | get { return (object)this.GetValue(DataProperty); } 27 | set { this.SetValue(DataProperty, value); } 28 | } 29 | 30 | /// 31 | /// Overrides of Freezable 32 | /// 33 | /// 34 | protected override Freezable CreateInstanceCore() 35 | { 36 | return new BindingProxy(); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /source/Components/Settings/Settings/ProgramSettings/LanguageCollection.cs: -------------------------------------------------------------------------------- 1 | namespace Settings.ProgramSettings 2 | { 3 | using System; 4 | 5 | /// 6 | /// Base class for enumeration over languages (and their locale) that 7 | /// are supported with specific (non-English) button and tool tip strings. 8 | /// 9 | /// The class definition is based on BCP 47 which in turn is used to 10 | /// set the UI and thread culture (which in turn selects the correct 11 | /// string resource in MsgBox assembly). 12 | /// 13 | public class LanguageCollection 14 | { 15 | public string Language { get; set; } 16 | public string Locale { get; set; } 17 | public string Name { get; set; } 18 | 19 | /// 20 | /// Get BCP47 language tag for this language 21 | /// See also http://en.wikipedia.org/wiki/IETF_language_tag 22 | /// 23 | public string BCP47 24 | { 25 | get 26 | { 27 | if (string.IsNullOrEmpty(Locale) == false) 28 | return String.Format("{0}-{1}", Language, Locale); 29 | else 30 | return String.Format("{0}", Language); 31 | } 32 | } 33 | 34 | /// 35 | /// Get BCP47 language tag for this language 36 | /// See also http://en.wikipedia.org/wiki/IETF_language_tag 37 | /// 38 | public string DisplayName 39 | { 40 | get 41 | { 42 | return String.Format("{0} {1}", Name, BCP47); 43 | } 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /source/FSC_Components/FileSystemModels/Utils/IconUtilities.cs: -------------------------------------------------------------------------------- 1 | namespace FileSystemModels.Utils 2 | { 3 | using System; 4 | using System.ComponentModel; 5 | using System.Drawing; 6 | using System.Runtime.InteropServices; 7 | using System.Windows; 8 | using System.Windows.Interop; 9 | using System.Windows.Media; 10 | using System.Windows.Media.Imaging; 11 | 12 | /// 13 | /// Internal extension method for ImageSource class. 14 | /// 15 | public static class IconUtilities 16 | { 17 | /// 18 | /// Extension method for class to convert 19 | /// reference to an icon into a WPF . 20 | /// 21 | /// 22 | /// 23 | public static ImageSource ToImageSource(this Icon icon) 24 | { 25 | if (icon == null) 26 | return null; 27 | Bitmap bitmap = icon.ToBitmap(); 28 | IntPtr hBitmap = bitmap.GetHbitmap(); 29 | 30 | ImageSource wpfBitmap = Imaging.CreateBitmapSourceFromHBitmap( 31 | hBitmap, 32 | IntPtr.Zero, 33 | Int32Rect.Empty, 34 | BitmapSizeOptions.FromEmptyOptions()); 35 | 36 | if (!DeleteObject(hBitmap)) 37 | { 38 | throw new Win32Exception(); 39 | } 40 | 41 | return wpfBitmap; 42 | } 43 | 44 | [DllImport("gdi32.dll", SetLastError = true)] 45 | private static extern bool DeleteObject(IntPtr hObject); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/ViewModels/Dialogs/DialogViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace FolderBrowser.Dialogs.ViewModels 2 | { 3 | using FileSystemModels.Interfaces.Bookmark; 4 | using FolderBrowser.Dialogs.Interfaces; 5 | using FolderBrowser.Interfaces; 6 | 7 | /// 8 | /// A dialog viewmodel in MVVM style to drive a folder browser 9 | /// or folder picker dialog with a WPF view. 10 | /// 11 | internal class DialogViewModel : DialogBaseViewModel, IDialogViewModel 12 | { 13 | #region fields 14 | private bool? mDialogCloseResult = null; 15 | #endregion fields 16 | 17 | /// 18 | /// Class constructor 19 | /// 20 | public DialogViewModel(IBrowserViewModel treeBrowser = null, 21 | IBookmarksViewModel recentLocations = null) 22 | : base(treeBrowser, recentLocations) 23 | { 24 | } 25 | 26 | /// 27 | /// This can be used to close the attached view via ViewModel 28 | /// 29 | /// Source: http://stackoverflow.com/questions/501886/wpf-mvvm-newbie-how-should-the-viewmodel-close-the-form 30 | /// 31 | public bool? DialogCloseResult 32 | { 33 | get 34 | { 35 | return mDialogCloseResult; 36 | } 37 | 38 | private set 39 | { 40 | if (mDialogCloseResult != value) 41 | { 42 | mDialogCloseResult = value; 43 | RaisePropertyChanged(() => DialogCloseResult); 44 | } 45 | } 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /source/Components/ServiceLocator/ServiceContainer.cs: -------------------------------------------------------------------------------- 1 | namespace ServiceLocator 2 | { 3 | using System; 4 | using System.Collections.Generic; 5 | 6 | /// 7 | /// Source: http://www.codeproject.com/Articles/70223/Using-a-Service-Locator-to-Work-with-MessageBoxes 8 | /// 9 | public class ServiceContainer 10 | { 11 | #region fields 12 | public static readonly ServiceContainer Instance = new ServiceContainer(); 13 | 14 | readonly Dictionary _serviceMap; 15 | readonly object _serviceMapLock; 16 | #endregion fields 17 | 18 | #region constructors 19 | /// 20 | /// Class Constructor 21 | /// 22 | private ServiceContainer() 23 | { 24 | _serviceMap = new Dictionary(); 25 | _serviceMapLock = new object(); 26 | } 27 | #endregion constructors 28 | 29 | #region methods 30 | public void AddService(TServiceContract implementation) 31 | where TServiceContract : class 32 | { 33 | lock (_serviceMapLock) 34 | { 35 | _serviceMap[typeof(TServiceContract)] = implementation; 36 | } 37 | } 38 | 39 | public TServiceContract GetService() 40 | where TServiceContract : class 41 | { 42 | object service; 43 | lock (_serviceMapLock) 44 | { 45 | _serviceMap.TryGetValue(typeof(TServiceContract), out service); 46 | } 47 | 48 | return service as TServiceContract; 49 | } 50 | #endregion methods 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/ViewModels/CustomFolderItemViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace FolderBrowser.ViewModels 2 | { 3 | using FileSystemModels; 4 | using FileSystemModels.ViewModels.Base; 5 | using FolderBrowser.Interfaces; 6 | 7 | /// 8 | /// Wrapper class for items. 9 | /// 10 | internal class CustomFolderItemViewModel : ViewModelBase, ICustomFolderItemViewModel 11 | { 12 | #region constructor 13 | /// 14 | /// Class constructor 15 | /// 16 | /// 17 | public CustomFolderItemViewModel(System.Environment.SpecialFolder specialFolder) 18 | { 19 | SpecialFolder = specialFolder; 20 | 21 | Path = PathFactory.SpecialFolderHasPath(specialFolder); 22 | } 23 | 24 | /// 25 | /// Protected standard class constructor 26 | /// 27 | protected CustomFolderItemViewModel() 28 | { 29 | } 30 | #endregion constructor 31 | 32 | #region properties 33 | /// 34 | /// Gets the file system path of this custom folder item. 35 | /// 36 | public string Path { get; private set; } 37 | 38 | /// 39 | /// Gets the enumeration member 40 | /// associated with this class. 41 | /// 42 | public System.Environment.SpecialFolder SpecialFolder { get; private set; } 43 | #endregion properties 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Themes/MetroLight.xaml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 19 | 23 | 24 | 28 | 29 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Themes/MetroDark.xaml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 20 | 24 | 25 | 29 | 30 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /source/Apps/ExplorerTestLib/ViewModels/Base/ViewModelBase.cs: -------------------------------------------------------------------------------- 1 | namespace ExplorerTestLib.ViewModels.Base 2 | { 3 | using System; 4 | using System.ComponentModel; 5 | using System.Linq.Expressions; 6 | 7 | public class ViewModelBase : INotifyPropertyChanged 8 | { 9 | 10 | protected virtual void RaisePropertyChanged(string propertyName) 11 | { 12 | if (PropertyChanged != null) 13 | PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); 14 | } 15 | 16 | 17 | public event PropertyChangedEventHandler PropertyChanged; 18 | 19 | /// 20 | /// Tell bound controls (via WPF binding) to refresh their display. 21 | /// 22 | /// Sample call: this.NotifyPropertyChanged(() => this.IsSelected); 23 | /// where 'this' is derived from 24 | /// and IsSelected is a property. 25 | /// 26 | /// 27 | /// 28 | public void NotifyPropertyChanged(Expression> property) 29 | { 30 | var lambda = (LambdaExpression)property; 31 | MemberExpression memberExpression; 32 | 33 | if (lambda.Body is UnaryExpression) 34 | { 35 | var unaryExpression = (UnaryExpression)lambda.Body; 36 | memberExpression = (MemberExpression)unaryExpression.Operand; 37 | } 38 | else 39 | memberExpression = (MemberExpression)lambda.Body; 40 | 41 | this.RaisePropertyChanged(memberExpression.Member.Name); 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /source/Components/Settings/SettingsModel/Models/XML/Converters/AlternativeDataTypeHandler.cs: -------------------------------------------------------------------------------- 1 | namespace SettingsModel.Models.XML.Converters 2 | { 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Security; 6 | 7 | /// 8 | /// Holds a collection of alternative datatype 9 | /// handlers to handle datatypes that are not supported through equivalent conversion 10 | /// in alternative datatypes. 11 | /// 12 | internal class AlternativeDataTypeHandler 13 | { 14 | #region fields 15 | private readonly Dictionary converters = null; 16 | #endregion fields 17 | 18 | public AlternativeDataTypeHandler() 19 | { 20 | converters = new Dictionary(); 21 | 22 | converters.Add(typeof(SecureString), new SecureStringHandler()); 23 | } 24 | 25 | /// 26 | /// Finds an alternative datatype handler to handle datatypes that are not 27 | /// supported through equivalent conversion in alternative datatypes. 28 | /// 29 | /// 30 | /// 31 | public IAlternativeDataTypeHandler FindHandler(Type typeOfDataType2Handle) 32 | { 33 | IAlternativeDataTypeHandler ret = null; 34 | 35 | try 36 | { 37 | converters.TryGetValue(typeOfDataType2Handle, out ret); 38 | } 39 | catch 40 | { 41 | } 42 | 43 | return ret; 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /source/Apps/FolderBrowserDemo/Demos/Views/FolderBrowserDialog.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace FsContentDialogDemo.Demos.Views 2 | { 3 | using FolderBrowser.Dialogs.Interfaces; 4 | using System.Windows; 5 | 6 | /// 7 | /// Interaction logic for FolderBrowserDialog.xaml 8 | /// 9 | public partial class FolderBrowserDialog : MWindowLib.MetroWindow 10 | { 11 | #region constructor 12 | /// 13 | /// Standard constructor 14 | /// 15 | public FolderBrowserDialog() 16 | { 17 | InitializeComponent(); 18 | 19 | Closing += FolderBrowserDialog_Closing; 20 | } 21 | 22 | private void FolderBrowserDialog_Closing(object sender, System.ComponentModel.CancelEventArgs e) 23 | { 24 | // Make sure that dialog cannot be closed while task is being processed... 25 | var dlg = DataContext as IDialogViewModel; 26 | 27 | if (dlg == null) 28 | return; 29 | 30 | if (dlg.TreeBrowser != null) 31 | { 32 | if (dlg.TreeBrowser.IsBrowsing == true) 33 | e.Cancel = true; 34 | } 35 | } 36 | #endregion constructor 37 | 38 | #region methods 39 | private void Ok_Click(object sender, RoutedEventArgs e) 40 | { 41 | DialogResult = true; 42 | } 43 | #endregion methods 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Views/BindingProxy.cs: -------------------------------------------------------------------------------- 1 | namespace FolderBrowser.Views 2 | { 3 | using System.Windows; 4 | 5 | /// 6 | /// Implements an XAML proxy which can be used to bind items (TreeViewItem, ListViewItem etc) 7 | /// with a viewmodel that manages the collecrions. 8 | /// 9 | /// Source: http://www.thomaslevesque.com/2011/03/21/wpf-how-to-bind-to-data-when-the-datacontext-is-not-inherited/ 10 | /// Issue: http://stackoverflow.com/questions/9994241/mvvm-binding-command-to-contextmenu-item 11 | /// 12 | public class BindingProxy : Freezable 13 | { 14 | /// 15 | /// Backing storage of the Data dependency property. 16 | /// 17 | /// Gets/sets the data object this class is forwarding to everyone 18 | /// who has a reference to this object. 19 | /// 20 | public static readonly DependencyProperty DataProperty = 21 | DependencyProperty.Register("Data", typeof(object), typeof(BindingProxy), new UIPropertyMetadata(null)); 22 | 23 | /// 24 | /// Gets/sets the data object this class is forwarding to everyone 25 | /// who has a reference to this object. 26 | /// 27 | public object Data 28 | { 29 | get { return (object)GetValue(DataProperty); } 30 | set { SetValue(DataProperty, value); } 31 | } 32 | 33 | /// 34 | /// Overrides of Freezable 35 | /// 36 | /// 37 | protected override Freezable CreateInstanceCore() 38 | { 39 | return new BindingProxy(); 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Components/Settings/Settings/ProgramSettings/LanguageCollection.cs: -------------------------------------------------------------------------------- 1 | namespace Settings.ProgramSettings 2 | { 3 | using System; 4 | 5 | /// 6 | /// Base class for enumeration over languages (and their locale) that 7 | /// are supported with specific (non-English) button and tool tip strings. 8 | /// 9 | /// The class definition is based on BCP 47 which in turn is used to 10 | /// set the UI and thread culture (which in turn selects the correct 11 | /// string resource in MsgBox assembly). 12 | /// 13 | public class LanguageCollection 14 | { 15 | public string Language { get; set; } 16 | public string Locale { get; set; } 17 | public string Name { get; set; } 18 | 19 | /// 20 | /// Get BCP47 language tag for this language 21 | /// See also http://en.wikipedia.org/wiki/IETF_language_tag 22 | /// 23 | public string BCP47 24 | { 25 | get 26 | { 27 | if (string.IsNullOrEmpty(Locale) == false) 28 | return String.Format("{0}-{1}", Language, Locale); 29 | else 30 | return String.Format("{0}", Language); 31 | } 32 | } 33 | 34 | /// 35 | /// Get BCP47 language tag for this language 36 | /// See also http://en.wikipedia.org/wiki/IETF_language_tag 37 | /// 38 | public string DisplayName 39 | { 40 | get 41 | { 42 | return String.Format("{0} {1}", Name, BCP47); 43 | } 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /source/FSC_Components/FileListView/Factory.cs: -------------------------------------------------------------------------------- 1 | namespace FileListView 2 | { 3 | using FileListView.Interfaces; 4 | using FileListView.ViewModels; 5 | using FileSystemModels.Interfaces; 6 | using FileSystemModels.Models.FSItems.Base; 7 | 8 | /// 9 | /// Implements factory methods that create library objects that are accessible 10 | /// through interfaces but are otherwise invisible for the outside world. 11 | /// 12 | public sealed class Factory 13 | { 14 | private Factory() { } 15 | 16 | /// 17 | /// Creates a viewmodel object that implements the 18 | /// interface to drive a file listview. 19 | /// 20 | /// A new instance of a file list viewmodel that can be used to drive 21 | /// a listview that shows folders and files in the file system. 22 | public static IFileListViewModel CreateFileListViewModel() 23 | { 24 | return new FileListViewModel(); 25 | } 26 | 27 | /// 28 | /// Creates a viewmodel object that implements the 29 | /// interface to drive one item that can be part of a file listview. 30 | /// 31 | /// 32 | /// 33 | /// 34 | /// 35 | public static ILVItemViewModel CreateItem( 36 | string path 37 | , FSItemType type 38 | , string displayName) 39 | { 40 | return new LVItemViewModel(path, type, displayName); 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/ViewModels/SortableObservableDictionaryCollection.cs: -------------------------------------------------------------------------------- 1 | namespace FolderBrowser.ViewModels 2 | { 3 | using FolderBrowser.Interfaces; 4 | using System.Collections.Generic; 5 | 6 | internal class SortableObservableDictionaryCollection : SortableObservableCollection 7 | { 8 | Dictionary _dictionary = null; 9 | 10 | public SortableObservableDictionaryCollection() 11 | { 12 | _dictionary = new Dictionary(); 13 | } 14 | 15 | public bool AddItem(ITreeItemViewModel item) 16 | { 17 | if (string.IsNullOrEmpty(item.ItemName) == true) 18 | _dictionary.Add(string.Empty, item); 19 | else 20 | _dictionary.Add(item.ItemName.ToLower(), item); 21 | 22 | this.Add(item); 23 | 24 | return true; 25 | } 26 | 27 | public bool RemoveItem(ITreeItemViewModel item) 28 | { 29 | _dictionary.Remove(item.ItemName.ToLower()); 30 | this.Remove(item); 31 | 32 | return true; 33 | } 34 | 35 | public ITreeItemViewModel TryGet(string key) 36 | { 37 | ITreeItemViewModel o; 38 | 39 | if (_dictionary.TryGetValue(key.ToLower(), out o)) 40 | return o; 41 | 42 | return null; 43 | } 44 | 45 | public void RenameItem(ITreeItemViewModel item, string newName) 46 | { 47 | _dictionary.Remove(item.ItemName.ToLower()); 48 | item.Rename(newName); 49 | _dictionary.Add(newName.ToLower(), item); 50 | } 51 | 52 | public new void Clear() 53 | { 54 | _dictionary.Clear(); 55 | base.Clear(); 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /source/Apps/ExplorerTestLib/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("ExplorerTestLib")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("ExplorerTestLib")] 13 | [assembly: AssemblyCopyright("Copyright © 2018")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("abd0c546-0168-49b9-9c27-c7211293d461")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Images/Metro/SVG/MyPictures.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /source/Components/ServiceLocator/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("ServiceLocator")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("HP")] 12 | [assembly: AssemblyProduct("ServiceLocator")] 13 | [assembly: AssemblyCopyright("Copyright © 2015")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("2516097b-2435-44a4-a9b8-9899bca81a6e")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/Explorer/ExplorerLib/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("ExplorerLib")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("ExplorerLib")] 13 | [assembly: AssemblyCopyright("Copyright © 2018")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("b766269c-1b57-4b4d-a3b3-0713934f8523")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/Explorer/ExplorerLib/ViewModels/Base/ViewModelBase.cs: -------------------------------------------------------------------------------- 1 | namespace ExplorerLib.ViewModels.Base 2 | { 3 | using System; 4 | using System.ComponentModel; 5 | using System.Linq.Expressions; 6 | 7 | public class ViewModelBase : INotifyPropertyChanged 8 | { 9 | 10 | protected virtual void RaisePropertyChanged(string propertyName) 11 | { 12 | if (PropertyChanged != null) 13 | PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); 14 | } 15 | 16 | 17 | public event PropertyChangedEventHandler PropertyChanged; 18 | 19 | /// 20 | /// Tell bound controls (via WPF binding) to refresh their display. 21 | /// 22 | /// Sample call: this.NotifyPropertyChanged(() => this.IsSelected); 23 | /// where 'this' is derived from 24 | /// and IsSelected is a property. 25 | /// 26 | /// 27 | /// 28 | public void NotifyPropertyChanged(Expression> property) 29 | { 30 | var lambda = (LambdaExpression)property; 31 | MemberExpression memberExpression; 32 | 33 | if (lambda.Body is UnaryExpression) 34 | { 35 | var unaryExpression = (UnaryExpression)lambda.Body; 36 | memberExpression = (MemberExpression)unaryExpression.Operand; 37 | } 38 | else 39 | memberExpression = (MemberExpression)lambda.Body; 40 | 41 | this.RaisePropertyChanged(memberExpression.Member.Name); 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/ExplorerLib/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("ExplorerLib")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("ExplorerLib")] 13 | [assembly: AssemblyCopyright("Copyright © 2018")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("b766269c-1b57-4b4d-a3b3-0713934f8523")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/ExplorerLib/ViewModels/Base/ViewModelBase.cs: -------------------------------------------------------------------------------- 1 | namespace ExplorerLib.ViewModels.Base 2 | { 3 | using System; 4 | using System.ComponentModel; 5 | using System.Linq.Expressions; 6 | 7 | public class ViewModelBase : INotifyPropertyChanged 8 | { 9 | 10 | protected virtual void RaisePropertyChanged(string propertyName) 11 | { 12 | if (PropertyChanged != null) 13 | PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); 14 | } 15 | 16 | 17 | public event PropertyChangedEventHandler PropertyChanged; 18 | 19 | /// 20 | /// Tell bound controls (via WPF binding) to refresh their display. 21 | /// 22 | /// Sample call: this.NotifyPropertyChanged(() => this.IsSelected); 23 | /// where 'this' is derived from 24 | /// and IsSelected is a property. 25 | /// 26 | /// 27 | /// 28 | public void NotifyPropertyChanged(Expression> property) 29 | { 30 | var lambda = (LambdaExpression)property; 31 | MemberExpression memberExpression; 32 | 33 | if (lambda.Body is UnaryExpression) 34 | { 35 | var unaryExpression = (UnaryExpression)lambda.Body; 36 | memberExpression = (MemberExpression)unaryExpression.Operand; 37 | } 38 | else 39 | memberExpression = (MemberExpression)lambda.Body; 40 | 41 | this.RaisePropertyChanged(memberExpression.Member.Name); 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /source/Components/Settings/Settings/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Settings")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("HP")] 12 | [assembly: AssemblyProduct("Settings")] 13 | [assembly: AssemblyCopyright("The MIT License (MIT) Copyright © 2013 - 2015")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("7f13f2b5-a017-4045-8ead-f5496101a616")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /source/FSC_Components/FileSystemModels/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("FileSystemModels")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("HP")] 12 | [assembly: AssemblyProduct("FileSystemModels")] 13 | [assembly: AssemblyCopyright("Copyright Open Source 2015-2020")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("e84080d8-8b21-487f-99ee-cddff6d1aff2")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("3.2.0.0")] 36 | [assembly: AssemblyFileVersion("3.2.0.0")] 37 | -------------------------------------------------------------------------------- /source/Components/Settings/SettingsModel/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("SettingsModel")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("SettingsModel")] 13 | [assembly: AssemblyCopyright("The MIT License (MIT) Copyright © 2015")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("9b0ba841-5a2f-4ed3-a908-253dbca70e77")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Components/ServiceLocator/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("ServiceLocator")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("HP")] 12 | [assembly: AssemblyProduct("ServiceLocator")] 13 | [assembly: AssemblyCopyright("Copyright © 2015")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("2516097b-2435-44a4-a9b8-9899bca81a6e")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Components/Settings/SettingsModel/ExtensionMethods/SecureStringExtensionMethod.cs: -------------------------------------------------------------------------------- 1 | namespace SettingsModel.ExtensionMethods 2 | { 3 | using System; 4 | using System.Runtime.InteropServices; 5 | using System.Security; 6 | 7 | /// 8 | /// Source: http://blogs.msdn.com/b/fpintos/archive/2009/06/12/how-to-properly-convert-securestring-to-string.aspx 9 | /// 10 | internal static class SecureStringExtensionMethod 11 | { 12 | public static string ConvertToUnsecureString(this SecureString securePassword) 13 | { 14 | if (securePassword == null) 15 | throw new ArgumentNullException("securePassword"); 16 | 17 | IntPtr unmanagedString = IntPtr.Zero; 18 | try 19 | { 20 | unmanagedString = Marshal.SecureStringToGlobalAllocUnicode(securePassword); 21 | return Marshal.PtrToStringUni(unmanagedString); 22 | } 23 | finally 24 | { 25 | Marshal.ZeroFreeGlobalAllocUnicode(unmanagedString); 26 | } 27 | } 28 | 29 | public static SecureString ConvertToSecureString(this string password) 30 | { 31 | if (password == null) 32 | throw new ArgumentNullException("password"); 33 | 34 | var securePassword = new SecureString(); 35 | foreach (char c in password) 36 | securePassword.AppendChar(c); 37 | 38 | securePassword.MakeReadOnly(); 39 | return securePassword; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /source/Apps/FolderBrowserDemo/BindToMLib/MWindowDialogLib/DarkLightBrushs.xaml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 12 | Blue 14 | 15 | 18 | 19 | 24 | 25 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Components/Settings/Settings/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Settings")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("HP")] 12 | [assembly: AssemblyProduct("Settings")] 13 | [assembly: AssemblyCopyright("The MIT License (MIT) Copyright © 2013 - 2015")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("7f13f2b5-a017-4045-8ead-f5496101a616")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /source/Apps/BindToMLib/DropDownButtonLib/DarkLightBrushs.xaml: -------------------------------------------------------------------------------- 1 | 7 | 11 | #1ba1e2 12 | 13 | 14 | 15 | 19 | 20 | 24 | 25 | 29 | 30 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Components/Settings/SettingsModel/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("SettingsModel")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("SettingsModel")] 13 | [assembly: AssemblyCopyright("The MIT License (MIT) Copyright © 2015")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("9b0ba841-5a2f-4ed3-a908-253dbca70e77")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/ViewModels/Messages/DisplayMessageViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace FolderBrowser.ViewModels.Messages 2 | { 3 | using FileSystemModels.ViewModels.Base; 4 | 5 | /// 6 | /// Class keeps track of a message display that can pop-up messages 7 | /// and disappear depending on whether the IsErrorMessageAvailable 8 | /// property is true or not. 9 | /// 10 | internal class DisplayMessageViewModel : ViewModelBase, IDisplayMessageViewModel 11 | { 12 | private bool mIsErrorMessageAvailable; 13 | private string mMessage; 14 | 15 | /// 16 | /// Decide whether a message is available for display or not. 17 | /// 18 | public bool IsErrorMessageAvailable 19 | { 20 | get 21 | { 22 | return mIsErrorMessageAvailable; 23 | 24 | } 25 | 26 | set 27 | { 28 | if (mIsErrorMessageAvailable != value) 29 | { 30 | mIsErrorMessageAvailable = value; 31 | RaisePropertyChanged(() => IsErrorMessageAvailable); 32 | } 33 | } 34 | } 35 | 36 | /// 37 | /// Gets/sets the message for display. 38 | /// 39 | public string Message 40 | { 41 | get 42 | { 43 | return mMessage; 44 | 45 | } 46 | 47 | set 48 | { 49 | if (mMessage != value) 50 | { 51 | mMessage = value; 52 | RaisePropertyChanged(() => Message); 53 | } 54 | } 55 | } 56 | 57 | /// 58 | /// Resets the current message with the given string. 59 | /// 60 | /// 61 | public void SetMessage(string message) 62 | { 63 | this.Message = message; 64 | this.IsErrorMessageAvailable = true; 65 | } 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /source/FSC_Components/FileSystemModels/Browse/BrowsingEventArgs.cs: -------------------------------------------------------------------------------- 1 | namespace FileSystemModels.Browse 2 | { 3 | using System; 4 | using FileSystemModels.Interfaces; 5 | 6 | /// 7 | /// A simple event based state model that informs the subscriber about the 8 | /// state of the browser when changing between locations. 9 | /// 10 | public class BrowsingEventArgs : EventArgs 11 | { 12 | /// 13 | /// Event type class constructor from parameter 14 | /// 15 | public BrowsingEventArgs(IPathModel location, 16 | bool isBrowsing, 17 | BrowseResult result = BrowseResult.Unknown) 18 | : this() 19 | { 20 | Location = location; 21 | IsBrowsing = isBrowsing; 22 | Result = result; 23 | } 24 | 25 | /// 26 | /// Class constructor 27 | /// 28 | protected BrowsingEventArgs() 29 | : base() 30 | { 31 | this.Location = null; 32 | this.IsBrowsing = false; 33 | } 34 | 35 | /// 36 | /// Path we are browsing to or being arrived at. 37 | /// 38 | public IPathModel Location { get; private set; } 39 | 40 | /// 41 | /// Determines if we are: 42 | /// 1) Currently browsing towards this path (display progress) or 43 | /// 2) if the browsing process has arrived at this location (finish progress display). 44 | /// 45 | public bool IsBrowsing { get; private set; } 46 | 47 | /// 48 | /// Gets the result of the browsing process. This should be Unknown 49 | /// if is true and either Complete or InComplete 50 | /// in all other cases. 51 | /// 52 | public BrowseResult Result { get; private set; } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/Explorer/Explorer.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.27130.2036 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Explorer", "Explorer\Explorer.csproj", "{31340F9C-9F82-452F-8FC4-C3CBD1AA9552}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExplorerLib", "ExplorerLib\ExplorerLib.csproj", "{B766269C-1B57-4B4D-A3B3-0713934F8523}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|Any CPU = Debug|Any CPU 13 | Release|Any CPU = Release|Any CPU 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {31340F9C-9F82-452F-8FC4-C3CBD1AA9552}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 17 | {31340F9C-9F82-452F-8FC4-C3CBD1AA9552}.Debug|Any CPU.Build.0 = Debug|Any CPU 18 | {31340F9C-9F82-452F-8FC4-C3CBD1AA9552}.Release|Any CPU.ActiveCfg = Release|Any CPU 19 | {31340F9C-9F82-452F-8FC4-C3CBD1AA9552}.Release|Any CPU.Build.0 = Release|Any CPU 20 | {B766269C-1B57-4B4D-A3B3-0713934F8523}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {B766269C-1B57-4B4D-A3B3-0713934F8523}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {B766269C-1B57-4B4D-A3B3-0713934F8523}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {B766269C-1B57-4B4D-A3B3-0713934F8523}.Release|Any CPU.Build.0 = Release|Any CPU 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {6886BBB1-C873-4B58-A089-B8F6BE990F88} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /source/Apps/NuGet_TestClient/ThemedExplorer/Components/Settings/SettingsModel/Models/XML/Converters/AlternativeDataTypeHandler.cs: -------------------------------------------------------------------------------- 1 | namespace SettingsModel.Models.XML.Converters 2 | { 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Security; 6 | 7 | /// 8 | /// Holds a collection of alternative datatype 9 | /// handlers to handle datatypes that are not supported through equivalent conversion 10 | /// in alternative datatypes. 11 | /// 12 | internal class AlternativeDataTypeHandler 13 | { 14 | #region fields 15 | private readonly Dictionary converters = null; 16 | #endregion fields 17 | 18 | public AlternativeDataTypeHandler() 19 | { 20 | converters = new Dictionary(); 21 | 22 | converters.Add(typeof(SecureString), new SecureStringHandler()); 23 | } 24 | 25 | /// 26 | /// Finds an alternative datatype handler to handle datatypes that are not 27 | /// supported through equivalent conversion in alternative datatypes. 28 | /// 29 | /// 30 | /// 31 | public IAlternativeDataTypeHandler FindHandler(Type typeOfDataType2Handle) 32 | { 33 | IAlternativeDataTypeHandler ret = null; 34 | 35 | try 36 | { 37 | converters.TryGetValue(typeOfDataType2Handle, out ret); 38 | } 39 | catch 40 | { 41 | } 42 | 43 | return ret; 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /source/FSC_Components/FolderBrowser/Views/FolderBrowserDialog.xaml: -------------------------------------------------------------------------------- 1 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 33 |