ExplorerForm.cs

Description du code

ExplorerForm.cs est un fichier du projet BrolExplorer.
Ce fichier est situé dans /var/www/bin/sniplets/bibliobrol/brolexplorer/.

Projet BrolExplorer :

Explorateur de media en CSharp.

Code source ou contenu du fichier

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using be.gaudry.explorer.view.controls;
  9. using be.gaudry.view;
  10. using be.gaudry.photobrol.view.controls;
  11. using be.gaudry.events;
  12. using System.IO;
  13. using be.gaudry.explorer.renamer.view;
  14. using be.gaudry.explorer.brolzip;
  15. using be.gaudry.explorer.filestats.view;
  16. using be.gaudry.explorer.filestats.view.controls;
  17. using be.gaudry.model.config;
  18. using be.gaudry.model.file;
  19. using be.gaudry.model.drawing;
  20. using be.gaudry.explorer.metadata.model.tags;
  21. using be.gaudry.explorer.brolzip.view;
  22. using be.gaudry.model.enums;
  23. using be.gaudry.explorer.metadata.view;
  24.  
  25. namespace be.gaudry.explorer.view
  26. {
  27. public partial class ExplorerForm : MDIChildForm, IMDIChild
  28. {
  29. #region constructor and declarations
  30. private List<UserControl> toolPanels;
  31. private BrolExplorerAboutBox aboutBox;
  32. private SearchMediaUserControl searchUC;
  33. private ExplorerUserControl explorerUC;
  34. private ImageEditorUserControl imageEditor;
  35. public enum DISPLAY { none, mediaBrowser, explorer, imageEditor };
  36. private DISPLAY display;
  37. private String currentFilePath, currentDirPath, version;
  38. private const string exportDisplaySettingString = "display/explorerType";
  39. private Settings settings = new Settings();
  40. public ExplorerForm()
  41. {
  42. InitializeComponent();
  43. setVersion();
  44. addToolStrip(explorerTS);
  45. toolPanels = new List<UserControl>();
  46. initSearchUC();
  47. initExplorerUC();
  48. aboutBox = new BrolExplorerAboutBox();
  49. display = DISPLAY.none;
  50. currentFilePath = "";
  51. currentDirPath = "";
  52. }
  53.  
  54. private void setVersion()
  55. {
  56. Plugin p = PluginsManager.getPlugin(PLUGIN.explorer);
  57. if (p != null)
  58. {
  59. //p.MainForm = this;
  60. this.version = string.Format(
  61. "{0} {1}",
  62. p.Name,
  63. p.Version
  64. );
  65. }
  66. }
  67.  
  68. public ExplorerForm(DISPLAY display):this()
  69. {
  70. this.display = display;
  71. }
  72. #endregion
  73.  
  74. #region initializations
  75. private void initExplorerUC()
  76. {
  77. explorerUC = new ExplorerUserControl();
  78. explorerUC.Display = ExplorerUserControl.FILES_DISPLAY.explorer;
  79. explorerUC.Dock = DockStyle.Fill;
  80. explorerUC.ShowDesktop = true;
  81. explorerUC.ShowMyDocuments = true;
  82. explorerUC.ShowMyFavorites = true;
  83. explorerUC.ShowMyNetwork = true;
  84. explorerUC.ShowMyPictures = true;
  85. explorerUC.View = System.Windows.Forms.View.LargeIcon;
  86. explorerUC.FileSelected += new FileSelectedEventHandler(fileSelected);
  87. explorerUC.DirectorySelected += new FileSelectedEventHandler(dirSelected);
  88. toolPanels.Add(explorerUC);
  89. }
  90.  
  91. private void initSearchUC()
  92. {
  93. searchUC = new SearchMediaUserControl();
  94. searchUC.Dock = DockStyle.Fill;
  95. searchUC.FileSelected += new FileSelectedEventHandler(fileSelected);
  96. searchUC.DirectorySelected += new FileSelectedEventHandler(dirSelected);
  97. toolPanels.Add(searchUC);
  98. }
  99. private void initImageEditor()
  100. {
  101. imageEditor = new ImageEditorUserControl();
  102. imageEditor.AutoScroll = true;
  103. imageEditor.Dock = System.Windows.Forms.DockStyle.Fill;
  104. toolPanels.Add(imageEditor);
  105. }
  106. #endregion
  107.  
  108. #region public methods
  109. public void setMenuStripDock(DockStyle dockStyle)
  110. {
  111. this.mainMenuStrip.Dock = dockStyle;
  112. }
  113. public void openMediaBrowser()
  114. {
  115. cleanToolPannels();
  116. if(currentDirPath!="")searchUC.setPath(currentDirPath);
  117. contentPanel.Controls.Add(searchUC);
  118. }
  119.  
  120. public void openExplorer()
  121. {
  122. cleanToolPannels();
  123. contentPanel.Controls.Add(explorerUC);
  124. }
  125. public void openImageEditor(String fileFullName)
  126. {
  127. if (imageEditor == null)
  128. initImageEditor();
  129. imageEditor.ImageLocation = fileFullName;
  130. cleanToolPannels();
  131. contentPanel.Controls.Add(imageEditor);
  132. }
  133. #endregion
  134.  
  135. #region menu display
  136. private void smallIconsTSMenuItem_Click(object sender, EventArgs e)
  137. {
  138. explorerUC.Display = ExplorerUserControl.FILES_DISPLAY.explorer;
  139. explorerUC.View = System.Windows.Forms.View.SmallIcon;
  140. }
  141.  
  142. private void tileTSMenuItem_Click(object sender, EventArgs e)
  143. {
  144. explorerUC.Display = ExplorerUserControl.FILES_DISPLAY.explorer;
  145. explorerUC.View = System.Windows.Forms.View.Tile;
  146. }
  147.  
  148. private void largeIconsTSMenuItem_Click(object sender, EventArgs e)
  149. {
  150. explorerUC.Display = ExplorerUserControl.FILES_DISPLAY.explorer;
  151. explorerUC.View = System.Windows.Forms.View.LargeIcon;
  152. }
  153.  
  154. private void listTSMenuItem_Click(object sender, EventArgs e)
  155. {
  156. explorerUC.Display = ExplorerUserControl.FILES_DISPLAY.explorer;
  157. explorerUC.View = System.Windows.Forms.View.List;
  158. }
  159.  
  160. private void detailsTSMenuItem_Click(object sender, EventArgs e)
  161. {
  162. explorerUC.Display = ExplorerUserControl.FILES_DISPLAY.explorer;
  163. explorerUC.View = System.Windows.Forms.View.Details;
  164. }
  165.  
  166. private void stripTSMenuItem_Click(object sender, EventArgs e)
  167. {
  168. explorerUC.Display = ExplorerUserControl.FILES_DISPLAY.images;
  169. }
  170.  
  171. private void openStatsAction(object sender, EventArgs e)
  172. {
  173. /*BrolFileStatsForm form = new BrolFileStatsForm();
  174.   form.setStartPath(currentDirPath);
  175.   form.ShowDialog(this);*/
  176. explorerUC.Display = ExplorerUserControl.FILES_DISPLAY.stats;
  177. }
  178. #endregion
  179.  
  180. #region menu tools
  181.  
  182. private void openIconsFormTsMi_Click(object sender, EventArgs e)
  183. {
  184. Shell32IconsForm form = new Shell32IconsForm();
  185. form.Show();
  186. }
  187. private void showMusicTagEditorTsMi_Click(object sender, EventArgs e)
  188. {
  189. MusicTagEditorForm form = new MusicTagEditorForm();
  190. form.Show(this);
  191. }
  192.  
  193. private void openMetaDataFormTsMi_Click(object sender, EventArgs e)
  194. {
  195. be.gaudry.explorer.metadata.view.MainForm form = new be.gaudry.explorer.metadata.view.MainForm();
  196. form.Show();
  197. }
  198. #endregion
  199.  
  200. #region menu file
  201.  
  202.  
  203. private void openPropertyFileTsMi_Click(object sender, EventArgs e)
  204. {
  205. if (!string.Empty.Equals(currentFilePath))
  206. {
  207. FileHelper.openFileProperties(currentFilePath);
  208. }
  209. }
  210.  
  211. private void openPropertiesMessageTsMi_Click(object sender, EventArgs e)
  212. {
  213. if (!string.Empty.Equals(currentFilePath))
  214. {
  215. FileTagHelper.showProperties(currentFilePath, this);
  216. }
  217. }
  218.  
  219. private void openBrolZipTSB_Click(object sender, EventArgs e)
  220. {
  221. BrolZipForm form = new BrolZipForm();
  222. form.setStartPath(currentDirPath);
  223. form.ShowDialog(this);
  224. }
  225. private void openRenamerAction(object sender, EventArgs e)
  226. {
  227. RenamerForm form = new RenamerForm();
  228. form.setStartPath(currentDirPath);
  229. form.ShowDialog(this);
  230. }
  231. private void openSearchPanelAction(object sender, EventArgs e)
  232. {
  233. openMediaBrowser();
  234. }
  235.  
  236. private void openBrowsePanelAction(object sender, EventArgs e)
  237. {
  238. openExplorer();
  239. }
  240.  
  241. private void openImageEditorTSMenuItem_Click(object sender, EventArgs e)
  242. {
  243. if (PluginsManager.PhotoBrolPlugAvailable)
  244. {
  245. OpenFileDialog openFileDialog = new OpenFileDialog();
  246.  
  247. openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures);
  248. openFileDialog.Filter = "Fichiers bitmap (*.bmp)|*.bmp|Fichiers Jpeg (*.jpg)|*.jpg|Toutes les images valides (*.bmp/*.jpg)|*.bmp/*.jpg";
  249. openFileDialog.FilterIndex = 2;
  250. //openFileDialog.RestoreDirectory = true;
  251.  
  252. if (DialogResult.OK == openFileDialog.ShowDialog())
  253. {
  254. openImageEditor(openFileDialog.FileName);
  255. }
  256. }
  257. else
  258. {
  259. MessageBox.Show(
  260. this,
  261. "Le plugin PhotoBrol n'est pas installé. Vous pouvez le télécharger sur l'infobrol.",
  262. "Plugin non installé",
  263. MessageBoxButtons.OK,
  264. MessageBoxIcon.Exclamation
  265. );
  266. }
  267. }
  268.  
  269. private void quitterToolStripMenuItem_Click(object sender, EventArgs e)
  270. {
  271. this.Close();
  272. }
  273.  
  274. private void openDefaultTSMenuItem_Click(object sender, EventArgs e)
  275. {
  276. FileHelper.open(
  277. currentFilePath,
  278. "BrolExplorer"
  279. );
  280. }
  281.  
  282. private void openWithTSMenuItem_Click(object sender, EventArgs e)
  283. {
  284. FileHelper.openWith(
  285. currentFilePath,
  286. "BrolExplorer"
  287. );
  288. }
  289.  
  290. private void openInEditorTSMenuItem_Click(object sender, EventArgs e)
  291. {
  292. if (ImageHelper.isImg(currentFilePath))
  293. {
  294. openImageEditor(currentFilePath);
  295. }
  296. else
  297. MessageBox.Show(
  298. this,
  299. "Aucun éditeur n'est disponible pour l'instant pour ce type de fichier...",
  300. "Editeur de brols",
  301. MessageBoxButtons.OK,
  302. MessageBoxIcon.Stop
  303. );
  304. }
  305.  
  306. #endregion
  307.  
  308. #region menu edit
  309. private void annulerToolStripMenuItem_Click(object sender, EventArgs e)
  310. {
  311. if (contentPanel.Controls.Contains(imageEditor))
  312. {
  313. imageEditor.undo();
  314. }
  315. }
  316.  
  317. private void rétablirToolStripMenuItem_Click(object sender, EventArgs e)
  318. {
  319. if (contentPanel.Controls.Contains(imageEditor))
  320. {
  321. imageEditor.redo();
  322. }
  323. }
  324. #endregion
  325.  
  326. #region misc private methods
  327.  
  328.  
  329. private void explorerCMS_Opening(object sender, CancelEventArgs e)
  330. {
  331. bool fileExists = File.Exists(currentFilePath);
  332. //Console.WriteLine("test : " + currentFilePath);
  333. if (searchUC.Visible)
  334. {
  335. bool enable = searchUC.getResultsCount() > 0;
  336. saveDGVTsMi.Enabled = enable;
  337. printDgvTsMi.Enabled = enable;
  338.  
  339. openDefaultTSMenuItem.Enabled = fileExists && enable;
  340. openInEditorTSMenuItem.Enabled = openDefaultTSMenuItem.Enabled;
  341. openWithTSMenuItem.Enabled = openDefaultTSMenuItem.Enabled;
  342.  
  343. fileNameTsMiTB.Visible = openDefaultTSMenuItem.Enabled;
  344. fileNameTSS.Visible = openDefaultTSMenuItem.Enabled;
  345.  
  346. openPropertyFileCTsMi.Enabled = openDefaultTSMenuItem.Enabled;
  347. openPropertiesMessageCTsMi.Enabled = openDefaultTSMenuItem.Enabled;
  348. }
  349. else
  350. {
  351. openDefaultTSMenuItem.Enabled = fileExists;
  352. openInEditorTSMenuItem.Enabled = fileExists;
  353. openWithTSMenuItem.Enabled = fileExists;
  354.  
  355. fileNameTsMiTB.Visible = fileExists;
  356. fileNameTSS.Visible = fileExists;
  357.  
  358. openPropertiesMessageCTsMi.Enabled = fileExists;
  359. openPropertyFileCTsMi.Enabled = fileExists;
  360. }
  361. dgvTSS.Visible = searchUC.Visible;
  362. saveDGVTsMi.Visible = searchUC.Visible;
  363. printDgvTsMi.Visible = searchUC.Visible;
  364. //Console.WriteLine("test2 : " + currentFilePath);
  365. fileNameTsMiTB.Text = "Fichier sélectionné : " + currentFilePath;// Path.GetFileName(currentFilePath);
  366. /*if (!File.Exists(currentFilePath))
  367.   {
  368.   e.Cancel = true;
  369.   }*/
  370. //else
  371. //{
  372.  
  373.  
  374. //testTSMenuItem.DropDownItems.Clear();
  375. /*
  376.   String mediaTypeStr = Path.GetExtension(currentFilePath).ToUpper();
  377.   String info;
  378.   switch (mediaTypeStr)
  379.   {
  380.   case "DVD":
  381.   case ".AVI":
  382.   case ".MPG":
  383.   case ".MPEG":
  384.   case ".WMV": info="Type vidéo"; break;
  385.  
  386.   case ".MP3":
  387.   case ".WAV": info = "Type audio"; break;
  388.  
  389.   case ".JPEG":
  390.   case ".JPG":
  391.   case ".GIF":
  392.   case ".PNG":
  393.   case ".BMP": info = "Type image"; break;
  394.  
  395.   case ".PDF":
  396.   case ".DOC":
  397.   case ".TXT":
  398.   case ".PPS":
  399.   case ".PPT": info = "Type \"livre\""; break;
  400.   default: info= mediaTypeStr.Replace(".", "Fichier "); break;
  401.   }
  402.   //testTSMenuItem.DropDownItems.Add(info);
  403.   fileInfoTSMenuItem.Text = info;*/
  404. //}
  405. }
  406.  
  407. private void ExplorerForm_Activated(object sender, EventArgs e)
  408. {
  409. setStatusMessage(
  410. "Copyright 2006 BrolDev",
  411. version,
  412. ""
  413. );
  414. }
  415. private void cleanToolPannels()
  416. {
  417. foreach (UserControl ctl in toolPanels)
  418. {
  419. if (contentPanel.Controls.Contains(ctl))
  420. contentPanel.Controls.Remove(ctl);
  421. }
  422. }
  423. private void fileSelected(object sender, String filePath)
  424. {
  425. if(!string.Empty.Equals(filePath)) currentFilePath = filePath;
  426. }
  427. private void dirSelected(object sender, String dirPath)
  428. {
  429. if (!string.Empty.Equals(dirPath)) currentDirPath = dirPath;
  430. }
  431. private void onAbout_Click(object sender, EventArgs e)
  432. {
  433. aboutBox.ShowDialog(this);
  434. }
  435.  
  436. /*private void ExplorerForm_Load(object sender, EventArgs e)
  437.   {
  438.   switch (display)
  439.   {
  440.   case DISPLAY.none: break;
  441.   case DISPLAY.explorer:
  442.   contentPanel.Controls.Add(explorerUC);
  443.   break;
  444.   case DISPLAY.imageEditor:
  445.   contentPanel.Controls.Add(this.imageEditor);
  446.   break;
  447.   case DISPLAY.mediaBrowser:
  448.   contentPanel.Controls.Add(this.searchUC);
  449.   break;
  450.   }
  451.   }*/
  452. #endregion
  453.  
  454. #region dgv methods
  455. private void saveDGVTsMi_Click(object sender, EventArgs e)
  456. {
  457. searchUC.saveBtn_Click(sender, e);
  458. }
  459.  
  460. private void printDGVTsMi_Click(object sender, EventArgs e)
  461. {
  462. searchUC.printBtn_Click(sender, e);
  463. }
  464. #endregion
  465.  
  466.  
  467. #region IMDIChild Members
  468.  
  469. public MenuStrip getMainMenuStrip()
  470. {
  471. return mainMenuStrip;
  472. }
  473.  
  474. #endregion
  475.  
  476.  
  477. }
  478. }

Structure et Fichiers du projet

Afficher/masquer...


Répertoires contenus dans /var/www/bin/sniplets/bibliobrol/brolexplorer/view/ 
IcôneNomTailleModification
IcôneNomTailleModification
| _ Répertoire parent0 octets1727567130 29/09/2024 01:45:30
| _controls0 octets1541007170 31/10/2018 18:32:50
Fichiers contenus dans /var/www/bin/sniplets/bibliobrol/brolexplorer/view/ 
IcôneNomTailleModificationAction
IcôneNomTailleModificationAction
Afficher le fichier .resx|.resxBrolExplorerAboutBox.resx5.68 Ko31/10/2018 18:32:21-refusé-
Afficher le fichier .resx|.resxShell32IconsForm.resx16.57 Ko31/10/2018 18:32:22-refusé-
Afficher le fichier .cs|.csBrolExplorerAboutBox.Designer.cs10.29 Ko31/10/2018 18:32:21-refusé-
Afficher le fichier .cs|.csShell32IconsForm.Designer.cs5.09 Ko31/10/2018 18:32:22-refusé-
Afficher le fichier .cs|.csBrolExplorerAboutBox.cs4.74 Ko31/10/2018 18:32:21-refusé-
Afficher le fichier .resx|.resxExplorerForm.resx49.49 Ko31/10/2018 18:32:22-refusé-
Afficher le fichier .cs|.csExplorerForm.cs16.13 Ko31/10/2018 18:32:22-refusé-
Afficher le fichier .cs|.csExplorerForm.Designer.cs43.45 Ko31/10/2018 18:32:22-refusé-
Afficher le fichier .cs|.csShell32IconsForm.cs1.32 Ko31/10/2018 18:32:22-refusé-

Utilisation de l'explorateur de code

  • Navigation :
    • Un clic sur une icône de répertoire ouvre ce répertoire pour en afficher les fichiers.
    • Lorsque le répertoire en cours ne contient pas de sous-répertoires il est possible de remonter vers le répertoire parent.
    • La structure de répertoires en treetable (tableau en forme d'arborescence) n'est plus possibledans cette version.
    • Un clic sur une icône de fichier ouvre ce fichier pour en afficher le code avec la coloration syntaxique adaptée en fonction du langage principal utilisé dans le fichier.
  • Affichage :
    • Il est possible de trier les répertoires ou les fichiers selon certains critères (nom, taille, date).
  • Actions :
    • Les actions possible sur les fichiers dépendent de vos droits d'utilisateur sur le site. Veuillez activer le mode utilisateur pour activer les actions.

Document créé le 30/10/2009, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/cs-brolexplorer-source-rf-view/ExplorerForm.cs.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.