예제 #1
0
        /// <summary>
        /// Queries the instance of the <see cref="IIconCacheService"/> that is to be used
        /// </summary>
        /// <returns>
        /// An instance of <see cref="IIconCacheService"/>
        /// </returns>
        private IIconCacheService QueryIIconCacheService()
        {
            if (this.iconCacheService == null)
            {
                this.iconCacheService = ServiceLocator.Current.GetInstance <IIconCacheService>();
            }

            return(this.iconCacheService);
        }
        /// <summary>
        /// Initializes a new instance of the MainViewModel class.
        /// </summary>
        public MainViewModel(SettingsService settings,
                             ScanningService scanning,
                             IIconCacheService iconCache,
                             IUIService ui,
                             IBitmapFactory bitmapFactory,
                             ImagesServiceBase images,
                             IClipboardService clipboard,
                             IOSService os,
                             IWindowDialogService dialogs,
                             TreemapRendererFactory treemapFactory,
                             IShortcutsService shortcuts,
                             RelayCommandService relayFactory)
        {
            Settings      = settings;
            Scanning      = scanning;
            IconCache     = iconCache;
            UI            = ui;
            BitmapFactory = bitmapFactory;
            Images        = images;
            Clipboard     = clipboard;
            OS            = os;
            Dialogs       = dialogs;
            Shortcuts     = shortcuts;
            Treemap       = treemapFactory.Create();

            Settings.PropertyChanged += OnSettingsPropertyChanged;
            Scanning.PropertyChanged += OnScanningPropertyChanged;

            Extensions = new ExtensionItemViewModelCollection(this);

            SelectedFiles = new ObservableCollection <FileItemViewModel>();
            SelectedFiles.CollectionChanged += OnSelectedFilesChanged;

            FileComparer      = new FileComparer();
            ExtensionComparer = new ExtensionComparer();
            UpdateEmptyRecycleBin();

            GCRAMUsage = GC.GetTotalMemory(false);
            if (IsInDesignMode)
            {
                // Code runs in Blend --> create design time data.
            }
            else
            {
                // Code runs "for real"
                ramTimer    = UI.StartTimer(Settings.RAMInterval, true, OnRAMUsageTick);
                statusTimer = UI.CreateTimer(Settings.StatusInterval, true, OnStatusTick);
            }
        }
        /// <summary>Constructrs the <see cref="DriveSelectViewModel"/>.</summary>
        public DriveSelectViewModel(SettingsService settings,
                                    IUIService ui,
                                    IWindowDialogService dialog,
                                    IIconCacheService iconCache,
                                    ScanningService scanning)
        {
            Settings  = settings;
            UI        = ui;
            Dialogs   = dialog;
            IconCache = iconCache;
            Scanning  = scanning;

            Drives        = new DriveItemViewModelCollection(this);
            DriveComparer = new DriveComparer();

            SelectedDrives = new ObservableCollection <DriveItemViewModel>();
            SelectedDrives.CollectionChanged += OnSelectedDrivesChanged;
        }
예제 #4
0
 /// <summary>
 /// Queries the instance of the <see cref="IIconCacheService"/> that is to be used
 /// </summary>
 /// <returns>
 /// An instance of <see cref="IIconCacheService"/>
 /// </returns>
 private IIconCacheService QueryIIconCacheService()
 {
     return(this.iconCacheService ?? (this.iconCacheService = ServiceLocator.Current.GetInstance <IIconCacheService>()));
 }