Author: aolk
Date: 2005-03-13 13:40:24 -0500 (Sun, 13 Mar 2005)
New Revision: 41767
Modified:
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/FileDialog.cs
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/OpenFileDialog.cs
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/SaveFileDialog.cs
Log:
- Set correct text for openSaveButton Text property
- Added columns for fileListView Details view and some code that fills the
columns with
file and directory related information
- Added fileListViewBigImageList
Modified:
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/FileDialog.cs
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/FileDialog.cs
2005-03-13 18:29:46 UTC (rev 41766)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/FileDialog.cs
2005-03-13 18:40:24 UTC (rev 41767)
@@ -55,6 +55,8 @@
private string title = "";
private bool validateNames = true;
+ internal string openSaveButtonText;
+
public bool AddExtension
{
get
@@ -239,6 +241,19 @@
}
}
+ internal string OpenSaveButtonText
+ {
+ set
+ {
+ openSaveButtonText = value;
+ }
+
+ get
+ {
+ return openSaveButtonText;
+ }
+ }
+
public override void Reset( )
{
addExtension = true;
@@ -350,7 +365,7 @@
private Button cancelButton;
private ToolBarButton upToolBarButton;
private ToolBar bigButtonToolBar;
- private Button openButton;
+ private Button openSaveButton;
private Label fileTypeLabel;
private ToolBarButton menueToolBarButton;
private ContextMenu menueToolBarButtonContextMenu;
@@ -384,7 +399,7 @@
// store DirectoryInfo for backButton
internal Stack directoryStack = new Stack();
- internal string currentFileName;
+ internal string currentFileName = "";
private MenuItem previousCheckedMenuItem;
@@ -408,7 +423,7 @@
desktopToolBarButton = new ToolBarButton( );
menueToolBarButton = new ToolBarButton( );
fileTypeLabel = new Label( );
- openButton = new Button( );
+ openSaveButton = new Button( );
bigButtonToolBar = new ToolBar( );
upToolBarButton = new ToolBarButton( );
cancelButton = new Button( );
@@ -462,6 +477,11 @@
fileListView.Anchor = ( (AnchorStyles)( ( ( (
AnchorStyles.Top | AnchorStyles.Bottom ) | AnchorStyles.Left ) |
AnchorStyles.Right ) ) );
fileListView.Location = new Point( 99, 37 );
fileListView.Size = new Size( 449, 282 );
+ fileListView.Columns.Add( " Name", 170,
HorizontalAlignment.Left );
+ fileListView.Columns.Add( "Size ", 80,
HorizontalAlignment.Right );
+ fileListView.Columns.Add( " Type", 100,
HorizontalAlignment.Left );
+ fileListView.Columns.Add( " Last Access", 150,
HorizontalAlignment.Left );
+ fileListView.AllowColumnReorder = true;
fileListView.TabIndex = 2;
// fileNameLabel
@@ -587,12 +607,12 @@
fileTypeLabel.TextAlign =
ContentAlignment.MiddleLeft;
// openButton
- openButton.Anchor = ( (AnchorStyles)( (
AnchorStyles.Bottom | AnchorStyles.Right ) ) );
- openButton.FlatStyle = FlatStyle.System;
- openButton.Location = new Point( 475, 330 );
- openButton.Size = new Size( 72, 21 );
- openButton.TabIndex = 8;
- openButton.Text = "Open";
+ openSaveButton.Anchor = ( (AnchorStyles)( (
AnchorStyles.Bottom | AnchorStyles.Right ) ) );
+ openSaveButton.FlatStyle = FlatStyle.System;
+ openSaveButton.Location = new Point( 475, 330 );
+ openSaveButton.Size = new Size( 72, 21 );
+ openSaveButton.TabIndex = 8;
+ openSaveButton.Text =
fileDialog.OpenSaveButtonText;
// cancelButton
cancelButton.Anchor = ( (AnchorStyles)( (
AnchorStyles.Bottom | AnchorStyles.Right ) ) );
@@ -606,7 +626,7 @@
Controls.Add( smallButtonToolBar );
Controls.Add( cancelButton );
- Controls.Add( openButton );
+ Controls.Add( openSaveButton );
Controls.Add( fileTypeLabel );
Controls.Add( fileNameLabel );
Controls.Add( fileTypeComboBox );
@@ -624,11 +644,14 @@
fileListView.UpdateFileListView( );
- openButton.Click += new EventHandler(
OnClickOpenButton );
+ openSaveButton.Click += new EventHandler(
OnClickOpenButton );
cancelButton.Click += new EventHandler(
OnClickCancelButton );
smallButtonToolBar.ButtonClick += new
ToolBarButtonClickEventHandler( OnClickSmallButtonToolBar );
+ // Key events DONT'T work
+ fileNameComboBox.KeyUp += new KeyEventHandler(
OnKeyUpFileNameComboBox );
+
// FIXME: Default for Filter is "", aka
nothing, nada...
// which means, show all files
FilterStruct fs = new FilterStruct( "All Files
(*.*)", "*.*" ); // set default filter;
@@ -679,6 +702,39 @@
void OnClickOpenButton( object sender, EventArgs e )
{
+ Console.WriteLine( "OnClickOpenButton
currentFileName: " + currentFileName );
+
+ currentFileName.Trim();
+
+ if ( currentFileName.Length == 0 )
+ return;
+
+ if ( fileDialog.CheckFileExists )
+ {
+ if ( !File.Exists( currentFileName ) )
+ {
+ string message =
currentFileName + " doesn't exist. Please verify that you have entered the
correct file name.";
+ MessageBox.Show(message,
fileDialog.OpenSaveButtonText, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+
+ currentFileName = "";
+
+ return;
+ }
+ }
+
+ if ( fileDialog.CheckPathExists )
+ {
+ if ( !Directory.Exists(
currentDirectoryName ) )
+ {
+ string message =
currentDirectoryName + " doesn't exist. Please verify that you have entered the
correct directory name.";
+ MessageBox.Show(message,
fileDialog.OpenSaveButtonText, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+
+ currentDirectoryName =
Environment.CurrentDirectory;
+
+ return;
+ }
+ }
+
fileDialog.FileName = currentFileName;
CancelEventArgs cancelEventArgs = new
CancelEventArgs( );
@@ -750,6 +806,7 @@
fileListView.View =
View.LargeIcon;
break;
case 2:
+ fileListView.View =
View.LargeIcon;
break;
case 3:
fileListView.View = View.List;
@@ -763,6 +820,18 @@
}
+ void OnKeyUpFileNameComboBox( object sender,
KeyEventArgs e )
+ {
+ Console.WriteLine( "OnKeyUpFileNameComboBox");
+
+ if ( e.KeyCode == Keys.Enter )
+ {
+ Console.WriteLine(
"OnKeyUpFileNameComboBox e.KeyCode =...");
+ currentFileName = currentDirectoryName
+ fileNameComboBox.Text;
+ ForceDialogEnd();
+ }
+ }
+
public void UpdateFilters( ArrayList filters )
{
fileTypeComboBox.Items.Clear( );
@@ -816,7 +885,8 @@
// FileListView
internal class FileListView : ListView
{
- private ImageList fileListViewImageList = new
ImageList();
+ private ImageList fileListViewSmallImageList =
new ImageList();
+ private ImageList fileListViewBigImageList =
new ImageList();
private FileDialogPanel fileDialogPanel;
@@ -824,15 +894,21 @@
{
this.fileDialogPanel = fileDialogPanel;
- fileListViewImageList.ColorDepth =
ColorDepth.Depth32Bit;
- fileListViewImageList.ImageSize = new
Size( 16, 16 );
- fileListViewImageList.Images.Add(
(Image)Locale.GetResource( "paper" ) );
- fileListViewImageList.Images.Add(
(Image)Locale.GetResource( "folder" ) );
- fileListViewImageList.TransparentColor
= Color.Transparent;
+ fileListViewSmallImageList.ColorDepth =
ColorDepth.Depth32Bit;
+ fileListViewSmallImageList.ImageSize =
new Size( 16, 16 );
+ fileListViewSmallImageList.Images.Add(
(Image)Locale.GetResource( "paper" ) );
+ fileListViewSmallImageList.Images.Add(
(Image)Locale.GetResource( "folder" ) );
+
fileListViewSmallImageList.TransparentColor = Color.Transparent;
- SmallImageList = fileListViewImageList;
- LargeImageList = fileListViewImageList;
+ fileListViewBigImageList.ColorDepth =
ColorDepth.Depth32Bit;
+ fileListViewBigImageList.ImageSize =
new Size( 48, 48 );
+ fileListViewBigImageList.Images.Add(
(Image)Locale.GetResource( "paper" ) );
+ fileListViewBigImageList.Images.Add(
(Image)Locale.GetResource( "folder" ) );
+
fileListViewBigImageList.TransparentColor = Color.Transparent;
+ SmallImageList =
fileListViewSmallImageList;
+ LargeImageList =
fileListViewBigImageList;
+
View = View.List;
}
@@ -843,40 +919,54 @@
DirectoryInfo[] directoryInfoArray =
directoryInfo.GetDirectories( );
FileInfo[] fileInfoArray =
directoryInfo.GetFiles( );
+ fileDialogPanel.fileHashtable.Clear( );
+
BeginUpdate( );
Items.Clear( );
- fileDialogPanel.fileHashtable.Clear( );
-
- foreach ( DirectoryInfo dii in
directoryInfoArray )
+ foreach ( DirectoryInfo directoryInfoi
in directoryInfoArray )
{
FileStruct fileStruct = new
FileStruct( );
- fileStruct.fullname =
dii.FullName;
+ fileStruct.fullname =
directoryInfoi.FullName;
- ListViewItem listViewItem = new
ListViewItem( dii.Name );
+ ListViewItem listViewItem = new
ListViewItem( directoryInfoi.Name );
listViewItem.ImageIndex = 1;
+
+ listViewItem.SubItems.Add( "" );
+ listViewItem.SubItems.Add(
"Directory" );
+ listViewItem.SubItems.Add(
directoryInfoi.LastAccessTime.ToShortDateString() + " " +
directoryInfoi.LastAccessTime.ToShortTimeString() );
+
fileStruct.attributes =
FileAttributes.Directory;
-
fileDialogPanel.fileHashtable.Add( dii.Name, fileStruct );
+
fileDialogPanel.fileHashtable.Add( directoryInfoi.Name, fileStruct );
Items.Add( listViewItem );
}
- foreach ( FileInfo fi in fileInfoArray )
+ foreach ( FileInfo fileInfo in
fileInfoArray )
{
FileStruct fileStruct = new
FileStruct( );
- fileStruct.fullname =
fi.FullName;
+ fileStruct.fullname =
fileInfo.FullName;
- ListViewItem listViewItem = new
ListViewItem( fi.Name );
+ ListViewItem listViewItem = new
ListViewItem( fileInfo.Name );
listViewItem.ImageIndex = 0;
+
+ long fileLen = 1;
+ if ( fileInfo.Length > 1024 )
+ fileLen =
fileInfo.Length / 1024;
+
+ listViewItem.SubItems.Add(
fileLen.ToString() + " KB" );
+ listViewItem.SubItems.Add(
"File" );
+ listViewItem.SubItems.Add(
fileInfo.LastAccessTime.ToShortDateString() + " " +
fileInfo.LastAccessTime.ToShortTimeString() );
+
fileStruct.attributes =
FileAttributes.Normal;
-
fileDialogPanel.fileHashtable.Add( fi.Name, fileStruct );
+
fileDialogPanel.fileHashtable.Add( fileInfo.Name, fileStruct );
Items.Add( listViewItem );
}
Modified:
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/OpenFileDialog.cs
===================================================================
---
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/OpenFileDialog.cs
2005-03-13 18:29:46 UTC (rev 41766)
+++
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/OpenFileDialog.cs
2005-03-13 18:40:24 UTC (rev 41767)
@@ -45,6 +45,8 @@
form.Size = new Size( 554, 384 );
+ OpenSaveButtonText = "Open";
+
fileDialogPanel = new FileDialogPanel( this );
}
#endregion // Public Constructors
Modified:
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/SaveFileDialog.cs
===================================================================
---
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/SaveFileDialog.cs
2005-03-13 18:29:46 UTC (rev 41766)
+++
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/SaveFileDialog.cs
2005-03-13 18:40:24 UTC (rev 41767)
@@ -43,6 +43,8 @@
form.Size = new Size( 554, 384 );
+ OpenSaveButtonText = "Save";
+
fileDialogPanel = new FileDialogPanel( this );
}
#endregion // Public Constructors
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches