예제 #1
0
        public static void Terminate()
        {
            Core.SaveBackup(System.IO.Path.GetTempPath() + "/efk_quit.efkbac");

            var entryDirectory = GetEntryDirectory();

            System.IO.Directory.SetCurrentDirectory(entryDirectory);

            SaveWindowConfig(ConfigFilePath);

            foreach (var p in panels)
            {
                if (p != null)
                {
                    p.DispatchDisposed();
                }
            }

            if (effectViewer != null)
            {
                effectViewer.DispatchDisposed();
            }

            Network.Save();
            Shortcuts.SeveShortcuts();
            RecentFiles.SaveRecentConfig();

            Network.Dispose();
            Network = null;

            Viewer.HideViewer();
            Viewer.Dispose();
            Viewer = null;

            if (MainViewImage != null)
            {
                MainViewImage.Dispose();
                MainViewImage = null;
            }

            NativeManager.SetCallback(null);
            NativeManager.Terminate();

            Images.Unload();

            if (HardwareDevice != null)
            {
                HardwareDevice.Dispose();
                HardwareDevice = null;
            }

            swig.MainWindow.Terminate();
            MainWindow.Dispose();
            MainWindow = null;

            ThumbnailManager.Terminate();
            swig.IO.Terminate();
            IO.Dispose();
            IO = null;
        }
예제 #2
0
        public static void Terminate()
        {
            var entryDirectory = GetEntryDirectory();

            System.IO.Directory.SetCurrentDirectory(entryDirectory);

            Manager.NativeManager.SaveDock("config.Dock.config");
            SaveWindowConfig("config.Dock.xml");

            foreach (var p in panels)
            {
                if (p != null)
                {
                    p.DispatchDisposed();
                }
            }

            if (effectViewer != null)
            {
                effectViewer.DispatchDisposed();
            }

            Network.Save();
            Shortcuts.SeveShortcuts();
            RecentFiles.SaveRecentConfig();

            Viewer.HideViewer();

            NativeManager.SetCallback(null);
            NativeManager.Terminate();

            Images.Unload();

            swig.MainWindow.Terminate();
            MainWindow.Dispose();
            MainWindow = null;

            ThumbnailManager.Terminate();
            swig.IO.Terminate();
            IO.Dispose();
            IO = null;
        }