Ignore:
Timestamp:
12/23/2009 3:17:17 AM (5 years ago)
Author:
lowjoel
Message:

Only display the BlackBox? UI if the user has unsubmitted reports.

Location:
branches/eraser6/BlackBox
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/eraser6/BlackBox/Eraser.Util/BlackBox.cs

    r1414 r1417  
    530530                DirectoryInfo directory = new DirectoryInfo(Path); 
    531531                foreach (FileInfo file in directory.GetFiles()) 
    532                     if (file.Name != BlackBox.StackTraceFileName) 
     532                    if (!InternalFiles.Contains(file.Name)) 
    533533                        result.Add(file); 
    534534 
     
    560560        } 
    561561 
     562        /// <summary> 
     563        /// Gets or sets whether the given report has been uploaded to the server. 
     564        /// </summary> 
     565        public bool Submitted 
     566        { 
     567            get 
     568            { 
     569                byte[] buffer = new byte[1]; 
     570                using (FileStream stream = new FileStream(System.IO.Path.Combine(Path, StatusFileName), 
     571                    FileMode.OpenOrCreate, FileAccess.Read, FileShare.Read)) 
     572                { 
     573                    stream.Read(buffer, 0, buffer.Length); 
     574                } 
     575 
     576                return buffer[0] == 1; 
     577            } 
     578 
     579            set 
     580            { 
     581                byte[] buffer = { Convert.ToByte(value) }; 
     582                using (FileStream stream = new FileStream(System.IO.Path.Combine(Path, StatusFileName), 
     583                    FileMode.OpenOrCreate, FileAccess.Write, FileShare.Read)) 
     584                { 
     585                    stream.Write(buffer, 0, buffer.Length); 
     586                } 
     587            } 
     588        } 
     589 
    562590        public override string ToString() 
    563591        { 
     
    574602        /// </summary> 
    575603        private List<BlackBoxExceptionEntry> StackTraceCache; 
     604 
     605        /// <summary> 
     606        /// The file name for the status file. 
     607        /// </summary> 
     608        private static readonly string StatusFileName = "Status.txt"; 
     609 
     610        /// <summary> 
     611        /// The list of files internal to the report. 
     612        /// </summary> 
     613        private static readonly List<string> InternalFiles = new List<string>( 
     614            new string[] { 
     615                 BlackBox.StackTraceFileName, 
     616                 "Status.txt" 
     617            } 
     618        ); 
    576619    } 
    577620 
  • branches/eraser6/BlackBox/Eraser/BlackBoxMainForm.cs

    r1393 r1417  
    4141            foreach (BlackBoxReport report in BlackBox.GetDumps()) 
    4242            { 
     43                if (report.Submitted) 
     44                    continue; 
     45 
    4346                ReportsLb.Items.Add(report); 
    4447                ReportsLb.SetItemChecked(ReportsLb.Items.Count - 1, true); 
  • branches/eraser6/BlackBox/Eraser/BlackBoxUploadForm.cs

    r1415 r1417  
    4747            InitializeComponent(); 
    4848            UXThemeApi.UpdateControlTheme(this); 
    49  
    50             Reports = reports; 
    5149            UploadWorker.RunWorkerAsync(reports); 
    5250        } 
     
    106104            { 
    107105                ProgressLbl.Text = S._("Reports submitted successfully."); 
     106                ProgressPb.Value = ProgressPb.Maximum; 
    108107                CancelBtn.Text = S._("Close"); 
    109108            } 
     
    125124                Close(); 
    126125        } 
    127  
    128         private IList<BlackBoxReport> Reports; 
    129126    } 
    130127 
     
    180177                    { 
    181178                        case "exists": 
     179                            Report.Submitted = true; 
    182180                            return false; 
    183181 
     
    279277                { 
    280278                    reportRequest.GetResponse(); 
     279                    Report.Submitted = true; 
    281280                } 
    282281                catch (WebException e) 
  • branches/eraser6/BlackBox/Eraser/Program.cs

    r1411 r1417  
    221221            Application.Idle -= OnGUIIdle; 
    222222            BlackBox blackBox = BlackBox.Get(); 
    223             if (blackBox.GetDumps().Length == 0) 
     223 
     224            bool allSubmitted = true; 
     225            foreach (BlackBoxReport report in blackBox.GetDumps()) 
     226                if (!report.Submitted) 
     227                { 
     228                    allSubmitted = false; 
     229                    break; 
     230                } 
     231 
     232            if (allSubmitted) 
    224233                return; 
    225234 
Note: See TracChangeset for help on using the changeset viewer.