private void btnViewAssets_Click(object sender, EventArgs e)
        {
            frmPackageAssets frmAssets = new frmPackageAssets(Package, true);

            frmAssets.NonVisibleRootDir = Package.XMLDirectory;
            frmAssets.ShowDialog(this);
        }
        private void btnEditAssets_Click(object sender, EventArgs e)
        {
            string _namespace = MethodBase.GetCurrentMethod().ToLogFormatFullName();

            if (cboxImplicit.Checked)
            {
                folderBrowserDialog.SelectedPath = string.Empty;
                DialogResult dResult = folderBrowserDialog.ShowDialog(this);
                if (dResult == DialogResult.Cancel)
                {
                    return;
                }
                if (!Directory.Exists(folderBrowserDialog.SelectedPath))
                {
                    Helper.ShowMessageBox(MessageBoxStrings.GUI.frmPropPack.INVALID_DIR, MessageBoxStrings.MESSAGEBOX_NAME, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                if (ViewImplicitDir(folderBrowserDialog.SelectedPath) == DialogResult.Cancel)
                {
                    return;
                }

                txtAssetDir.Text        = folderBrowserDialog.SelectedPath;
                btnViewAssetDir.Enabled = true;
                if (StartupDone)
                {
                    MadeChanges = true;
                }
                ProcessLicenseAndImplicitDirCommonPath();
            }
            else
            {
                if (CustomAssetPack == null)
                {
                    CustomAssetPack = new RMPackage();
                }
                frmPackageAssets packageAssetsForm = new frmPackageAssets(CustomAssetPack, false);

                DialogResult dResult = packageAssetsForm.ShowDialog(this);

                if (dResult == DialogResult.Cancel)
                {
                    return;
                }
                CustomAssetPack = packageAssetsForm.PackageOfCollections;
                if (StartupDone)
                {
                    MadeChanges = true;
                }
                ProcessCustomAssetsCommonPath(_namespace);
            }
        }
        DialogResult ViewImplicitDir(string path)
        {
            RMPackage temppackage = new RMPackage();

            temppackage.Name = "Package Manager Probe";
            string      _namespace = MethodBase.GetCurrentMethod().ToLogFormatFullName();
            LogDataList log        = null;

            frmLoading loadingForm = new frmLoading(StringConst.frmLoading.RETRIEVING_ASSETS_DIR + path + ".");
            bool       cancel      = false;
            Thread     thread      = new Thread(delegate()
            {
                try
                {
                    RMImplicit.RetrievePackFromDir(path, _namespace, false, out log, ref temppackage);
                }
                catch (Exception ex)
                {
                    Helper.ShowMessageBox(MessageBoxStrings.GUI.frmPropPack.UNABLE_RETRIEVE_PACK, MessageBoxStrings.MESSAGEBOX_NAME, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    Logger.WriteErrorLog(LoggerMessages.GUI.frmPropPack.Error.UnableRetrievePack(path), _namespace, ex, BasicDebugLogger.DebugErrorType.Error);
                    cancel = true;
                    loadingForm.SafeClose();
                    return;
                }
                loadingForm.SafeClose();
            });

            thread.Start();
            loadingForm.ShowDialog();

            if (cancel)
            {
                return(DialogResult.Cancel);
            }

            if (log != null && log.HasErrorsOrWarnings())
            {
                Helper.ShowMessageBox(MessageBoxStrings.General.HAS_ERRORS_WARNINGS, MessageBoxStrings.MESSAGEBOX_NAME, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                frmLogger loggerForm = new frmLogger(_logList: log);
                loggerForm.StartPosition = FormStartPosition.CenterParent;
                loggerForm.ShowDialog();
            }

            frmPackageAssets packageAssetsForm = new frmPackageAssets(temppackage, true);

            return(packageAssetsForm.ShowDialog(this));
        }