예제 #1
0
        public MainMenuViewModel()
        {
            SendCommand         = new GalaSoft.MvvmLight.Command.RelayCommand <string>(Send);
            SettingsCommand     = new RelayCommand(EditSettings);
            ThumbSizeCommand    = new GalaSoft.MvvmLight.Command.RelayCommand <int>(ThumbSize);
            SetLayoutCommand    = new GalaSoft.MvvmLight.Command.RelayCommand <string>(SetLayout);
            SelectAllCommand    = new RelayCommand(delegate { ServiceProvider.Settings.DefaultSession.SelectAll(); });
            SelectNoneCommand   = new RelayCommand(delegate { ServiceProvider.Settings.DefaultSession.SelectNone(); });
            SelectLiked         = new RelayCommand(delegate { ServiceProvider.Settings.DefaultSession.SelectLiked(); });
            SelectUnLiked       = new RelayCommand(delegate { ServiceProvider.Settings.DefaultSession.SelectUnLiked(); });
            SelectInvertCommand = new RelayCommand(delegate { ServiceProvider.Settings.DefaultSession.SelectInver(); });
            SelectSeries        =
                new RelayCommand(delegate
            {
                try
                {
                    ServiceProvider.Settings.DefaultSession.SelectSameSeries(
                        ServiceProvider.Settings.SelectedBitmap.FileItem.Series);
                }
                catch (Exception ex)
                {
                    Log.Error("SelectSeries", ex);
                }
            });
            NewSessionCommand     = new RelayCommand(NewSession);
            EditSessionCommand    = new RelayCommand(EditSession);
            DelSessionCommand     = new RelayCommand(DelSession);
            RefreshSessionCommand = new RelayCommand(RefreshSession);
            ShowSessionCommand    = new RelayCommand(ShowSession);
            RefreshCommand        = new RelayCommand(Refresh);
            CameraPropertyCommand =
                new RelayCommand(
                    () => ServiceProvider.WindowsManager.ExecuteCommand(WindowsCmdConsts.CameraPropertyWnd_Show,
                                                                        ServiceProvider.DeviceManager.SelectedCameraDevice));
            UseAsMasterCommand = new RelayCommand(UseAsMaster);

            ToggleFocusCommand    = new RelayCommand(() => ShowFocusPoints = !ShowFocusPoints);
            FlipPreviewCommand    = new RelayCommand(() => FlipPreview = !FlipPreview);
            EnhancedThumbsCommand = new RelayCommand(() => EnhancedThumbs = !EnhancedThumbs);
            ShowThumbInfoCommand  = new RelayCommand(() => ShowThumbInfo = !ShowThumbInfo);

            HomePageCommand      = new RelayCommand(() => PhotoUtils.Run("http://www.digicamcontrol.com/", ""));
            CheckUpdateCommand   = new RelayCommand(() => NewVersionWnd.CheckForUpdate(true));
            ForumCommand         = new RelayCommand(() => PhotoUtils.Run("http://digicamcontrol.com/phpbb/index.php", ""));
            SendLogFileCommand   = new RelayCommand(() => new ErrorReportWnd("Log file").ShowDialog());
            ShowChangeLogCommand = new RelayCommand(NewVersionWnd.ShowChangeLog);
            AboutCommand         = new RelayCommand(() => new AboutWnd().ShowDialog());
            ManualPageCommand    = new RelayCommand(() => HelpProvider.Run(HelpSections.MainMenu));

            ExecuteExportPluginCommand = new GalaSoft.MvvmLight.Command.RelayCommand <IExportPlugin>(ExecuteExportPlugin);
            ExecuteToolPluginCommand   = new GalaSoft.MvvmLight.Command.RelayCommand <IToolPlugin>(ExecuteToolPlugin);
            if (ServiceProvider.DeviceManager != null)
            {
                ServiceProvider.DeviceManager.CameraConnected    += DeviceManager_CameraConnected;
                ServiceProvider.DeviceManager.CameraDisconnected += DeviceManager_CameraConnected;
                ServiceProvider.DeviceManager.CameraSelected     += DeviceManager_CameraSelected;
            }
            ExportSessionCommand = new RelayCommand(ExportSession);
            ImportSessionCommand = new RelayCommand(ImportSession);
        }
예제 #2
0
        private void CheckForUpdate()
        {
            if ((DateTime.Now - ServiceProvider.Settings.LastUpdateCheckDate).TotalDays > 7)
            {
                if (!ServiceProvider.Branding.CheckForUpdate)
                {
                    return;
                }

                Thread.Sleep(2000);
                ServiceProvider.Settings.LastUpdateCheckDate = DateTime.Now;
                ServiceProvider.Settings.Save();
                Dispatcher.Invoke(new Action(() => NewVersionWnd.CheckForUpdate(false)));
            }
            else
            {
                if (!ServiceProvider.Branding.ShowStartupScreen)
                {
                    return;
                }

                // show welcome screen only if not start minimized
                if (!ServiceProvider.Settings.StartMinimized)
                {
                    Dispatcher.Invoke(new Action(() =>
                    {
                        var wnd = new Welcome();
                        wnd.ShowDialog();
                    }));
                }
            }
        }
예제 #3
0
        private void CheckForUpdate()
        {
            var scriptFile = ServiceProvider.Settings.StartupScript;

            if (scriptFile != null && File.Exists(scriptFile))
            {
                if (Path.GetExtension(scriptFile.ToLower()) == ".tcl")
                {
                    try
                    {
                        var manager = new TclScripManager();
                        manager.Execute(File.ReadAllText(scriptFile));
                    }
                    catch (Exception exception)
                    {
                        Log.Error("Script error", exception);
                        StaticHelper.Instance.SystemMessage = "Script error :" + exception.Message;
                    }
                }
                else
                {
                    var script = ServiceProvider.ScriptManager.Load(scriptFile);
                    script.CameraDevice = ServiceProvider.DeviceManager.SelectedCameraDevice;
                    ServiceProvider.ScriptManager.Execute(script);
                }
            }
            if ((DateTime.Now - ServiceProvider.Settings.LastUpdateCheckDate).TotalDays > 7)
            {
                if (!ServiceProvider.Branding.CheckForUpdate)
                {
                    return;
                }

                Thread.Sleep(2000);
                ServiceProvider.Settings.LastUpdateCheckDate = DateTime.Now;
                ServiceProvider.Settings.Save();
                Dispatcher.Invoke(new Action(() => NewVersionWnd.CheckForUpdate(false)));
            }
            else
            {
                if (!ServiceProvider.Branding.ShowWelcomeScreen || !ServiceProvider.Branding.OnlineReference)
                {
                    return;
                }

                // show welcome screen only if not start minimized
                if (!ServiceProvider.Settings.StartMinimized)
                {
                    Dispatcher.Invoke(new Action(() =>
                    {
                        var wnd = new Welcome();
                        wnd.ShowDialog();
                    }));
                }
            }
        }
 private void CheckForUpdate()
 {
     Thread.Sleep(2000);
     if ((DateTime.Now - ServiceProvider.Settings.LastUpdateCheckDate).TotalDays > 7)
     {
         ServiceProvider.Settings.LastUpdateCheckDate = DateTime.Now;
         ServiceProvider.Settings.Save();
         Dispatcher.Invoke(new Action(() => NewVersionWnd.CheckForUpdate(false)));
     }
 }
예제 #5
0
        private void StartupThread()
        {
            foreach (var cameraDevice in ServiceProvider.DeviceManager.ConnectedDevices)
            {
                Log.Debug("cameraDevice_CameraInitDone 1");
                var          property = cameraDevice.LoadProperties();
                CameraPreset preset   = ServiceProvider.Settings.GetPreset(property.DefaultPresetName);
                // multiple canon cameras block with this settings

                if ((cameraDevice is CanonSDKBase && ServiceProvider.Settings.LoadCanonTransferMode) || !(cameraDevice is CanonSDKBase))
                {
                    cameraDevice.CaptureInSdRam = property.CaptureInSdRam;
                }

                Log.Debug("cameraDevice_CameraInitDone 1a");
                if (ServiceProvider.Settings.SyncCameraDateTime)
                {
                    try
                    {
                        cameraDevice.DateTime = DateTime.Now;
                    }
                    catch (Exception exception)
                    {
                        Log.Error("Unable to sysnc date time", exception);
                    }
                }
                if (preset != null)
                {
                    try
                    {
                        Thread.Sleep(500);
                        cameraDevice.WaitForCamera(5000);
                        preset.Set(cameraDevice);
                    }
                    catch (Exception e)
                    {
                        Log.Error("Unable to load default preset", e);
                    }
                }
            }
            var scriptFile = ServiceProvider.Settings.StartupScript;

            if (scriptFile != null && File.Exists(scriptFile))
            {
                if (Path.GetExtension(scriptFile.ToLower()) == ".tcl")
                {
                    try
                    {
                        var manager = new TclScripManager();
                        manager.Execute(File.ReadAllText(scriptFile));
                    }
                    catch (Exception exception)
                    {
                        Log.Error("Script error", exception);
                        StaticHelper.Instance.SystemMessage = "Script error :" + exception.Message;
                    }
                }
                else
                {
                    var script = ServiceProvider.ScriptManager.Load(scriptFile);
                    script.CameraDevice = ServiceProvider.DeviceManager.SelectedCameraDevice;
                    ServiceProvider.ScriptManager.Execute(script);
                }
            }
            if ((DateTime.Now - ServiceProvider.Settings.LastUpdateCheckDate).TotalDays > 7)
            {
                if (!ServiceProvider.Branding.CheckForUpdate)
                {
                    return;
                }

                Thread.Sleep(2000);
                ServiceProvider.Settings.LastUpdateCheckDate = DateTime.Now;
                ServiceProvider.Settings.Save();
                Dispatcher.Invoke(new Action(() => NewVersionWnd.CheckForUpdate(false)));
            }
            else
            {
                if (!ServiceProvider.Branding.ShowWelcomeScreen || !ServiceProvider.Branding.OnlineReference)
                {
                    return;
                }

                // show welcome screen only if not start minimized
                if (!ServiceProvider.Settings.StartMinimized)
                {
                    Dispatcher.Invoke(() =>
                    {
                        try
                        {
                            var wnd = new Welcome();
                            wnd.ShowDialog();
                        }
                        catch
                        {
                        }
                    });
                }
            }
        }
 private void btn_changelog_Click(object sender, RoutedEventArgs e)
 {
     NewVersionWnd.ShowChangeLog();
 }
 private void MenuItem_Click_1(object sender, RoutedEventArgs e)
 {
     NewVersionWnd.CheckForUpdate(true);
 }
예제 #8
0
        public MainMenuViewModel()
        {
            if (IsInDesignMode)
            {
                return;
            }

            SendCommand            = new GalaSoft.MvvmLight.Command.RelayCommand <string>(Send);
            SettingsCommand        = new RelayCommand(EditSettings);
            ThumbSizeCommand       = new GalaSoft.MvvmLight.Command.RelayCommand <string>(ThumbSize);
            SetLayoutCommand       = new GalaSoft.MvvmLight.Command.RelayCommand <string>(SetLayout);
            SelectNoneCommand      = new RelayCommand(delegate { ServiceProvider.Settings.DefaultSession.SelectNone(); });
            SelectLiked            = new RelayCommand(delegate { ServiceProvider.Settings.DefaultSession.SelectLiked(); });
            SelectUnLiked          = new RelayCommand(delegate { ServiceProvider.Settings.DefaultSession.SelectUnLiked(); });
            OpenInLightroomCommand =
                new RelayCommand(() => ServiceProvider.Settings.DefaultSession.OpenInLightroom(), () => ServiceProvider.Settings.DefaultSession.IsAvailable("Lightroom"));

            OpenInPhotoshopCommand =
                new RelayCommand(OpenInPhotoshop, () => ServiceProvider.Settings.DefaultSession.IsAvailable("Photoshop"));
            LightroomIsInstalled = ServiceProvider.Settings.DefaultSession.IsAvailable("Lightroom");
            PhotoshopIsInstalled = ServiceProvider.Settings.DefaultSession.IsAvailable("Photoshop");
            SelectInvertCommand  = new RelayCommand(delegate { ServiceProvider.Settings.DefaultSession.SelectInver(); });
            SelectSeries         =
                new RelayCommand(delegate
            {
                try
                {
                    ServiceProvider.Settings.DefaultSession.SelectSameSeries(
                        ServiceProvider.Settings.SelectedBitmap.FileItem.Series);
                }
                catch (Exception ex)
                {
                    Log.Error("SelectSeries", ex);
                }
            });
            NewSessionCommand     = new RelayCommand(NewSession);
            EditSessionCommand    = new RelayCommand(EditSession);
            DelSessionCommand     = new RelayCommand(DelSession);
            RefreshSessionCommand = new RelayCommand(RefreshSession);
            ShowSessionCommand    = new RelayCommand(ShowSession);
            RefreshCommand        = new RelayCommand(Refresh);
            CameraPropertyCommand =
                new RelayCommand(
                    () => ServiceProvider.WindowsManager.ExecuteCommand(WindowsCmdConsts.CameraPropertyWnd_Show,
                                                                        ServiceProvider.DeviceManager.SelectedCameraDevice));
            UseAsMasterCommand = new RelayCommand(UseAsMaster);

            ToggleFocusCommand = new RelayCommand(() => ShowFocusPoints = !ShowFocusPoints);
            FlipPreviewCommand = new RelayCommand(() => FlipPreview = !FlipPreview);
            HomePageCommand    =
                new RelayCommand(
                    () => PhotoUtils.Run(string.IsNullOrEmpty(Branding.HomePageUrl)
                        ? "https://us.orangemonkie.com/"
                        : Branding.HomePageUrl, ""));

            CheckUpdateCommand   = new RelayCommand(() => NewVersionWnd.CheckForUpdate(true));
            ForumCommand         = new RelayCommand(() => PhotoUtils.Run("https://us.orangemonkie.com/blog", ""));
            SendLogFileCommand   = new RelayCommand(() => new ErrorReportWnd("Log file").ShowDialog());
            ShowChangeLogCommand = new RelayCommand(NewVersionWnd.ShowChangeLog);
            AboutCommand         = new RelayCommand(() => new AboutWnd().ShowDialog());
            ManualPageCommand    = new RelayCommand(() => HelpProvider.Run(HelpSections.MainMenu));

            ExecuteExportPluginCommand = new GalaSoft.MvvmLight.Command.RelayCommand <IExportPlugin>(ExecuteExportPlugin);
            ExecuteToolPluginCommand   = new GalaSoft.MvvmLight.Command.RelayCommand <IToolPlugin>(ExecuteToolPlugin);
            if (ServiceProvider.DeviceManager != null)
            {
                ServiceProvider.DeviceManager.CameraConnected    += DeviceManager_CameraConnected;
                ServiceProvider.DeviceManager.CameraDisconnected += DeviceManager_CameraConnected;
                ServiceProvider.DeviceManager.CameraSelected     += DeviceManager_CameraSelected;
            }
            ExportSessionCommand     = new RelayCommand(ExportSession);
            ImportSessionCommand     = new RelayCommand(ImportSession);
            CopyNameClipboardCommand =
                new RelayCommand(
                    delegate
            {
                try
                {
                    Clipboard.SetText(ServiceProvider.Settings.SelectedBitmap.FileItem.FileName);
                }
                catch (Exception exception)
                {
                    Log.Error("Copy to Clipboard fail ", exception);
                    StaticHelper.Instance.SystemMessage = "Copy to Clipboard fail";
                }
            });
        }