Exemple #1
0
        private void _miRestore_Click(object sender, RoutedEventArgs e)
        {
            BackupView view = _listView.SelectedItem as BackupView;

            if (view != null)
            {
                ProgressDialog dialog = new ProgressDialog("Restoring databases...", "Restoring...");
                dialog.Loaded += delegate {
                    IsEnabled = false;

                    GrfThread.Start(delegate {
                        try {
                            BackupEngine.Instance.Restore(view.BackupDate);
                            dialog.Dispatch(p => p.Terminate());
                            this.Dispatch(p => p.IsEnabled = true);
                            ErrorHandler.HandleException("Successfully restored to " + view.Date + ". Reload your database for the changes to take effect.", ErrorLevel.NotSpecified);
                        }
                        catch (Exception err) {
                            dialog.Dispatch(p => p.Terminate());
                            this.Dispatch(p => p.IsEnabled = true);
                            ErrorHandler.HandleException(err);
                        }
                    });
                };

                dialog.ShowDialog();
            }
        }
        public void Show()
        {
            var backupWindow = new BackupView();

            backupWindow.StartPosition = FormStartPosition.CenterScreen;
            backupWindow.Show();
        }
Exemple #3
0
        private void _miExport_Click(object sender, RoutedEventArgs e)
        {
            BackupView view = _listView.SelectedItem as BackupView;

            if (view != null)
            {
                string folder = PathRequest.FolderEditor();

                if (folder != null)
                {
                    BackupEngine.Instance.Export(folder, view.BackupDate);
                }
            }
        }
Exemple #4
0
        private void _miSelect_Click(object sender, RoutedEventArgs e)
        {
            BackupView view = _listView.SelectedItem as BackupView;

            if (view != null)
            {
                if (Directory.Exists(view.DbPath))
                {
                    OpeningService.FilesOrFolders(view.DbPath);
                }
                else
                {
                    ErrorHandler.HandleException("Directory not found " + view.DbPath + ".");
                }
            }
        }
        private void OnGUI()
        {
            if (m_backupViewState == null)
            {
                m_backupViewState = new TreeViewState();
            }

            if (m_backupView == null)
            {
                m_backupView = new BackupView(m_backupViewState, m_asset);
            }

            var lineHeight  = EditorGUIUtility.singleLineHeight;
            var lineSpacing = EditorGUIUtility.standardVerticalSpacing;

            var viewport =
                GUILayoutUtility
                .GetRect(
                    0, 0,
                    GUILayout.ExpandWidth(true),
                    GUILayout.ExpandHeight(true));

            const float margin = 4;

            viewport.yMin += margin;

            var topRowRect = viewport;

            topRowRect.xMin  += margin;
            topRowRect.xMax  -= margin;
            topRowRect.height = lineHeight;

            var bottomRowRect = topRowRect;

            bottomRowRect.y = viewport.yMax - lineHeight - margin;

            var oldAsset = m_asset;
            var newAsset = EditorGUI.ObjectField(
                topRowRect,
                GUIContent.none,
                oldAsset,
                typeof(Object),
                allowSceneObjects: false);

            if (newAsset != oldAsset)
            {
                m_backupView.asset = m_asset = newAsset;
            }

            var backupViewRect = viewport;

            backupViewRect.xMin -= 1;
            backupViewRect.xMax += 1;
            backupViewRect.yMin  = topRowRect.yMax + margin;
            backupViewRect.yMax  = bottomRowRect.yMin - margin;

            m_backupView.OnGUI(backupViewRect);

            var buttonStyle = EditorStyles.miniButton;
            var content     = new GUIContent("Restore");
            var restoreSize = buttonStyle.CalcSize(content);

            var restoreRect = bottomRowRect;

            EditorGUI.BeginDisabledGroup(!m_backupView.HasSelection());
            var restore = GUI.Button(restoreRect, content, buttonStyle);

            if (restore)
            {
                var selectedItem = m_backupView.selectedItem;
                var selectedFile = selectedItem.file;
                var backupPath   = selectedFile.path;
                AssetBackup.RestoreFromBackup(m_asset, backupPath);
            }
            EditorGUI.EndDisabledGroup();
        }