Esempio n. 1
0
        private void ExportButton_Click(object sender, RoutedEventArgs e)
        {
            string baseDir;
            {
                MainWindow w = Application.Current.MainWindow as MainWindow;
                baseDir = w.BaseDir;
            }

            string title;

            if (m.SelectedTabIndex == 0) // System Log
            {
                title = "Export System Log";
            }
            else // Build Log
            {
                title = "Export Build Log";
            }

            Microsoft.Win32.SaveFileDialog dialog = new Microsoft.Win32.SaveFileDialog()
            {
                Title            = title,
                Filter           = "Text Format (*.txt)|*.txt|HTML Format (*.html)|*.html",
                InitialDirectory = baseDir,
            };

            if (dialog.ShowDialog() == true)
            {
                string        ext  = System.IO.Path.GetExtension(dialog.FileName);
                LogExportType type = LogExportType.Text;
                if (ext.Equals(".html", StringComparison.OrdinalIgnoreCase))
                {
                    type = LogExportType.Html;
                }

                if (m.SelectedTabIndex == 0) // System Log
                {
                    m.Logger.ExportSystemLog(type, dialog.FileName);
                }
                else // Build Log
                {
                    int  idx     = m.SelectBuildIndex;
                    long buildId = m.SelectBuildEntries[idx].Item2; // Build Id
                    m.Logger.ExportBuildLog(type, dialog.FileName, buildId);
                }

                // Open log file
                Application.Current.Dispatcher.Invoke(() =>
                {
                    MainWindow w = Application.Current.MainWindow as MainWindow;
                    w.OpenTextFile(dialog.FileName);
                });
            }
        }