ContainerUtil.cs
上传用户:szltgg
上传日期:2019-05-16
资源大小:604k
文件大小:5k
源码类别:

Telnet服务器

开发平台:

C#

  1. /*
  2. * Copyright (c) 2005 Poderosa Project, All Rights Reserved.
  3. * $Id: ContainerUtil.cs,v 1.2 2005/04/20 08:45:44 okajima Exp $
  4. */
  5. using System;
  6. using System.Globalization;
  7. using System.Drawing;
  8. using System.Diagnostics;
  9. using System.IO;
  10. using System.Text;
  11. using System.Windows.Forms;
  12. using Poderosa.Forms;
  13. using Poderosa.Config;
  14. using Poderosa.UI;
  15. namespace Poderosa
  16. {
  17. internal enum LogFileCheckResult {
  18. Create,
  19. Append,
  20. Cancel,
  21. Error
  22. }
  23. internal class GCUtil : GUtil
  24. {
  25. //婛懚偺僼傽僀儖偱偁偭偨傝丄彂偒崬傒晄壜擻偩偭偨傜寈崘偡傞
  26. public static LogFileCheckResult CheckLogFileName(string path, Form parent) {
  27. try {
  28. if(path.Length==0) {
  29. GUtil.Warning(parent, GApp.Strings.GetString("Message.CheckLogFileName.EmptyPath"));
  30. return LogFileCheckResult.Cancel;
  31. }
  32. if(File.Exists(path)) {
  33. if((FileAttributes.ReadOnly & File.GetAttributes(path)) != (FileAttributes)0) {
  34. GUtil.Warning(parent, String.Format(GApp.Strings.GetString("Message.CheckLogFileName.NotWritable"), path));
  35. return LogFileCheckResult.Cancel;
  36. }
  37. Poderosa.Forms.ThreeButtonMessageBox mb = new Poderosa.Forms.ThreeButtonMessageBox();
  38. mb.Message = String.Format(GApp.Strings.GetString("Message.CheckLogFileName.AlreadyExist"), path);
  39. mb.Text = GApp.Strings.GetString("Util.CheckLogFileName.Caption");
  40. mb.YesButtonText = GApp.Strings.GetString("Util.CheckLogFileName.OverWrite");
  41. mb.NoButtonText  = GApp.Strings.GetString("Util.CheckLogFileName.Append");
  42. mb.CancelButtonText = GApp.Strings.GetString("Util.CheckLogFileName.Cancel");
  43. switch(GCUtil.ShowModalDialog(parent, mb)) {
  44. case DialogResult.Cancel:
  45. return LogFileCheckResult.Cancel;
  46. case DialogResult.Yes: //忋彂偒
  47. return LogFileCheckResult.Create;
  48. case DialogResult.No:  //捛婰
  49. return LogFileCheckResult.Append;
  50. default:
  51. break;
  52. }
  53. }
  54. return LogFileCheckResult.Create; //!!彂偒崬傒壜擻側僨傿儗僋僩儕偵偁傞偙偲傪妋擣偡傟偽側偍傛偟
  55. }
  56. catch(Exception ex) {
  57. GUtil.Warning(parent, ex.Message);
  58. return LogFileCheckResult.Error;
  59. }
  60. }
  61. //僟僀傾儘僌偱儘僌僼傽僀儖傪奐偔
  62. public static string SelectLogFileByDialog(Form parent) {
  63. SaveFileDialog dlg = new SaveFileDialog();
  64. dlg.AddExtension = true;
  65. dlg.DefaultExt = "log";
  66. dlg.Title = GApp.Strings.GetString("Util.SelectLogFileByDialog.Caption");
  67. dlg.Filter = "Log Files(*.log)|*.log|All Files(*.*)|*.*";
  68. if(GCUtil.ShowModalDialog(parent, dlg)==DialogResult.OK) {
  69. return dlg.FileName;
  70. }
  71. else
  72. return null;
  73. }
  74. public static string SelectPrivateKeyFileByDialog(Form parent) {
  75. OpenFileDialog dlg = new OpenFileDialog();
  76. dlg.CheckFileExists = true;
  77. dlg.Multiselect = false;
  78. dlg.InitialDirectory = GApp.Options.DefaultKeyDir;
  79. dlg.Title = GApp.Strings.GetString("Util.SelectPrivateKey.Caption");
  80. dlg.Filter = "Key Files(*.bin;*)|*.bin;*";
  81. if(GCUtil.ShowModalDialog(parent, dlg)==DialogResult.OK) {
  82. GApp.Options.DefaultKeyDir = FileToDir(dlg.FileName);
  83. return dlg.FileName;
  84. }
  85. else
  86. return null;
  87. }
  88. public static string SelectPictureFileByDialog(Form parent) {
  89. OpenFileDialog dlg = new OpenFileDialog();
  90. dlg.CheckFileExists = true;
  91. dlg.Multiselect = false;
  92. dlg.InitialDirectory = GApp.Options.DefaultFileDir;
  93. dlg.Title = GApp.Strings.GetString("Util.SelectPicture.Caption");
  94. dlg.Filter = "Picture Files(*.bmp;*.jpg;*.jpeg;*.gif;*.png)|*.bmp;*.jpg;*.jpeg;*.gif;*.png";
  95. if(GCUtil.ShowModalDialog(parent, dlg)==DialogResult.OK) {
  96. GApp.Options.DefaultFileDir = FileToDir(dlg.FileName);
  97. return dlg.FileName;
  98. }
  99. else
  100. return null;
  101. }
  102. //.NET1.1SP1 懳嶔偱丄僟僀傾儘僌昞帵偺庤懕偒偵傂偲偔偣偁傝
  103. public static DialogResult ShowModalDialog(Form parent, Form dialog) {
  104. DialogResult r;
  105. #if false
  106. r = dialog.ShowDialog(parent);
  107. #else
  108. if(parent.Modal) {
  109. if(GApp.Options.HideDialogForSP1Issue) {
  110. parent.Visible = false;
  111. r = dialog.ShowDialog(parent);
  112. parent.Visible = true;
  113. }
  114. else {
  115. parent.Enabled = false;
  116. r = dialog.ShowDialog(parent);
  117. parent.Enabled = true;
  118. }
  119. }
  120. else {
  121. parent.Enabled = false;
  122. r = dialog.ShowDialog(parent);
  123. parent.Enabled = true;
  124. }
  125. #endif
  126. dialog.Dispose();
  127. return r;
  128. }
  129. //ShowDialog傪巊傢偢偵偦傟偭傐偔尒偣傞
  130. public static void ShowPseudoModalDialog(Form parent, Form dialog) {
  131. dialog.Owner = GApp.Frame;
  132. //centering
  133. dialog.Left = parent.Left + parent.Width/2  - dialog.Width/2;
  134. dialog.Top  = parent.Top  + parent.Height/2 - dialog.Height/2;
  135. parent.Enabled = false;
  136. dialog.Show();
  137. }
  138. public static DialogResult ShowModalDialog(Form parent, CommonDialog dialog) {
  139. parent.Enabled = false;
  140. DialogResult r = dialog.ShowDialog();
  141. parent.Enabled = true;
  142. dialog.Dispose();
  143. return r;
  144. }
  145. }
  146. }