12 changed files
BetterExplorer
BExplorer/BetterExplorer | ||
_MainWindow | ||
MainWindow_Tabs.cs | ||
IconClasses | ||
IconView.cs | ||
MainWindow.xaml | ||
MainWindow.xaml.cs | ||
Shell | ||
Interop | ||
Helpers.cs | ||
ShlWapi.cs | ||
FOperationProgressSink.cs | ||
MessageHandler.cs | ||
ShellContextMenu.cs | ||
ShellTreeViewEx.cs | ||
ShellViewEx.cs | ||
TreeViewBase.cs | ||
MainWindow_Tabs.cs
/BExplorer/BetterExplorer/_MainWindow/MainWindow_Tabs.cs-4+4/BExplorer/BetterExplorer/_MainWindow/MainWindow_Tabs.cs
Add comment 169
Add comment 170 if (IsAdditem && item.ShellObject.IsFileSystem) {
Add comment 171 try {
Add comment 172 Minus var so = new ShellItem(item.ShellObject.ParsingName);
Add comment 172 Plus var so = item.ShellObject;
Add comment 173 so.Thumbnail.FormatOption = ShellThumbnailFormatOption.IconOnly;
Add comment 174 so.Thumbnail.CurrentSize = new System.Windows.Size(16, 16);
Add comment 175
Add comment 176 Minus btnMoveto.Items.Add(Utilities.Build_MenuItem(item.ShellObject.GetDisplayName(SIGDN.NORMALDISPLAY), item.ShellObject,
Add comment 176 Plus btnMoveto.Items.Add(Utilities.Build_MenuItem(item.ShellObject.CachedDisplayName, item.ShellObject,
Add comment 177 so.Thumbnail.BitmapSource, onClick: new RoutedEventHandler(mim_Click)));
Add comment 178
Add comment 179 Minus btnCopyto.Items.Add(Utilities.Build_MenuItem(item.ShellObject.GetDisplayName(SIGDN.NORMALDISPLAY), item.ShellObject, so.Thumbnail.BitmapSource));
Add comment 179 Plus btnCopyto.Items.Add(Utilities.Build_MenuItem(item.ShellObject.CachedDisplayName, item.ShellObject, so.Thumbnail.BitmapSource));
Add comment 180 }
Add comment 181 catch {
Add comment 182 //Do nothing if ShellItem is not available anymore and close the problematic item
Add comment 183 Minus tcMain.RemoveTabItem(item);
Add comment 183 Plus //tcMain.RemoveTabItem(item);
Add comment 184 }
Add comment 185 }
Add comment 186 }
IconView.cs
/BExplorer/BetterExplorer/IconClasses/IconView.cs-2+3/BExplorer/BetterExplorer/IconClasses/IconView.cs
Add comment 2 using System.Collections.Generic;
Add comment 3 using System.ComponentModel;
Add comment 4 using System.Drawing;
Add comment 5 Plus using System.IO;
Add comment 5 6 using System.Windows.Forms;
Add comment 6 7 using System.Windows.Forms.VisualStyles;
Add comment 7 8 using BExplorer.Shell;
Add comment 113 114 if (IsLibrary) {
Add comment 114 115 this.ShellView.IsLibraryInModify = true;
Add comment 115 116 var lib = ShellView.GetFirstSelectedItem() != null ?
Add comment 116 Minus BExplorer.Shell.ShellLibrary.Load(ShellView.GetFirstSelectedItem().DisplayName, false) :
Add comment 117 Minus BExplorer.Shell.ShellLibrary.Load(ShellView.CurrentFolder.DisplayName, false);
Add comment 117 Plus BExplorer.Shell.ShellLibrary.Load(Path.GetFileNameWithoutExtension(ShellView.GetFirstSelectedItem().CachedParsingName), false) :
Add comment 118 Plus BExplorer.Shell.ShellLibrary.Load(Path.GetFileNameWithoutExtension(ShellView.CurrentFolder.CachedParsingName), false);
Add comment 118 119
Add comment 119 120 lib.IconResourceId = new BExplorer.Shell.Interop.IconReference(tbLibrary.Text, (int)lvIcons.SelectedItems[0].Tag);
Add comment 120 121 lib.Close();
MainWindow.xaml
/BExplorer/BetterExplorer/MainWindow.xaml-1+1/BExplorer/BetterExplorer/MainWindow.xaml
Add comment 3137 <ColumnDefinition Width="2"/>
Add comment 3138 <ColumnDefinition Width="*"/>
Add comment 3139 </Grid.ColumnDefinitions>
Add comment 3140 Minus <Helper:NoFlickerWindowsFormsHost x:Name="ShellTreeHost" Grid.Column="0" Background="White"/>
Add comment 3140 Plus <Helper:NoFlickerWindowsFormsHost x:Name="ShellTreeHost" Grid.Column="0" Background="White" SizeChanged="ShellTreeHost_SizeChanged"/>
Add comment 3141 <GridSplitter x:Name="TreeSplitter" Grid.Column="1" Width="2" HorizontalAlignment="Center" VerticalAlignment="Stretch" Background="LightGray"/>
Add comment 3142 <Helper:NoFlickerWindowsFormsHost x:Name="ShellViewHost" Grid.Column="2" Background="White"/>
Add comment 3143 </Grid>
MainWindow.xaml.cs
/BExplorer/BetterExplorer/MainWindow.xaml.cs/BExplorer/BetterExplorer/MainWindow.xaml.cs
Add comment 129 }
Add comment 130
Add comment 131 }
Add comment 132 Plus public sealed class NaturalStringComparer : IComparer<string> {
Add comment 133 Plus public static readonly NaturalStringComparer Default = new NaturalStringComparer();
Add comment 134 Plus
Add comment 135 Plus public int Compare(string x, string y) {
Add comment 136 Plus return ShlWapi.StrCmpLogicalW(x, y);
Add comment 137 Plus }
Add comment 138 Plus }
Add comment 132 139 }
Add comment 133 140
Add comment 35 , [MarshalAs(UnmanagedType.LPTStr)] StringBuilder buffer
Add comment 36 , int bufferSize);
Add comment 37
Add comment 38 Plus [DllImport("shlwapi.dll", CharSet = CharSet.Unicode, ExactSpelling = true)]
Add comment 39 Plus public static extern int StrCmpLogicalW(string psz1, string psz2);
Add comment 40 Plus
Add comment 38 41
Add comment 39 42 /// <summary>
Add comment 40 43 /// Converts a numeric value into a string that represents the number expressed as a size value in bytes, kilobytes, megabytes, or gigabytes, depending on the size.