예제 #1
0
        /// <summary>
        /// TrackBackPage Contructor
        /// </summary>
        public TrackBackPage()
        {
            InitializeComponent();

            settingsManager = Settings.Instance;

            // Get the debugLogger class instance
            debugLogger = DebugLogger.Instance;

            helper = new HelperManager(mainWindow);

            // Disables the TrackBackPage interface if no folder pairs are loaded in HomePage
            if (!File.Exists(SETTINGS_FILE_NAME) || settingsManager.LoadFolderPaths()[0] == "")
            {
                HideListViewForBothFolders(false);
                return;
            }
            else
            {
                LoadTrackBackXML();

                trackback = new TrackBackEngine();
                trackback.LeftFolderPath  = actualLeftFolderPath;
                trackback.RightFolderPath = actualRightFolderPath;

                // Displays the message 'No TrackBack Data' if the folder does not have any previously backed up folders
                if (trackback.hasTrackBackData(actualLeftFolderPath) && trackback.hasTrackBackData(actualRightFolderPath))
                {
                    GridTrackBack.IsEnabled = true;
                }
                else if (trackback.hasTrackBackData(actualLeftFolderPath))
                {
                    DisplayListViewForLeftFolderOnly(true);
                }
                else if (trackback.hasTrackBackData(actualRightFolderPath))
                {
                    DisplayListViewForRightFolderOnly(true);
                }
                else
                {
                    HideListViewForBothFolders(false);
                }

                // Adds the event handler for Restore
                trackback.backgroundWorkerForTrackBackRestore.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(backgroundWorkerForTrackBackRestore_RunWorkerCompleted);
            }
        }
예제 #2
0
        /// <summary>
        /// Page is loaded, initialise listview
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Page_Loaded(object sender, System.Windows.RoutedEventArgs e)
        {
            int trackbackStatus = settingsManager.GetTrackBackStatus(); // 0 for disabled, 1 for enabled, -1 is an error

            if (trackbackStatus != -1)
            {
                if (trackbackStatus == 0)
                {
                    GridTrackBack.IsEnabled  = false;
                    GridTrackBack.Opacity    = 0.5;
                    LabelDisabled.Visibility = Visibility.Visible;
                }

                LabelProgress.Visibility = Visibility.Hidden;
                ButtonRestore.Visibility = Visibility.Hidden;

                if ((File.Exists(SETTINGS_FILE_NAME) && settingsManager.LoadFolderPaths()[0] != "") &&
                    trackback.hasTrackBackData(actualLeftFolderPath) && trackback.hasTrackBackData(actualRightFolderPath))
                {
                    LoadSourceFolders();

                    if (GetOriginalFolderPath(GetSelectedComboBoxItem()) == actualLeftFolderPath)
                    {
                        LoadTrackBackEntriesForLeftFolder();
                    }
                    else if (GetOriginalFolderPath(GetSelectedComboBoxItem()) == actualRightFolderPath)
                    {
                        LoadTrackBackEntriesForRightFolder();
                    }

                    //Sort left and right lists according to date/time
                    SortList("dateItem", ListSortDirection.Descending, ListViewForLeftFolder);
                    SortList("dateItem", ListSortDirection.Descending, ListViewForRightFolder);
                }
                else if ((File.Exists(SETTINGS_FILE_NAME) && settingsManager.LoadFolderPaths()[0] != "") &&
                         trackback.hasTrackBackData(actualLeftFolderPath))
                {
                    LoadSourceFolders();

                    if (GetOriginalFolderPath(GetSelectedComboBoxItem()) == actualLeftFolderPath)
                    {
                        LoadTrackBackEntriesForLeftFolder();
                    }

                    //Sort left lists according to date/time
                    SortList("dateItem", ListSortDirection.Descending, ListViewForLeftFolder);
                }
                else if ((File.Exists(SETTINGS_FILE_NAME) && settingsManager.LoadFolderPaths()[0] != "") &&
                         trackback.hasTrackBackData(actualRightFolderPath))
                {
                    LoadSourceFolders();

                    if (GetOriginalFolderPath(GetSelectedComboBoxItem()) == actualRightFolderPath)
                    {
                        LoadTrackBackEntriesForRightFolder();
                    }

                    //Sort right lists according to date/time
                    SortList("dateItem", ListSortDirection.Descending, ListViewForRightFolder);
                }

                //Add event handler to check when main window is moved, move helper window too
                mainWindow.LocationChanged += new EventHandler(mainWindow_LocationChanged);
            }
        }
        /// <summary>
        /// TrackBackPage Contructor
        /// </summary>
        public TrackBackPage()
        {
            InitializeComponent();

            settingsManager = Settings.Instance;

            // Get the debugLogger class instance
            debugLogger = DebugLogger.Instance;

            helper = new HelperManager(mainWindow);

            // Disables the TrackBackPage interface if no folder pairs are loaded in HomePage
            if (!File.Exists(SETTINGS_FILE_NAME) || settingsManager.LoadFolderPaths()[0] == "")
            {
                HideListViewForBothFolders(false);
                return;
            }
            else
            {
                LoadTrackBackXML();

                trackback = new TrackBackEngine();
                trackback.LeftFolderPath = actualLeftFolderPath;
                trackback.RightFolderPath = actualRightFolderPath;

                // Displays the message 'No TrackBack Data' if the folder does not have any previously backed up folders
                if (trackback.hasTrackBackData(actualLeftFolderPath) && trackback.hasTrackBackData(actualRightFolderPath))
                {
                    GridTrackBack.IsEnabled = true;
                }
                else if (trackback.hasTrackBackData(actualLeftFolderPath))
                {
                    DisplayListViewForLeftFolderOnly(true);
                }
                else if (trackback.hasTrackBackData(actualRightFolderPath))
                {
                    DisplayListViewForRightFolderOnly(true);
                }
                else
                {
                    HideListViewForBothFolders(false);
                }

                // Adds the event handler for Restore
                trackback.backgroundWorkerForTrackBackRestore.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(backgroundWorkerForTrackBackRestore_RunWorkerCompleted);
            }
        }