10 changed files
Shell | ||
__Transfered | ||
WindowsAPI.cs | ||
Icons | ||
IconFile.cs rename | ||
IconReader.cs rename | ||
IconUtilities.cs rename | ||
FolderSelectDialog.cs rename | ||
JunctionPoint.cs rename | ||
Shell.csproj | ||
ShellHistory.cs | ||
ShellLibrary.cs rename | ||
TaskBar.cs rename | ||
Add comment 1 Minus using System;
Add comment 2 Minus using System.Collections.Generic;
Add comment 3 Minus using System.Linq;
Add comment 4 Minus using System.Runtime.InteropServices;
Add comment 5 Minus using System.Text;
Add comment 6 Minus using System.Threading.Tasks;
Add comment 7 Minus
Add comment 8 Minus namespace BExplorer.Shell.Windows {
Add comment 9 Minus public static class WindowsAPI {
Add comment 10 Minus
Add comment 11 Minus [DllImport("shell32.dll", CharSet = CharSet.Auto, EntryPoint = "SHFileOperation")]
Add comment 12 Minus public static extern int SHFileOperation_x86(ref SHFILEOPSTRUCT_x86 FileOp);
Add comment 13 Minus
Add comment 14 Minus [DllImport("shell32.dll", CharSet = CharSet.Auto, EntryPoint = "SHFileOperation")]
Add comment 15 Minus public static extern int SHFileOperation_x64(ref SHFILEOPSTRUCT_x64 FileOp);
Add comment 16 Minus
Add comment 17 Minus [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
Add comment 18 Minus public struct SHFILEOPSTRUCT_x64 {
Add comment 19 Minus public IntPtr hwnd;
Add comment 20 Minus [MarshalAs(UnmanagedType.U4)]
Add comment 21 Minus public FileOperationType wFunc;
Add comment 22 Minus public string pFrom;
Add comment 23 Minus public string pTo;
Add comment 24 Minus public FileOperationFlags fFlags;
Add comment 25 Minus [MarshalAs(UnmanagedType.Bool)]
Add comment 26 Minus public bool fAnyOperationsAborted;
Add comment 27 Minus public IntPtr hNameMappings;
Add comment 28 Minus public string lpszProgressTitle;
Add comment 29 Minus }
Add comment 30 Minus
Add comment 31 Minus /// <summary>
Add comment 32 Minus /// SHFILEOPSTRUCT for SHFileOperation from COM
Add comment 33 Minus /// </summary>
Add comment 34 Minus [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto, Pack = 1)]
Add comment 35 Minus public struct SHFILEOPSTRUCT_x86 {
Add comment 36 Minus public IntPtr hwnd;
Add comment 37 Minus [MarshalAs(UnmanagedType.U4)]
Add comment 38 Minus public FileOperationType wFunc;
Add comment 39 Minus public string pFrom;
Add comment 40 Minus public string pTo;
Add comment 41 Minus public FileOperationFlags fFlags;
Add comment 42 Minus [MarshalAs(UnmanagedType.Bool)]
Add comment 43 Minus public bool fAnyOperationsAborted;
Add comment 44 Minus public IntPtr hNameMappings;
Add comment 45 Minus public string lpszProgressTitle;
Add comment 46 Minus }
Add comment 47 Minus
Add comment 48 Minus
Add comment 49 Minus /// <summary>
Add comment 50 Minus /// Possible flags for the SHFileOperation method.
Add comment 51 Minus /// </summary>
Add comment 52 Minus [Flags]
Add comment 53 Minus public enum FileOperationFlags : ushort {
Add comment 54 Minus /// <summary>
Add comment 55 Minus /// Do not show a dialog during the process
Add comment 56 Minus /// </summary>
Add comment 57 Minus FOF_SILENT = 0x0004,
Add comment 58 Minus /// <summary>
Add comment 59 Minus /// Do not ask the user to confirm selection
Add comment 60 Minus /// </summary>
Add comment 61 Minus FOF_NOCONFIRMATION = 0x0010,
Add comment 62 Minus /// <summary>
Add comment 63 Minus /// Delete the file to the recycle bin. (Required flag to send a file to the bin
Add comment 64 Minus /// </summary>
Add comment 65 Minus FOF_ALLOWUNDO = 0x0040,
Add comment 66 Minus /// <summary>
Add comment 67 Minus /// Do not show the names of the files or folders that are being recycled.
Add comment 68 Minus /// </summary>
Add comment 69 Minus FOF_SIMPLEPROGRESS = 0x0100,
Add comment 70 Minus /// <summary>
Add comment 71 Minus /// Surpress errors, if any occur during the process.
Add comment 72 Minus /// </summary>
Add comment 73 Minus FOF_NOERRORUI = 0x0400,
Add comment 74 Minus /// <summary>
Add comment 75 Minus /// Warn if files are too big to fit in the recycle bin and will need
Add comment 76 Minus /// to be deleted completely.
Add comment 77 Minus /// </summary>
Add comment 78 Minus FOF_WANTNUKEWARNING = 0x4000,
Add comment 79 Minus }
Add comment 80 Minus
Add comment 81 Minus
Add comment 82 Minus /// <summary>
Add comment 83 Minus /// File Operation Function Type for SHFileOperation
Add comment 84 Minus /// </summary>
Add comment 85 Minus public enum FileOperationType : uint {
Add comment 86 Minus /// <summary>
Add comment 87 Minus /// Move the objects
Add comment 88 Minus /// </summary>
Add comment 89 Minus FO_MOVE = 0x0001,
Add comment 90 Minus /// <summary>
Add comment 91 Minus /// Copy the objects
Add comment 92 Minus /// </summary>
Add comment 93 Minus FO_COPY = 0x0002,
Add comment 94 Minus /// <summary>
Add comment 95 Minus /// Delete (or recycle) the objects
Add comment 96 Minus /// </summary>
Add comment 97 Minus FO_DELETE = 0x0003,
Add comment 98 Minus /// <summary>
Add comment 99 Minus /// Rename the object(s)
Add comment 100 Minus /// </summary>
Add comment 101 Minus FO_RENAME = 0x0004,
Add comment 102 Minus }
Add comment 103 Minus }
Add comment 104 Minus }
Add comment 105 Minus
IconFile.cs
/Shell/Icons/IconFile.cs/Shell/Icons/IconFile.cs
Renamed from
/Shell/__Transfered/Icons/IconFile.cs
The file content is identical.
IconReader.cs
/Shell/Icons/IconReader.cs/Shell/Icons/IconReader.cs
Renamed from
/Shell/__Transfered/Icons/IconReader.cs
The file content is identical.
IconUtilities.cs
/Shell/Icons/IconUtilities.cs/Shell/Icons/IconUtilities.cs
Renamed from
/Shell/__Transfered/Icons/IconUtilities.cs
The file content is identical.
FolderSelectDialog.cs
/Shell/FolderSelectDialog.cs/Shell/FolderSelectDialog.cs
Renamed from
/Shell/CommonFileDialogs/FolderSelectDialog.cs
The file content is identical.
JunctionPoint.cs
/Shell/JunctionPoint.cs/Shell/JunctionPoint.cs
Renamed from
/Shell/__Transfered/JunctionPoint.cs
The file content is identical.
Add comment 100 <Compile Include="Interop\TestDialog.cs" />
Add comment 101 <Compile Include="Interop\Wallpaer.cs" />
Add comment 102 <Compile Include="Reflector.cs" />
Add comment 103 Minus <Compile Include="CommonFileDialogs\FolderSelectDialog.cs" />
Add comment 103 Plus <Compile Include="FolderSelectDialog.cs" />
Add comment 104 <Compile Include="FolderSettings.cs" />
Add comment 105 <Compile Include="FileOperation\AsyncUnbuffCopy.cs" />
Add comment 106 <Compile Include="FileOperation\FileOperationProgressSink.cs" />
Add comment 143 <Compile Include="Interop\CredUI.cs" />
Add comment 144 <Compile Include="Interop\Helpers.cs" />
Add comment 145 <Compile Include="Interop\ShellNotifications.cs" />
Add comment 146 Minus <Compile Include="Libraries\ShellLibrary.cs" />
Add comment 146 Plus <Compile Include="ShellLibrary.cs" />
Add comment 147 <Compile Include="SyncQueue.cs" />
Add comment 148 <Compile Include="Collumns.cs" />
Add comment 149 <Compile Include="Defaults.cs" />
Add comment 188 <Compile Include="ShellViewEx.Designer.cs">
Add comment 189 <DependentUpon>ShellViewEx.cs</DependentUpon>
Add comment 190 </Compile>
Add comment 191 Minus <Compile Include="Taskbar\TaskBar.cs" />
Add comment 191 Plus <Compile Include="TaskBar.cs" />
Add comment 192 <Compile Include="ToolTip.xaml.cs">
Add comment 193 <DependentUpon>ToolTip.xaml</DependentUpon>
Add comment 194 </Compile>
Add comment 238 <SubType>Component</SubType>
Add comment 239 </Compile>
Add comment 240 <Compile Include="ShellContextMenu.cs" />
Add comment 241 Minus <Compile Include="ShellHistory.cs" />
Add comment 242 241 <Compile Include="ShellItem.cs" />
Add comment 243 242 <Compile Include="ShellNotificationListener.cs">
Add comment 244 243 <SubType>Component</SubType>
Add comment 253 252 <Compile Include="WindowsSearch\ShellSearchConnector.cs" />
Add comment 254 253 <Compile Include="WindowsSearch\ShellSearchFolder.cs" />
Add comment 255 254 <Compile Include="_Plugin Interfaces\IShellItemEx.cs" />
Add comment 256 Minus <Compile Include="__Transfered\Icons\IconFile.cs" />
Add comment 257 Minus <Compile Include="__Transfered\Icons\IconReader.cs" />
Add comment 258 Minus <Compile Include="__Transfered\JunctionPoint.cs" />
Add comment 259 Minus <Compile Include="__Transfered\WindowsAPI.cs" />
Add comment 255 Plus <Compile Include="Icons\IconFile.cs" />
Add comment 256 Plus <Compile Include="Icons\IconReader.cs" />
Add comment 257 Plus <Compile Include="JunctionPoint.cs" />
Add comment 258 Plus <Compile Include="WindowsAPI.cs" />
Add comment 260 259 <Service Include="{94E38DFF-614B-4cbd-B67C-F211BB35CE8B}" />
Add comment 261 260 </ItemGroup>
Add comment 262 261 <ItemGroup>
Add comment 1 Minus //// BExplorer.Shell - A Windows Shell library for .Net.
Add comment 2 Minus //// Copyright (C) 2007-2009 Steven J. Kirk
Add comment 3 Minus ////
Add comment 4 Minus //// This program is free software; you can redistribute it and/or
Add comment 5 Minus //// modify it under the terms of the GNU Lesser General Public
Add comment 6 Minus //// License as published by the Free Software Foundation; either
Add comment 7 Minus //// version 2 of the License, or (at your option) any later version.
Add comment 8 Minus ////
Add comment 9 Minus //// This program is distributed in the hope that it will be useful,
Add comment 10 Minus //// but WITHOUT ANY WARRANTY; without even the implied warranty of
Add comment 11 Minus //// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Add comment 12 Minus //// GNU Lesser General Public License for more details.
Add comment 13 Minus ////
Add comment 14 Minus //// You should have received a copy of the GNU Lesser General Public
Add comment 15 Minus //// License along with this program; if not, write to the Free
Add comment 16 Minus //// Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Add comment 17 Minus //// Boston, MA 2110-1301, USA.
Add comment 18 Minus ////
Add comment 19 Minus //using System;
Add comment 20 Minus //using System.Collections.Generic;
Add comment 21 Minus //using System.Text;
Add comment 22 Minus //using BExplorer.Shell.Interop;
Add comment 23 Minus
Add comment 24 Minus //namespace BExplorer.Shell {
Add comment 25 Minus // /// <summary>
Add comment 26 Minus // /// Holds a <see cref="ShellView"/>'s navigation history.
Add comment 27 Minus // /// </summary>
Add comment 28 Minus // public class ShellHistory {
Add comment 29 Minus
Add comment 30 Minus // #region Properties
Add comment 31 Minus
Add comment 32 Minus // List<ShellItem> m_History;
Add comment 33 Minus // int m_Current;
Add comment 34 Minus
Add comment 35 Minus // internal ShellItem Current { get { return m_History[m_Current]; } }
Add comment 36 Minus // internal bool CanNavigateBack { get { return m_Current > 0; } }
Add comment 37 Minus // internal bool CanNavigateForward { get { return m_Current < m_History.Count - 1; } }
Add comment 38 Minus
Add comment 39 Minus // /// <summary>
Add comment 40 Minus // /// Gets the list of folders in the <see cref="ShellView"/>'s
Add comment 41 Minus // /// <b>Back</b> history.
Add comment 42 Minus // /// </summary>
Add comment 43 Minus // public ShellItem[] HistoryBack { get { return m_History.GetRange(0, m_Current).ToArray(); } }
Add comment 44 Minus
Add comment 45 Minus // /// <summary>
Add comment 46 Minus // /// Gets the list of folders in the <see cref="ShellView"/>'s
Add comment 47 Minus // /// <b>Forward</b> history.
Add comment 48 Minus // /// </summary>
Add comment 49 Minus // public ShellItem[] HistoryForward {
Add comment 50 Minus // get {
Add comment 51 Minus // if (CanNavigateForward) {
Add comment 52 Minus // return m_History.GetRange(m_Current + 1, m_History.Count - (m_Current + 1)).ToArray();
Add comment 53 Minus // }
Add comment 54 Minus // else {
Add comment 55 Minus // return new ShellItem[0];
Add comment 56 Minus // }
Add comment 57 Minus // }
Add comment 58 Minus // }
Add comment 59 Minus
Add comment 60 Minus
Add comment 61 Minus // #endregion
Add comment 62 Minus
Add comment 63 Minus // internal ShellHistory() {
Add comment 64 Minus // m_History = new List<ShellItem>();
Add comment 65 Minus // }
Add comment 66 Minus
Add comment 67 Minus // /// <summary>
Add comment 68 Minus // /// Clears the shell history.
Add comment 69 Minus // /// </summary>
Add comment 70 Minus // public void Clear() {
Add comment 71 Minus // ShellItem current = null;
Add comment 72 Minus
Add comment 73 Minus // if (m_History.Count > 0) {
Add comment 74 Minus // current = Current;
Add comment 75 Minus // }
Add comment 76 Minus
Add comment 77 Minus // m_History.Clear();
Add comment 78 Minus
Add comment 79 Minus // if (current != null) {
Add comment 80 Minus // Add(current);
Add comment 81 Minus // }
Add comment 82 Minus // }
Add comment 83 Minus
Add comment 84 Minus
Add comment 85 Minus // internal void Add(ShellItem folder) {
Add comment 86 Minus // while (m_Current < m_History.Count - 1) {
Add comment 87 Minus // m_History.RemoveAt(m_Current + 1);
Add comment 88 Minus // }
Add comment 89 Minus
Add comment 90 Minus // m_History.Add(folder);
Add comment 91 Minus // m_Current = m_History.Count - 1;
Add comment 92 Minus // }
Add comment 93 Minus
Add comment 94 Minus
Add comment 95 Minus
Add comment 96 Minus // internal void MoveBack(ShellItem folder) {
Add comment 97 Minus // int index = m_History.IndexOf(folder);
Add comment 98 Minus
Add comment 99 Minus // if ((index == -1) || (index >= m_Current)) {
Add comment 100 Minus // throw new Exception("The requested folder could not be located in the 'back' shell history");
Add comment 101 Minus // }
Add comment 102 Minus
Add comment 103 Minus // m_Current = index;
Add comment 104 Minus // }
Add comment 105 Minus
Add comment 106 Minus // internal ShellItem MoveBack() {
Add comment 107 Minus // if (m_Current == 0)
Add comment 108 Minus // throw new InvalidOperationException("Cannot navigate back");
Add comment 109 Minus
Add comment 110 Minus // return m_History[--m_Current];
Add comment 111 Minus // }
Add comment 112 Minus
Add comment 113 Minus // internal ShellItem MoveForward() {
Add comment 114 Minus // if (m_Current == m_History.Count - 1)
Add comment 115 Minus // throw new InvalidOperationException("Cannot navigate forward");
Add comment 116 Minus
Add comment 117 Minus // return m_History[++m_Current];
Add comment 118 Minus // }
Add comment 119 Minus
Add comment 120 Minus // internal void MoveForward(ShellItem folder) {
Add comment 121 Minus // int index = m_History.IndexOf(folder, m_Current + 1);
Add comment 122 Minus
Add comment 123 Minus // if (index == -1) {
Add comment 124 Minus // throw new Exception("The requested folder could not be located in the 'forward' shell history");
Add comment 125 Minus // }
Add comment 126 Minus
Add comment 127 Minus // m_Current = index;
Add comment 128 Minus // }
Add comment 129 Minus
Add comment 130 Minus // }
Add comment 131 Minus //}
Add comment 132 Minus
ShellLibrary.cs
/Shell/ShellLibrary.cs/Shell/ShellLibrary.cs
Renamed from
/Shell/Libraries/ShellLibrary.cs
The file content is identical.
The file content is identical.