Changeset 2059 for trunk/eraser


Ignore:
Timestamp:
5/4/2010 8:13:48 AM (4 years ago)
Author:
lowjoel
Message:

Handle cases where other shell folders, other than the recycle bin, is dropped into Eraser. Display a proper message to indicate why the drag and drop operation cannot succeed.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/eraser/Eraser/SchedulerPanel.cs

    r2057 r2059  
    379379                    for (int i = 1; i <= cida.cidl; ++i) 
    380380                    { 
    381                         if (cida.aoffset[i].Guid != Guid.Empty) 
     381                        if (!string.IsNullOrEmpty(cida.aoffset[i].Path)) 
     382                        { 
     383                            files.Add(cida.aoffset[i].Path); 
     384                        } 
     385                        else if (cida.aoffset[i].Guid != Guid.Empty) 
    382386                        { 
    383387                            if (cida.aoffset[i].Guid == Shell.KnownFolderIDs.RecycleBin) 
     
    387391                                recycleBinIncluded = true; 
    388392                            } 
    389                         } 
    390                         else 
    391                         { 
    392                             files.Add(cida.aoffset[i].Path); 
    393393                        } 
    394394                    } 
     
    417417                    isTaskList = false; 
    418418            } 
    419             descriptionInsert = descriptionInsert.Remove(descriptionInsert.Length - 2); 
     419 
     420            if (!string.IsNullOrEmpty(descriptionInsert)) 
     421                descriptionInsert = descriptionInsert.Remove(descriptionInsert.Length - 2); 
    420422 
    421423            if (!recycleBinIncluded && files.Count == 0) 
     424            { 
    422425                e.Effect = DragDropEffects.None; 
     426                descriptionMessage = "Cannot erase the selected items"; 
     427            } 
    423428            else if (isTaskList) 
    424429            { 
     
    471476                    for (int i = 1; i <= cida.cidl; ++i) 
    472477                    { 
    473                         if (cida.aoffset[i].Guid != Guid.Empty) 
     478                        if (!string.IsNullOrEmpty(cida.aoffset[i].Path)) 
     479                        { 
     480                            files.Add(cida.aoffset[i].Path); 
     481                        } 
     482                        else if (cida.aoffset[i].Guid != Guid.Empty) 
    474483                        { 
    475484                            if (cida.aoffset[i].Guid == Shell.KnownFolderIDs.RecycleBin) 
    476485                                recycleBinIncluded = true; 
    477                         } 
    478                         else 
    479                         { 
    480                             files.Add(cida.aoffset[i].Path); 
    481486                        } 
    482487                    } 
Note: See TracChangeset for help on using the changeset viewer.