コード例 #1
0
        // will be called whenever a user check a check button of a folder in tvwFolders
        protected void tvwFolders_AfterCheck(object sender, TreeViewEventArgs e)
        {
            SetStatusModified();

            EventHandlerManager.PauseAllEventHandlers();
            {
                tvwFoldersManager.UpdateCheckStates(e.Node);

                CheckState checkState = lvwFilesManager.UpdateCheckStates();

                chkSelectAll.CheckState = checkState;
            }
            EventHandlerManager.ResumeAllEventHandlers();
        }
コード例 #2
0
        protected void chkSelectAll_CheckedChanged(object sender, EventArgs e)
        {
            SetStatusModified();

            EventHandlerManager.PauseAllEventHandlers();
            {
                if (chkSelectAll.CheckState != CheckState.Indeterminate)
                {
                    lvwFilesManager.SetAllCheckStates(chkSelectAll.Checked);
                }

                tvwFoldersManager.UpdateParentCheckStates(tvwFolders.SelectedNode, chkSelectAll.Checked);
            }
            EventHandlerManager.ResumeAllEventHandlers();
        }
コード例 #3
0
        protected void lvwFiles_ItemChecked(object sender, ItemCheckedEventArgs e)
        {
            SetStatusModified();

            EventHandlerManager.PauseAllEventHandlers();
            {
                lvwFilesManager.UpdateItemCheckState(e.Item);

                CheckState checkState = lvwFilesManager.IsAllItemsChecked();

                chkSelectAll.CheckState = checkState;

                tvwFoldersManager.UpdateParentCheckStates(tvwFolders.SelectedNode, e.Item.Checked);
            }
            EventHandlerManager.ResumeAllEventHandlers();
        }
コード例 #4
0
        protected void tvwFolders_AfterSelect(object sender, TreeViewEventArgs e)
        {
            EventHandlerManager.PauseAllEventHandlers();
            {
                // show file list in the selected folder
                string path = tvwFoldersManager.GetPath(e.Node);

                txtPath.Text = path;                              // show the path of selected folder

                bool hasFiles = lvwFilesManager.SetItems(e.Node); // show files on lvwFiles

                splitContainer1.Panel2.Enabled = hasFiles;        // lvwFiles and chkSelectAll are enabled only one of more files are existed in the selected folder

                CheckState checkState = lvwFilesManager.IsAllItemsChecked();

                chkSelectAll.CheckState = checkState;
            }
            EventHandlerManager.ResumeAllEventHandlers();
        }
コード例 #5
0
        /// <summary>
        /// Initialize this program
        /// </summary>
        /// <param name="e"></param>
        protected override void OnShown(EventArgs e)
        {
            base.OnShown(e);

            EventHandlerManager.AddEventHandler(tvwFolders, "AfterCheck", this, "tvwFolders_AfterCheck");
            EventHandlerManager.AddEventHandler(tvwFolders, "AfterSelect", this, "tvwFolders_AfterSelect");
            EventHandlerManager.AddEventHandler(lvwFiles, "ItemChecked", this, "lvwFiles_ItemChecked");
            EventHandlerManager.AddEventHandler(chkSelectAll, "CheckedChanged", this, "chkSelectAll_CheckedChanged");

            tvwFoldersManager = new FolderTreeViewManager(tvwFolders);
            lvwFilesManager   = new FileListViewManager(lvwFiles, colName, colType, colSize);

            // initialize the title message of the form
            _defaultMainFormText = Text;
            SetMessageToMainFormText("");

            // initialize the status strip bar
            lblStatusStrip.Text = "";

            // restrict file types that this app can open
            dlgOpenFile.Filter = "SpaceSniffer export file|*." + _txtExtention + "|FileListExporter File|*." + _fileListExtention;

            // show file open dialog
            DialogResult result = dlgOpenFile.ShowDialog();

            // if a file is selected:
            if (result == DialogResult.OK)
            {
                fileListExporterFile.SetFilePath(dlgOpenFile.FileName);

                // if a txt file(SpaceSniffer export filer) is selected:
                if (fileListExporterFile.FileExtention == _txtExtention)
                {
                    SetStatusLoading(dlgOpenFile.FileName);

                    // try to load the selected txt file
                    _fileHierarchies = spaceSnifferFile.LoadTxtFile(dlgOpenFile.FileName);

                    // if the file hierarchies are successfully loaded:
                    if (_fileHierarchies != null)
                    {
                        SetStatusLoaded(dlgOpenFile.FileName);

                        // show FileListExporter file save dialog
                        if (ShowSaveFileDialog(fileListExporterFile.FileDirectory, fileListExporterFile.FileNameBody))
                        {
                            SetStatusSaving(fileListExporterFile.FilePath);

                            fileListExporterFile.SaveFile(_fileHierarchies.GetRootFolders());

                            SetMessageToMainFormText(fileListExporterFile.FilePath);

                            SetStatusSaved(fileListExporterFile.FilePath);

                            SetStatusFoldersLoading();

                            EventHandlerManager.PauseAllEventHandlers();
                            {
                                tvwFoldersManager.SetFileHierarchies(_fileHierarchies);
                            }
                            EventHandlerManager.ResumeAllEventHandlers();

                            SetStatusFoldersLoaded();
                        }
                        // if a user gave up to proceed:
                        else
                        {
                            // close the program
                            Dispose();
                        }
                    }
                    else
                    {
                        // close the program
                        Dispose();
                    }
                }
                // if a FileListExporter file is selected:
                else if (fileListExporterFile.FileExtention == _fileListExtention)
                {
                    fileListExporterFile.SetFilePath(dlgOpenFile.FileName);

                    SetStatusLoading(fileListExporterFile.FilePath);

                    _fileHierarchies = fileListExporterFile.LoadFile();

                    // if the file hierarchies are successfully loaded:
                    if (_fileHierarchies != null)
                    {
                        SetStatusLoaded(fileListExporterFile.FilePath);

                        SetMessageToMainFormText(fileListExporterFile.FilePath);

                        tvwFoldersManager.SetFileHierarchies(_fileHierarchies);
                    }
                    else
                    {
                        // close the program
                        Dispose();
                    }
                }
                else
                {
                    // close the program
                    MessageBox.Show("Please select a file with these types only: " + dlgOpenFile.Filter);
                    Dispose();
                }
            }
            // if canceled:
            else
            {
                // close the app
                Dispose();
            }
        }