예제 #1
0
        private bool CanExit()
        {
            this.Cursor = Cursors.Default;

            if (PublishingManager.Instance.Publishing)
            {
                DialogResult dr = MessageBox.Show(
                    TranslationManager.GetManager().Translate("PublishForm.Mbox_Caption.CloseMessage"),
                    TranslationManager.GetManager().Translate("Attention"),
                    MessageBoxButtons.YesNo,
                    MessageBoxIcon.Warning);

                if (dr == DialogResult.Yes)
                {
                    PublishingManager.Instance.Cancel(true, "CANCELED");
                }
                else
                {
                    return(false);
                }
            }

            this.Cursor = this._currentCursor;

            return(true);
        }
예제 #2
0
        public void Translate()
        {
            this.Text = string.Format("{0} ({1} - {2})", TranslationManager.GetManager().Translate("Plugin Data Editor"), this.PluginData.Parent.Product.Name, this.PluginData.Parent.VersionNumber);

            this.tpContent.Text      = TranslationManager.GetManager().Translate("Content");
            this.tpDependencies.Text = TranslationManager.GetManager().Translate("Dependencies");
            this.tpGeneral.Text      = TranslationManager.GetManager().Translate("General");

            this.colContentDestiny.HeaderText     = TranslationManager.GetManager().Translate("Destiny");
            this.colContentName.HeaderText        = TranslationManager.GetManager().Translate("Name");
            this.colContentShared.HeaderText      = TranslationManager.GetManager().Translate("Shared");
            this.colDependencyFilename.HeaderText = TranslationManager.GetManager().Translate("Filename");
            this.colHostDistributionsAllowedDistributions.HeaderText = TranslationManager.GetManager().Translate("Allowed Distributions");
            this.colHostDistributionsMinVersion.HeaderText           = TranslationManager.GetManager().Translate("Min. Version");
            this.colHostDistributionsName.HeaderText = TranslationManager.GetManager().Translate("Name");

            this.gbHostApplications.Text = TranslationManager.GetManager().Translate("Host Applications");

            this.btnBrowse.Text                = TranslationManager.GetManager().Translate("Browse");
            this.btnAddHostApplication.Text    = TranslationManager.GetManager().Translate("Add");
            this.btnEditHostApplication.Text   = TranslationManager.GetManager().Translate("Edit");
            this.btnRemoveHostApplication.Text = TranslationManager.GetManager().Translate("Remove");
            this.btnSave.Text = TranslationManager.GetManager().Translate("Save");

            this.lblCaptionDescription.Text = string.Format("{0}:", TranslationManager.GetManager().Translate("Description"));
            this.lblCaptionName.Text        = string.Format("{0}:", TranslationManager.GetManager().Translate("Name"));
            this.lblCaptionProductId.Text   = string.Format("{0}:", TranslationManager.GetManager().Translate("Product Id"));
            this.lblCaptionVersion.Text     = string.Format("{0}:", TranslationManager.GetManager().Translate("Version"));

            this.tsbAddDependency.Text            = TranslationManager.GetManager().Translate("Add dependency");
            this.tsbRemoveSelectedDependency.Text = TranslationManager.GetManager().Translate("Remove selected dependency");
            this.tsbAddContent.Text            = TranslationManager.GetManager().Translate("Add content");
            this.tsbRemoveSelectedContent.Text = TranslationManager.GetManager().Translate("Remove selected content");
        }
예제 #3
0
        private void OnPublishCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            this.SendEmail();

            if (!e.Cancelled && e.Error == null)
            {
                MessageBox.Show(
                    TranslationManager.GetManager().Translate("PublishForm.Mbox_Caption.OperationSuccessful"),
                    TranslationManager.GetManager().Translate("Attention"),
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Information);
            }
            else if (e.Error != null && e.Error is PublishingException)
            {
                MessageBox.Show(
                    TranslationManager.GetManager().Translate("PublishForm.Mbox_Caption.OperationFinishedWithErrors"),
                    TranslationManager.GetManager().Translate("Attention"),
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Warning);
            }

            this.btnAction.Text             = this.btnAction.Text = TranslationManager.GetManager().Translate("Close");
            this.colReleaseVersion.ReadOnly = true;
            this.colCreatePatch.ReadOnly    = true;
            this.btnAction.Enabled          = true;
            this.dgvPublishVersions.Enabled = true;
            this.Cursor = Cursors.Default;
            this._publicationCompleted = true;
        }
예제 #4
0
        private void tvContent_AfterCheck(object sender, TreeViewEventArgs e)
        {
            if (e.Node is DirectoryTreeNode && !this._checkingNode)
            {
                DialogResult dr =
                    MessageBox.Show(
                        TranslationManager.GetManager().Translate("AddContentForm.Mbox_Caption.CheckUncheck"),
                        TranslationManager.GetManager().Translate("Atention"),
                        MessageBoxButtons.YesNo,
                        MessageBoxIcon.Exclamation);

                if (dr == DialogResult.Yes)
                {
                    this._checkingNode          = true;
                    this.tvContent.BeforeCheck -= tvContent_BeforeCheck;

                    foreach (TreeNode node in e.Node.Nodes)
                    {
                        node.Checked = e.Node.Checked;
                    }

                    this.tvContent.BeforeCheck += tvContent_BeforeCheck;
                    this._checkingNode          = false;
                }

                this._changed = true;
            }
        }
예제 #5
0
        private void LoadLanguagesCombobox()
        {
            this.cbLanguage.SelectedIndexChanged -= new System.EventHandler(this.cbLanguage_SelectedIndexChanged);

            this.cbLanguage.DataSource = null;

            Dictionary <int, string> languages = new Dictionary <int, string>();

            foreach (int code in TranslationManager.LanguageCodes.Keys)
            {
                languages.Add(code, TranslationManager.GetManager().Translate(TranslationManager.LanguageCodes[code]));
            }

            this.cbLanguage.DataSource    = new BindingSource(languages, null);
            this.cbLanguage.DisplayMember = "Value";
            this.cbLanguage.ValueMember   = "Key";

            foreach (KeyValuePair <int, string> value in this.cbLanguage.Items)
            {
                if (value.Key == this.GeneralOptions.Language)
                {
                    this.cbLanguage.SelectedItem = value;
                }
            }

            this.cbLanguage.SelectedIndexChanged += new System.EventHandler(this.cbLanguage_SelectedIndexChanged);
        }
예제 #6
0
        public void Translate()
        {
            if (this._isEditor)
            {
                this.Text                      = string.Format("{0} ({1})", TranslationManager.GetManager().Translate("Beta Data Editor"), this.BetaData.Name);
                this.btnAction.Text            = TranslationManager.GetManager().Translate("Save");
                this.gbDependencyProducts.Text = TranslationManager.GetManager().Translate("Dependency Products");
            }
            else
            {
                this.Text                      = TranslationManager.GetManager().Translate("Beta Creator");
                this.btnAction.Text            = TranslationManager.GetManager().Translate("Create");
                this.gbDependencyProducts.Text = TranslationManager.GetManager().Translate("Products");
            }

            this.tpGeneral.Text = TranslationManager.GetManager().Translate("General");

            this.btnBrowse.Text = TranslationManager.GetManager().Translate("Browse");
            this.btnUp.Text     = TranslationManager.GetManager().Translate("MoveUp");
            this.btnDown.Text   = TranslationManager.GetManager().Translate("MoveDown");
            this.btnRemove.Text = TranslationManager.GetManager().Translate("Remove");

            this.lblCaptionName.Text         = string.Format("{0}:", TranslationManager.GetManager().Translate("Name"));
            this.lblSelectedProducts.Text    = TranslationManager.GetManager().Translate("Selected products");
            this.lblSelectProductsBelow.Text = TranslationManager.GetManager().Translate("Select products below");

            this.tsbNewFile.Text    = TranslationManager.GetManager().Translate("New BetaData File");
            this.tsbOpenFile.Text   = TranslationManager.GetManager().Translate("Open BetaData File");
            this.tsbSaveFileAs.Text = TranslationManager.GetManager().Translate("Save BetaData File As");
            this.tsbSaveFile.Text   = TranslationManager.GetManager().Translate("Save BetaData File");
            this.tsbClose.Text      = TranslationManager.GetManager().Translate("Close");
            this.tsbFile.Text       = TranslationManager.GetManager().Translate("File");
            this.tsbTools.Text      = TranslationManager.GetManager().Translate("Tools");
            this.tsbOptions.Text    = TranslationManager.GetManager().Translate("Options");
        }
예제 #7
0
        private bool CheckForChanges()
        {
            if (this.HasChanges)
            {
                DialogResult dr = MessageBox.Show(
                    TranslationManager.GetManager().Translate("BetaDataEditorForm.Mbox_Caption.HasChanges"),
                    TranslationManager.GetManager().Translate("Attention"),
                    MessageBoxButtons.YesNoCancel,
                    MessageBoxIcon.Question);

                if (dr == DialogResult.Yes)
                {
                    if (this.NewBetaDataFile)
                    {
                        this.SaveAs();
                    }
                    else
                    {
                        this.Save();
                    }
                }
                else if (dr == DialogResult.Cancel)
                {
                    return(false);
                }
            }

            return(true);
        }
예제 #8
0
        private void bntAction_Create_Click(object sender, System.EventArgs e)
        {
            DialogResult dr;

            if (this.BetaData.DependencyProducts.Count == 0)
            {
                dr = MessageBox.Show(
                    TranslationManager.GetManager().Translate("BetaDataEditorForm.Mbox_Caption.MustHaveAtLeastOneProductSelected"),
                    TranslationManager.GetManager().Translate("Error"),
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error);

                return;
            }

            if (!this.CheckForChanges())
            {
                return;
            }

            FolderBrowserDialog folderDialog = new FolderBrowserDialog();

            dr = folderDialog.ShowDialog();

            if (dr != DialogResult.OK)
            {
                return;
            }

            string message = string.Empty;

            this.Cursor = Cursors.WaitCursor;
            Dictionary <DependencyProduct, string> betaNames = this.CreateBeta(folderDialog.SelectedPath, out message);

            this.Cursor = Cursors.Default;

            if (betaNames.Count > 0)
            {
                foreach (DependencyProduct dependencyproduct in betaNames.Keys)
                {
                    SVNManager.Instance.DeleteBeta(dependencyproduct.Name, dependencyproduct.Version, betaNames[dependencyproduct]);
                }

                MessageBox.Show(
                    TranslationManager.GetManager().Translate("Operation Successful"),
                    TranslationManager.GetManager().Translate("Attention"),
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show(
                    TranslationManager.GetManager().Translate("Operation Failed", message),
                    TranslationManager.GetManager().Translate("Attention"),
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error);
            }
        }
예제 #9
0
        public static void Initialize()
        {
            Assembly assembly = Assembly.GetAssembly(typeof(Launcher));

            OptionsManager.GetManager().Initialize(Launcher.OPTIONS_PATH, assembly);
            int currentLanguage = (OptionsManager.GetManager().OptionsCollection["GeneralOptions"] as GeneralOptions).Language;

            TranslationManager.GetManager().Initialize(Launcher.TRANSLATIONS_PATH, currentLanguage);
        }
예제 #10
0
        public override void Translate()
        {
            base.Translate();

            this.txtExecutablePath.Text = TranslationManager.GetManager().Translate("Executable Path");
            this.txtInstallPath.Text    = TranslationManager.GetManager().Translate("Install Path");
            this.txtLocalMediaPath.Text = TranslationManager.GetManager().Translate("Local Media Path");
            this.txtBetasPath.Text      = TranslationManager.GetManager().Translate("Betas Path");
            this.lblEmail.Text          = TranslationManager.GetManager().Translate("Email");
        }
예제 #11
0
 private void InitControlsWithoutParent()
 {
     this.msMenu.Visible      = true;
     this.tcBetaData.Location = new System.Drawing.Point(11, 35);
     this.tcBetaData.Size     = new System.Drawing.Size(670, 381);
     this.lblValueName.Text   = TranslationManager.GetManager().Translate("None");
     this.btnBrowse.Visible   = false;
     this.btnAction.Click    += this.bntAction_Create_Click;
     this._betaData.DependencyProducts.ListChanged += DependencyProducts_ListChanged;
 }
예제 #12
0
        private void Translate()
        {
            this.Text           = TranslationManager.GetManager().Translate("Options");
            this.btnCancel.Text = TranslationManager.GetManager().Translate("Cancel");

            foreach (OptionsTreeNode node in this.tvOptions.Nodes)
            {
                node.Text = TranslationManager.GetManager().Translate(node.Name);
                node.Options.OptionsContainer.Translate();
            }
        }
예제 #13
0
        private static void InitializeManagers()
        {
            Assembly assembly = Assembly.GetAssembly(typeof(Application));

            OptionsManager.GetManager().Initialize(Application.OPTIONS_PATH, assembly);

            int currentLanguage = (OptionsManager.GetManager().OptionsCollection["GeneralOptions"] as GeneralOptions).Language;

            TranslationManager.GetManager().Initialize(Application.TRANSLATIONS_PATH, currentLanguage);

            PerformanceManager.Instance.Initialize();
        }
예제 #14
0
 private void tsmPublish_Click(object sender, System.EventArgs e)
 {
     if (this.SelectedNodes.Count == 0)
     {
         MessageBox.Show(
             TranslationManager.GetManager().Translate("MainForm.Mbox_Caption.AtLeastOneVersion"),
             TranslationManager.GetManager().Translate("Attention"),
             MessageBoxButtons.OK,
             MessageBoxIcon.Asterisk);
     }
     else
     {
         this.Publish();
     }
 }
예제 #15
0
        public void Translate()
        {
            this.Text = TranslationManager.GetManager().Translate("Publish");

            this.cbSaveLocalMediaCopy.Text = TranslationManager.GetManager().Translate("Save Local Media Copy");

            this.gbGeneral.Text = TranslationManager.GetManager().Translate("General");
            this.gbPlugins.Text = TranslationManager.GetManager().Translate("Plugins");

            this.colMessage.HeaderText        = TranslationManager.GetManager().Translate("Message");
            this.colVersionName.HeaderText    = TranslationManager.GetManager().Translate("Version");
            this.colReleaseVersion.HeaderText = TranslationManager.GetManager().Translate("New Version");
            this.colCreatePatch.HeaderText    = TranslationManager.GetManager().Translate("Create Patch");
            this.btnAction.Text = TranslationManager.GetManager().Translate("Publish");
        }
예제 #16
0
        private void Cancel(string message)
        {
            if (this._publishing)
            {
                DialogResult dr = MessageBox.Show(
                    TranslationManager.GetManager().Translate("PublishingManager.Mbox_Caption.CancelAll"),
                    TranslationManager.GetManager().Translate("Attention"),
                    MessageBoxButtons.YesNo,
                    MessageBoxIcon.Warning);

                if (dr == DialogResult.Yes)
                {
                    this.Cancel(true, message);
                }
            }
        }
예제 #17
0
        public void Translate()
        {
            this.tsbCreateBetas.Text      = TranslationManager.GetManager().Translate("Create Selected Versions Betas");
            this.tsbCreateTestBetas.Text  = TranslationManager.GetManager().Translate("Create Selected Test Betas");
            this.tsbCreateCustomBeta.Text = TranslationManager.GetManager().Translate("Create Custom Beta");

            this.tsbBetas.Text = TranslationManager.GetManager().Translate("Betas");

            this.tsbPublish.Text = TranslationManager.GetManager().Translate("Publish");

            this.tsbInstall.Text = TranslationManager.GetManager().Translate("Install");

            this.tsbOptions.Text = TranslationManager.GetManager().Translate("Options");

            this.Refresh();
        }
예제 #18
0
 private void dgvPublishVersions_DataError(object sender, DataGridViewDataErrorEventArgs e)
 {
     if (e.Exception is System.ArgumentException)
     {
         MessageBox.Show(
             TranslationManager.GetManager().Translate("ArgumentException", TranslationManager.GetManager().Translate(e.Exception.Message)),
             TranslationManager.GetManager().Translate("Error"),
             MessageBoxButtons.OK,
             MessageBoxIcon.Error);
     }
     else if (e.Exception is System.InvalidOperationException)
     {
         MessageBox.Show(
             TranslationManager.GetManager().Translate(e.Exception.Message),
             TranslationManager.GetManager().Translate("Error"),
             MessageBoxButtons.OK,
             MessageBoxIcon.Error);
     }
 }
예제 #19
0
        private void tvDependencies_AfterCheck(object sender, TreeViewEventArgs e)
        {
            if (e.Node is DirectoryTreeNode && !this._checkingNode)
            {
                DialogResult dr =
                    MessageBox.Show(
                        TranslationManager.GetManager().Translate("AddDependencyForm.Mbox_Caption.CheckUncheck"),
                        TranslationManager.GetManager().Translate("Atention"),
                        MessageBoxButtons.YesNo,
                        MessageBoxIcon.Exclamation);

                if (dr == DialogResult.Yes)
                {
                    this._checkingNode = true;

                    this.tvDependencies.BeforeCheck -= tvDependencies_BeforeCheck;

                    foreach (TreeNode node in e.Node.Nodes)
                    {
                        node.Checked = e.Node.Checked;
                    }

                    this._checkingNode = false;

                    this.tvDependencies.BeforeCheck += tvDependencies_BeforeCheck;
                }
            }

            if (e.Node is DependencyAssemblyTreeNode)
            {
                DependencyAssembly dependencyAssembly = (e.Node as DependencyAssemblyTreeNode).DependencyAssembly;

                if (e.Node.Checked && !this.PluginData.DependencyAssemblies.Contains(dependencyAssembly))
                {
                    this.PluginData.DependencyAssemblies.Add(dependencyAssembly);
                }
                else if (!e.Node.Checked && this.PluginData.DependencyAssemblies.Contains(dependencyAssembly))
                {
                    this.PluginData.DependencyAssemblies.Remove(dependencyAssembly);
                }
            }
        }
예제 #20
0
        private void btnRemoveHostApplication_Click(object sender, EventArgs e)
        {
            DialogResult dr =
                MessageBox.Show(
                    TranslationManager.GetManager().Translate("PluginDataEditorForm.Mbox_Caption.RemoveSelectedHostApplications"),
                    TranslationManager.GetManager().Translate("Attention"),
                    MessageBoxButtons.YesNo,
                    MessageBoxIcon.Exclamation);

            if (dr != DialogResult.Yes)
            {
                return;
            }

            List <DataGridViewRow> rowsToRemove = new List <DataGridViewRow>();

            foreach (DataGridViewRow row in this.dgvHostApplications.Rows)
            {
                if (row.Index == -1)
                {
                    continue;
                }

                if (row.Cells[0] != null && row.Cells[0].Value != null && Convert.ToBoolean(row.Cells[0].Value))
                {
                    rowsToRemove.Add(row);
                }
            }

            foreach (DataGridViewRow row in rowsToRemove)
            {
                this.dgvHostApplications.Rows.Remove(row);
            }

            this.dgvHostApplications.Update();
            this.UpdateControls();

            this.btnRemoveHostApplication.Enabled = false;
        }
예제 #21
0
        private void TryOpenProductsManager()
        {
            string executablePath = (OptionsManager.GetManager().OptionsCollection["GeneralOptions"] as GeneralOptions).ProductsManagerExecutablePath;

            if (!System.IO.File.Exists(executablePath))
            {
                DialogResult dr = MessageBox.Show(
                    TranslationManager.GetManager().Translate("PluginDataEditorForm.Mbox_Caption.ProductsManagerExecutableInvalid"),
                    TranslationManager.GetManager().Translate("Attention"),
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Asterisk);

                if (OptionsManager.GetManager().Form.ShowDialog() == DialogResult.OK)
                {
                    TryOpenProductsManager();
                }
            }
            else
            {
                Process.Start((OptionsManager.GetManager().OptionsCollection["GeneralOptions"] as GeneralOptions).ProductsManagerExecutablePath);
            }
        }
예제 #22
0
        private void CreateBetas()
        {
            FolderBrowserDialog folderDialog = new FolderBrowserDialog();
            DialogResult        dr           = folderDialog.ShowDialog();

            if (dr != DialogResult.OK)
            {
                return;
            }
            Dictionary <PluginVersion, string> betasPaths = new Dictionary <PluginVersion, string>();

            foreach (PluginVersionTreeNode node in this.SelectedNodes)
            {
                betasPaths.Add(node.PluginVersion, (node.PluginVersion as PluginVersion).CreateBeta(folderDialog.SelectedPath, false));
            }

            MessageBox.Show(
                TranslationManager.GetManager().Translate("MainForm.Mbox_Caption.BetaCreationSuccessful"),
                TranslationManager.GetManager().Translate("Attention"),
                MessageBoxButtons.OK,
                MessageBoxIcon.Information);
        }
예제 #23
0
        private void btnBrowse_Click(object sender, System.EventArgs e)
        {
            FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog();

            folderBrowserDialog.SelectedPath = this.txtLocalMediaPath.Text;
            DialogResult dr = folderBrowserDialog.ShowDialog();

            if (dr == DialogResult.OK)
            {
                DialogResult save = MessageBox.Show(
                    TranslationManager.GetManager().Translate("PublishForm.Mbox_Caption.SaveLocalMediaPathToOptions"),
                    TranslationManager.GetManager().Translate("Attention"),
                    MessageBoxButtons.YesNo,
                    MessageBoxIcon.Asterisk);

                if (save == DialogResult.Yes)
                {
                    PublishOptions.LocalMediaPath = folderBrowserDialog.SelectedPath;
                    PublishOptions.Save();
                }

                this.txtLocalMediaPath.Text = folderBrowserDialog.SelectedPath;
            }
        }
예제 #24
0
        private void btnBrowseFolder_Click(object sender, EventArgs e)
        {
            this.Cursor = Cursors.WaitCursor;

            if (System.IO.File.Exists(this.PluginData.Path))
            {
                Process.Start(System.IO.Path.GetDirectoryName(this.PluginData.Path));
            }
            else
            {
                DialogResult drProductsManager = MessageBox.Show(
                    TranslationManager.GetManager().Translate("PluginDataEditorForm.Mbox_Caption.LocalFolderNotFound"),
                    TranslationManager.GetManager().Translate("Attention"),
                    MessageBoxButtons.YesNo,
                    MessageBoxIcon.Asterisk);

                if (drProductsManager == DialogResult.Yes)
                {
                    this.TryOpenProductsManager();
                }
            }

            this.Cursor = Cursors.Default;
        }
예제 #25
0
 public void Translate()
 {
     this.Text = TranslationManager.GetManager().Translate("Message");
 }
예제 #26
0
 private void Init()
 {
     this.Load += BetaDataEditorForm_Load;
     TranslationManager.GetManager().OnCurrentLanguageChanged += TranslationManager_OnCurrentLanguageChanged;
 }
예제 #27
0
 private void Init()
 {
     TranslationManager.GetManager().OnCurrentLanguageChanged += TranslationManager_OnCurrentLanguageChanged;
     this.Load += OptionsForm_Load;
 }
예제 #28
0
 public override void Translate()
 {
     base.Translate();
     this.lblLanguage.Text = TranslationManager.GetManager().Translate("Language");
     this.LoadLanguagesCombobox();
 }
예제 #29
0
 public override void Translate()
 {
     base.Translate();
     this.txtProductsManagerExecutablePath.Text = TranslationManager.GetManager().Translate("Products Manager Executable Path");
     this.lblLanguage.Text = TranslationManager.GetManager().Translate("Language");
 }
예제 #30
0
 private void cbLanguage_SelectedIndexChanged(object sender, System.EventArgs e)
 {
     this.GeneralOptions.Language = (int)this.cbLanguage.SelectedValue;
     TranslationManager.GetManager().CurrentLanguage = this.GeneralOptions.Language;
     this.Translate();
 }