diff --git a/Pilz.Updating.Administration.GUI/ApplicationVersionInput.cs b/Pilz.Updating.Administration.GUI/ApplicationVersionInput.cs deleted file mode 100644 index 15a6c1b..0000000 --- a/Pilz.Updating.Administration.GUI/ApplicationVersionInput.cs +++ /dev/null @@ -1,74 +0,0 @@ -using System; -using Telerik.WinControls.UI; - -namespace Pilz.Updating.Administration.GUI; - -public partial class ApplicationVersionInput -{ - - // C o n s t r u c t o r s - - public ApplicationVersionInput() - { - InitializeComponent(); - - // Init Channel-ComboBox - radDropDownList_Channel.Items.Add(new RadListDataItem() { Text = My.Resources.UpdatingAdministrationLangRes.Channel_Stable, Tag = Channels.Stable }); - radDropDownList_Channel.Items.Add(new RadListDataItem() { Text = My.Resources.UpdatingAdministrationLangRes.Channel_PreRelease, Tag = Channels.PreRelease }); - radDropDownList_Channel.Items.Add(new RadListDataItem() { Text = My.Resources.UpdatingAdministrationLangRes.Channel_Beta, Tag = Channels.Beta }); - radDropDownList_Channel.Items.Add(new RadListDataItem() { Text = My.Resources.UpdatingAdministrationLangRes.Channel_Alpha, Tag = Channels.Alpha }); - radDropDownList_Channel.SelectedIndex = 0; - } - - // P r o p e r t i e s - - public Version Version - { - get - { - return new Version(radTextBoxControl_Version.Text.Trim()); - } - - set - { - radTextBoxControl_Version.Text = value.ToString(); - } - } - - public Channels Channel - { - get - { - return (Channels)radDropDownList_Channel.SelectedItem.Tag; - } - - set - { - foreach (var ci in radDropDownList_Channel.Items) - { - if ((Channels)ci.Tag == value) - { - radDropDownList_Channel.SelectedItem = ci; - } - } - } - } - - public int Build - { - get - { - return (int)Math.Round(radSpinEditor_Build.Value); - } - - set - { - radSpinEditor_Build.Value = value; - } - } - - private void radButton_Accept_Click(object sender, EventArgs e) - { - - } -} \ No newline at end of file diff --git a/Pilz.Updating.Administration.GUI/ApplicationVersionInput.Designer.cs b/Pilz.Updating.Administration.GUI/PackageMetaEditor.Designer.cs similarity index 99% rename from Pilz.Updating.Administration.GUI/ApplicationVersionInput.Designer.cs rename to Pilz.Updating.Administration.GUI/PackageMetaEditor.Designer.cs index a40f816..6122f78 100644 --- a/Pilz.Updating.Administration.GUI/ApplicationVersionInput.Designer.cs +++ b/Pilz.Updating.Administration.GUI/PackageMetaEditor.Designer.cs @@ -7,7 +7,7 @@ using Microsoft.VisualBasic.CompilerServices; namespace Pilz.Updating.Administration.GUI { [DesignerGenerated()] - public partial class ApplicationVersionInput : Telerik.WinControls.UI.RadForm + public partial class PackageMetaEditor : Telerik.WinControls.UI.RadForm { // Form overrides dispose to clean up the component list. @@ -36,7 +36,7 @@ namespace Pilz.Updating.Administration.GUI [DebuggerStepThrough()] private void InitializeComponent() { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ApplicationVersionInput)); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PackageMetaEditor)); this.radLabel1 = new Telerik.WinControls.UI.RadLabel(); this.radLabel2 = new Telerik.WinControls.UI.RadLabel(); this.radLabel3 = new Telerik.WinControls.UI.RadLabel(); diff --git a/Pilz.Updating.Administration.GUI/PackageMetaEditor.cs b/Pilz.Updating.Administration.GUI/PackageMetaEditor.cs new file mode 100644 index 0000000..6a44bde --- /dev/null +++ b/Pilz.Updating.Administration.GUI/PackageMetaEditor.cs @@ -0,0 +1,51 @@ +using System; +using Telerik.WinControls.UI; + +namespace Pilz.Updating.Administration.GUI; + +public partial class PackageMetaEditor +{ + // C o n s t r u c t o r s + + public PackageMetaEditor() + { + InitializeComponent(); + + // Init Channel-ComboBox + radDropDownList_Channel.Items.Add(new RadListDataItem(My.Resources.UpdatingAdministrationLangRes.Channel_Stable, Channels.Stable)); + radDropDownList_Channel.Items.Add(new RadListDataItem(My.Resources.UpdatingAdministrationLangRes.Channel_PreRelease, Channels.PreRelease)); + radDropDownList_Channel.Items.Add(new RadListDataItem(My.Resources.UpdatingAdministrationLangRes.Channel_Beta, Channels.Beta)); + radDropDownList_Channel.Items.Add(new RadListDataItem(My.Resources.UpdatingAdministrationLangRes.Channel_Alpha, Channels.Alpha)); + radDropDownList_Channel.SelectedIndex = 0; + } + + // P r o p e r t i e s + + public Version Version + { + get => new(radTextBoxControl_Version.Text.Trim()); + set => radTextBoxControl_Version.Text = value.ToString(); + } + + public Channels Channel + { + get => (Channels)radDropDownList_Channel.SelectedItem.Value; + set => radDropDownList_Channel.SelectedValue = value; + } + + public int Build + { + get => (int)Math.Round(radSpinEditor_Build.Value); + set => radSpinEditor_Build.Value = value; + } + + public string Packagelink + { + get => ; + set => ; + } + + private void radButton_Accept_Click(object sender, EventArgs e) + { + } +} \ No newline at end of file diff --git a/Pilz.Updating.Administration.GUI/ApplicationVersionInput.resx b/Pilz.Updating.Administration.GUI/PackageMetaEditor.resx similarity index 100% rename from Pilz.Updating.Administration.GUI/ApplicationVersionInput.resx rename to Pilz.Updating.Administration.GUI/PackageMetaEditor.resx diff --git a/Pilz.Updating.Administration.GUI/Pilz.Updating.Administration.GUI.csproj b/Pilz.Updating.Administration.GUI/Pilz.Updating.Administration.GUI.csproj index 672e751..f83686d 100644 --- a/Pilz.Updating.Administration.GUI/Pilz.Updating.Administration.GUI.csproj +++ b/Pilz.Updating.Administration.GUI/Pilz.Updating.Administration.GUI.csproj @@ -80,10 +80,10 @@ PackageDescriptionEditor.cs - - ApplicationVersionInput.cs + + PackageMetaEditor.cs - + UpdateManagerWindow.cs @@ -122,8 +122,8 @@ PackageDescriptionEditor.cs - - ApplicationVersionInput.cs + + PackageMetaEditor.cs UpdateManagerWindow.cs diff --git a/Pilz.Updating.Administration.GUI/UpdateManagerWindow.Designer.cs b/Pilz.Updating.Administration.GUI/UpdateManagerWindow.Designer.cs index bacabb0..0095174 100644 --- a/Pilz.Updating.Administration.GUI/UpdateManagerWindow.Designer.cs +++ b/Pilz.Updating.Administration.GUI/UpdateManagerWindow.Designer.cs @@ -42,322 +42,257 @@ namespace Pilz.Updating.Administration.GUI Telerik.WinControls.UI.ListViewDetailColumn listViewDetailColumn3 = new Telerik.WinControls.UI.ListViewDetailColumn("Column 2", "Kanal"); Telerik.WinControls.UI.ListViewDetailColumn listViewDetailColumn4 = new Telerik.WinControls.UI.ListViewDetailColumn("Column 3", "Build"); Telerik.WinControls.UI.ListViewDetailColumn listViewDetailColumn5 = new Telerik.WinControls.UI.ListViewDetailColumn("Column 4", "Öffentlich"); - Telerik.WinControls.UI.ListViewDetailColumn listViewDetailColumn6 = new Telerik.WinControls.UI.ListViewDetailColumn("Column 0", "Datei"); - Telerik.WinControls.UI.ListViewDetailColumn listViewDetailColumn7 = new Telerik.WinControls.UI.ListViewDetailColumn("Column 1", "Ort"); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(UpdateManagerWindow)); - this.radRibbonBarBackstageView1 = new Telerik.WinControls.UI.RadRibbonBarBackstageView(); - this.ribbonTab_Project = new Telerik.WinControls.UI.RibbonTab(); - this.radRibbonBarGroup_Project = new Telerik.WinControls.UI.RadRibbonBarGroup(); - this.radButtonElement_NewProject = new Telerik.WinControls.UI.RadButtonElement(); - this.radButtonElement_OpenProject = new Telerik.WinControls.UI.RadButtonElement(); - this.radButtonElement_SaveProject = new Telerik.WinControls.UI.RadButtonElement(); - this.radRibbonBarGroup_Options = new Telerik.WinControls.UI.RadRibbonBarGroup(); - this.radButtonElement_ProjectOptions = new Telerik.WinControls.UI.RadButtonElement(); - this.radButtonElement_Proxy = new Telerik.WinControls.UI.RadButtonElement(); - this.radRibbonBarGroup_Configuration = new Telerik.WinControls.UI.RadRibbonBarGroup(); - this.radButtonElement_UploadConfiguration = new Telerik.WinControls.UI.RadButtonElement(); - this.radButtonElement_ExportConfiguration = new Telerik.WinControls.UI.RadButtonElement(); - this.ribbonTab_Package = new Telerik.WinControls.UI.RibbonTab(); - this.radRibbonBarGroup_NewPackage = new Telerik.WinControls.UI.RadRibbonBarGroup(); - this.radButtonElement_CretateNewPackageAndUpload = new Telerik.WinControls.UI.RadButtonElement(); - this.radButtonElement_UploadExistingPackage = new Telerik.WinControls.UI.RadButtonElement(); - this.radRibbonBarGroup_PackageManagement = new Telerik.WinControls.UI.RadRibbonBarGroup(); - this.radButtonElement_EditPackageVersion = new Telerik.WinControls.UI.RadButtonElement(); - this.radButtonElement_EditPackageDescription = new Telerik.WinControls.UI.RadButtonElement(); - this.radButtonElement_RemovePackage = new Telerik.WinControls.UI.RadButtonElement(); - this.radRibbonBarGroup_Discord = new Telerik.WinControls.UI.RadRibbonBarGroup(); - this.radButtonElement_PostDiscordMessage = new Telerik.WinControls.UI.RadButtonElement(); - this.radButtonElement_DiscordBotSettings = new Telerik.WinControls.UI.RadButtonElement(); - this.radPageViewPage1 = new Telerik.WinControls.UI.RadPageViewPage(); - this.radListView_Packages = new Telerik.WinControls.UI.RadListView(); - this.radPageViewPage2 = new Telerik.WinControls.UI.RadPageViewPage(); - this.panel1 = new System.Windows.Forms.Panel(); - this.radLabel1 = new Telerik.WinControls.UI.RadLabel(); - this.radTextBoxControl_DownloadURL = new Telerik.WinControls.UI.RadTextBoxControl(); - this.radWaitingBar_PackageLoading = new Telerik.WinControls.UI.RadWaitingBar(); - this.dotsRingWaitingBarIndicatorElement_PackageLoading = new Telerik.WinControls.UI.DotsRingWaitingBarIndicatorElement(); - this.ribbonTab_Packaging = new Telerik.WinControls.UI.RibbonTab(); - this.radRibbonBarGroup_PackagingTemplate = new Telerik.WinControls.UI.RadRibbonBarGroup(); - this.radButtonElement1 = new Telerik.WinControls.UI.RadButtonElement(); - this.radButtonElement2 = new Telerik.WinControls.UI.RadButtonElement(); - this.radButtonElement4 = new Telerik.WinControls.UI.RadButtonElement(); - this.radButtonElement5 = new Telerik.WinControls.UI.RadButtonElement(); - this.radRibbonBarGroup_PackagingPacket = new Telerik.WinControls.UI.RadRibbonBarGroup(); - this.radButtonElement_ExportPackage = new Telerik.WinControls.UI.RadButtonElement(); - this.radRibbonBarGroup_PackageFiles = new Telerik.WinControls.UI.RadRibbonBarGroup(); - this.radButtonElement_SelectFolder = new Telerik.WinControls.UI.RadButtonElement(); - this.radButtonElement_RemoveFolder = new Telerik.WinControls.UI.RadButtonElement(); - this.radRibbonBarGroup_PackageExtensions = new Telerik.WinControls.UI.RadRibbonBarGroup(); - this.radButtonElement_ExtAdd = new Telerik.WinControls.UI.RadButtonElement(); - this.radButtonElement_ExtRemove = new Telerik.WinControls.UI.RadButtonElement(); - this.radPageViewPage_Packaging = new Telerik.WinControls.UI.RadPageViewPage(); - this.radTreeView_PackagingFiles = new Telerik.WinControls.UI.RadTreeView(); - this.radPageViewPage_Extensions = new Telerik.WinControls.UI.RadPageViewPage(); - this.radListView_Extensions = new Telerik.WinControls.UI.RadListView(); - this.radPageView1 = new Telerik.WinControls.UI.RadPageView(); - this.radRibbonBar1 = new Telerik.WinControls.UI.RadRibbonBar(); - this.radWaitingBar_PackageCreation = new Telerik.WinControls.UI.RadWaitingBar(); - this.dotsRingWaitingBarIndicatorElement1 = new Telerik.WinControls.UI.DotsRingWaitingBarIndicatorElement(); - ((System.ComponentModel.ISupportInitialize)(this.radRibbonBarBackstageView1)).BeginInit(); - this.radPageViewPage1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.radListView_Packages)).BeginInit(); - this.radPageViewPage2.SuspendLayout(); - this.panel1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radTextBoxControl_DownloadURL)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radWaitingBar_PackageLoading)).BeginInit(); - this.radPageViewPage_Packaging.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.radTreeView_PackagingFiles)).BeginInit(); - this.radPageViewPage_Extensions.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.radListView_Extensions)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radPageView1)).BeginInit(); - this.radPageView1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.radRibbonBar1)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.radWaitingBar_PackageCreation)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this)).BeginInit(); - this.SuspendLayout(); + radRibbonBarBackstageView1 = new Telerik.WinControls.UI.RadRibbonBarBackstageView(); + ribbonTab_Project = new Telerik.WinControls.UI.RibbonTab(); + radRibbonBarGroup_Project = new Telerik.WinControls.UI.RadRibbonBarGroup(); + radButtonElement_NewProject = new Telerik.WinControls.UI.RadButtonElement(); + radButtonElement_OpenProject = new Telerik.WinControls.UI.RadButtonElement(); + radButtonElement_SaveProject = new Telerik.WinControls.UI.RadButtonElement(); + radRibbonBarGroup_Options = new Telerik.WinControls.UI.RadRibbonBarGroup(); + radButtonElement_ProjectOptions = new Telerik.WinControls.UI.RadButtonElement(); + radButtonElement_Proxy = new Telerik.WinControls.UI.RadButtonElement(); + radRibbonBarGroup_Configuration = new Telerik.WinControls.UI.RadRibbonBarGroup(); + radButtonElement_UploadConfiguration = new Telerik.WinControls.UI.RadButtonElement(); + radButtonElement_ExportConfiguration = new Telerik.WinControls.UI.RadButtonElement(); + ribbonTab_Package = new Telerik.WinControls.UI.RibbonTab(); + radRibbonBarGroup_PackageManagement = new Telerik.WinControls.UI.RadRibbonBarGroup(); + radButtonElement_CretateNewPackageAndUpload = new Telerik.WinControls.UI.RadButtonElement(); + radButtonElement_EditPackageVersion = new Telerik.WinControls.UI.RadButtonElement(); + radButtonElement_EditPackageDescription = new Telerik.WinControls.UI.RadButtonElement(); + radButtonElement_RemovePackage = new Telerik.WinControls.UI.RadButtonElement(); + radRibbonBarGroup_Discord = new Telerik.WinControls.UI.RadRibbonBarGroup(); + radButtonElement_PostDiscordMessage = new Telerik.WinControls.UI.RadButtonElement(); + radButtonElement_DiscordBotSettings = new Telerik.WinControls.UI.RadButtonElement(); + radPageViewPage1 = new Telerik.WinControls.UI.RadPageViewPage(); + radListView_Packages = new Telerik.WinControls.UI.RadListView(); + radPageViewPage2 = new Telerik.WinControls.UI.RadPageViewPage(); + panel1 = new Panel(); + radLabel1 = new Telerik.WinControls.UI.RadLabel(); + radTextBoxControl_DownloadURL = new Telerik.WinControls.UI.RadTextBoxControl(); + radWaitingBar_PackageLoading = new Telerik.WinControls.UI.RadWaitingBar(); + dotsRingWaitingBarIndicatorElement_PackageLoading = new Telerik.WinControls.UI.DotsRingWaitingBarIndicatorElement(); + radPageView1 = new Telerik.WinControls.UI.RadPageView(); + radRibbonBar1 = new Telerik.WinControls.UI.RadRibbonBar(); + ((System.ComponentModel.ISupportInitialize)radRibbonBarBackstageView1).BeginInit(); + radPageViewPage1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)radListView_Packages).BeginInit(); + radPageViewPage2.SuspendLayout(); + panel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)radLabel1).BeginInit(); + ((System.ComponentModel.ISupportInitialize)radTextBoxControl_DownloadURL).BeginInit(); + ((System.ComponentModel.ISupportInitialize)radWaitingBar_PackageLoading).BeginInit(); + ((System.ComponentModel.ISupportInitialize)radPageView1).BeginInit(); + radPageView1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)radRibbonBar1).BeginInit(); + ((System.ComponentModel.ISupportInitialize)this).BeginInit(); + SuspendLayout(); // // radRibbonBarBackstageView1 // - this.radRibbonBarBackstageView1.EnableKeyMap = true; - this.radRibbonBarBackstageView1.Location = new System.Drawing.Point(0, 56); - this.radRibbonBarBackstageView1.Name = "radRibbonBarBackstageView1"; - this.radRibbonBarBackstageView1.RightToLeft = System.Windows.Forms.RightToLeft.No; - this.radRibbonBarBackstageView1.SelectedItem = null; - this.radRibbonBarBackstageView1.Size = new System.Drawing.Size(644, 491); - this.radRibbonBarBackstageView1.TabIndex = 1; + radRibbonBarBackstageView1.EnableKeyMap = true; + radRibbonBarBackstageView1.Location = new Point(0, 56); + radRibbonBarBackstageView1.Name = "radRibbonBarBackstageView1"; + radRibbonBarBackstageView1.RightToLeft = RightToLeft.No; + radRibbonBarBackstageView1.SelectedItem = null; + radRibbonBarBackstageView1.Size = new Size(644, 491); + radRibbonBarBackstageView1.TabIndex = 1; // // ribbonTab_Project // - this.ribbonTab_Project.IsSelected = true; - this.ribbonTab_Project.Items.AddRange(new Telerik.WinControls.RadItem[] { - this.radRibbonBarGroup_Project, - this.radRibbonBarGroup_Options, - this.radRibbonBarGroup_Configuration}); - this.ribbonTab_Project.Name = "ribbonTab_Project"; - this.ribbonTab_Project.Text = "Projekt"; - this.ribbonTab_Project.UseMnemonic = false; + ribbonTab_Project.IsSelected = true; + ribbonTab_Project.Items.AddRange(new Telerik.WinControls.RadItem[] { radRibbonBarGroup_Project, radRibbonBarGroup_Options, radRibbonBarGroup_Configuration }); + ribbonTab_Project.Name = "ribbonTab_Project"; + ribbonTab_Project.Text = "Projekt"; + ribbonTab_Project.UseMnemonic = false; // // radRibbonBarGroup_Project // - this.radRibbonBarGroup_Project.Items.AddRange(new Telerik.WinControls.RadItem[] { - this.radButtonElement_NewProject, - this.radButtonElement_OpenProject, - this.radButtonElement_SaveProject}); - this.radRibbonBarGroup_Project.Name = "radRibbonBarGroup_Project"; - this.radRibbonBarGroup_Project.Text = "Projekt"; + radRibbonBarGroup_Project.Items.AddRange(new Telerik.WinControls.RadItem[] { radButtonElement_NewProject, radButtonElement_OpenProject, radButtonElement_SaveProject }); + radRibbonBarGroup_Project.Name = "radRibbonBarGroup_Project"; + radRibbonBarGroup_Project.Text = "Projekt"; // // radButtonElement_NewProject // - this.radButtonElement_NewProject.Image = global::Pilz.Updating.Administration.GUI.My.Resources.Resources.icons8_new_file_32px; - this.radButtonElement_NewProject.ImageAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_NewProject.Name = "radButtonElement_NewProject"; - this.radButtonElement_NewProject.Text = "Neues Projekt
erstellen"; - this.radButtonElement_NewProject.TextAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_NewProject.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; - this.radButtonElement_NewProject.Click += new System.EventHandler(this.ButtonItem_NewProject_Click); + radButtonElement_NewProject.Image = My.Resources.Resources.icons8_new_file_32px; + radButtonElement_NewProject.ImageAlignment = ContentAlignment.TopCenter; + radButtonElement_NewProject.Name = "radButtonElement_NewProject"; + radButtonElement_NewProject.Text = "Neues Projekt
erstellen"; + radButtonElement_NewProject.TextAlignment = ContentAlignment.TopCenter; + radButtonElement_NewProject.TextImageRelation = TextImageRelation.ImageAboveText; + radButtonElement_NewProject.Click += ButtonItem_NewProject_Click; // // radButtonElement_OpenProject // - this.radButtonElement_OpenProject.Image = global::Pilz.Updating.Administration.GUI.My.Resources.Resources.icons8_opened_folder_32px; - this.radButtonElement_OpenProject.ImageAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_OpenProject.Name = "radButtonElement_OpenProject"; - this.radButtonElement_OpenProject.Text = "Projekt
öffnen"; - this.radButtonElement_OpenProject.TextAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_OpenProject.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; - this.radButtonElement_OpenProject.Click += new System.EventHandler(this.ButtonItem_OpenProject_Click); + radButtonElement_OpenProject.Image = My.Resources.Resources.icons8_opened_folder_32px; + radButtonElement_OpenProject.ImageAlignment = ContentAlignment.TopCenter; + radButtonElement_OpenProject.Name = "radButtonElement_OpenProject"; + radButtonElement_OpenProject.Text = "Projekt
öffnen"; + radButtonElement_OpenProject.TextAlignment = ContentAlignment.TopCenter; + radButtonElement_OpenProject.TextImageRelation = TextImageRelation.ImageAboveText; + radButtonElement_OpenProject.Click += ButtonItem_OpenProject_Click; // // radButtonElement_SaveProject // - this.radButtonElement_SaveProject.Image = global::Pilz.Updating.Administration.GUI.My.Resources.Resources.icons8_save_32px; - this.radButtonElement_SaveProject.ImageAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_SaveProject.Name = "radButtonElement_SaveProject"; - this.radButtonElement_SaveProject.Text = "Projekt
speichern"; - this.radButtonElement_SaveProject.TextAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_SaveProject.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; - this.radButtonElement_SaveProject.Click += new System.EventHandler(this.ButtonItem_SaveProject_Click); + radButtonElement_SaveProject.Image = My.Resources.Resources.icons8_save_32px; + radButtonElement_SaveProject.ImageAlignment = ContentAlignment.TopCenter; + radButtonElement_SaveProject.Name = "radButtonElement_SaveProject"; + radButtonElement_SaveProject.Text = "Projekt
speichern"; + radButtonElement_SaveProject.TextAlignment = ContentAlignment.TopCenter; + radButtonElement_SaveProject.TextImageRelation = TextImageRelation.ImageAboveText; + radButtonElement_SaveProject.Click += ButtonItem_SaveProject_Click; // // radRibbonBarGroup_Options // - this.radRibbonBarGroup_Options.Items.AddRange(new Telerik.WinControls.RadItem[] { - this.radButtonElement_ProjectOptions, - this.radButtonElement_Proxy}); - this.radRibbonBarGroup_Options.Name = "radRibbonBarGroup_Options"; - this.radRibbonBarGroup_Options.Text = "Optionen"; + radRibbonBarGroup_Options.Items.AddRange(new Telerik.WinControls.RadItem[] { radButtonElement_ProjectOptions, radButtonElement_Proxy }); + radRibbonBarGroup_Options.Name = "radRibbonBarGroup_Options"; + radRibbonBarGroup_Options.Text = "Optionen"; // // radButtonElement_ProjectOptions // - this.radButtonElement_ProjectOptions.Image = global::Pilz.Updating.Administration.GUI.My.Resources.Resources.icons8_support_32px_1; - this.radButtonElement_ProjectOptions.ImageAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_ProjectOptions.Name = "radButtonElement_ProjectOptions"; - this.radButtonElement_ProjectOptions.Text = "Projektoptionen"; - this.radButtonElement_ProjectOptions.TextAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_ProjectOptions.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; - this.radButtonElement_ProjectOptions.Click += new System.EventHandler(this.ButtonItem_ProjectOptions_Click); + radButtonElement_ProjectOptions.Image = My.Resources.Resources.icons8_support_32px_1; + radButtonElement_ProjectOptions.ImageAlignment = ContentAlignment.TopCenter; + radButtonElement_ProjectOptions.Name = "radButtonElement_ProjectOptions"; + radButtonElement_ProjectOptions.Text = "Projektoptionen"; + radButtonElement_ProjectOptions.TextAlignment = ContentAlignment.TopCenter; + radButtonElement_ProjectOptions.TextImageRelation = TextImageRelation.ImageAboveText; + radButtonElement_ProjectOptions.Click += ButtonItem_ProjectOptions_Click; // // radButtonElement_Proxy // - this.radButtonElement_Proxy.Image = global::Pilz.Updating.Administration.GUI.My.Resources.Resources.icons8_firewall_32px; - this.radButtonElement_Proxy.ImageAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_Proxy.Name = "radButtonElement_Proxy"; - this.radButtonElement_Proxy.Text = "Proxy"; - this.radButtonElement_Proxy.TextAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_Proxy.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; - this.radButtonElement_Proxy.Click += new System.EventHandler(this.ButtonItem_ProxyConfig_Click); + radButtonElement_Proxy.Image = My.Resources.Resources.icons8_firewall_32px; + radButtonElement_Proxy.ImageAlignment = ContentAlignment.TopCenter; + radButtonElement_Proxy.Name = "radButtonElement_Proxy"; + radButtonElement_Proxy.Text = "Proxy"; + radButtonElement_Proxy.TextAlignment = ContentAlignment.TopCenter; + radButtonElement_Proxy.TextImageRelation = TextImageRelation.ImageAboveText; + radButtonElement_Proxy.Click += ButtonItem_ProxyConfig_Click; // // radRibbonBarGroup_Configuration // - this.radRibbonBarGroup_Configuration.Items.AddRange(new Telerik.WinControls.RadItem[] { - this.radButtonElement_UploadConfiguration, - this.radButtonElement_ExportConfiguration}); - this.radRibbonBarGroup_Configuration.Name = "radRibbonBarGroup_Configuration"; - this.radRibbonBarGroup_Configuration.Text = "Konfiguration"; + radRibbonBarGroup_Configuration.Items.AddRange(new Telerik.WinControls.RadItem[] { radButtonElement_UploadConfiguration, radButtonElement_ExportConfiguration }); + radRibbonBarGroup_Configuration.Name = "radRibbonBarGroup_Configuration"; + radRibbonBarGroup_Configuration.Text = "Konfiguration"; // // radButtonElement_UploadConfiguration // - this.radButtonElement_UploadConfiguration.Image = global::Pilz.Updating.Administration.GUI.My.Resources.Resources.icons8_upload_32px; - this.radButtonElement_UploadConfiguration.ImageAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_UploadConfiguration.Name = "radButtonElement_UploadConfiguration"; - this.radButtonElement_UploadConfiguration.Text = "Konfiguration
bereitstellen"; - this.radButtonElement_UploadConfiguration.TextAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_UploadConfiguration.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; - this.radButtonElement_UploadConfiguration.Click += new System.EventHandler(this.ButtonItem_UploadUpdateConfiguration_Click); + radButtonElement_UploadConfiguration.Image = My.Resources.Resources.icons8_upload_32px; + radButtonElement_UploadConfiguration.ImageAlignment = ContentAlignment.TopCenter; + radButtonElement_UploadConfiguration.Name = "radButtonElement_UploadConfiguration"; + radButtonElement_UploadConfiguration.Text = "Konfiguration
bereitstellen"; + radButtonElement_UploadConfiguration.TextAlignment = ContentAlignment.TopCenter; + radButtonElement_UploadConfiguration.TextImageRelation = TextImageRelation.ImageAboveText; + radButtonElement_UploadConfiguration.Click += ButtonItem_UploadUpdateConfiguration_Click; // // radButtonElement_ExportConfiguration // - this.radButtonElement_ExportConfiguration.Image = global::Pilz.Updating.Administration.GUI.My.Resources.Resources.icons8_export_32px_3; - this.radButtonElement_ExportConfiguration.ImageAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_ExportConfiguration.Name = "radButtonElement_ExportConfiguration"; - this.radButtonElement_ExportConfiguration.Text = "Konfiguration
exportieren"; - this.radButtonElement_ExportConfiguration.TextAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_ExportConfiguration.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; - this.radButtonElement_ExportConfiguration.Click += new System.EventHandler(this.ButtonItem_ExportUpdateConfiguration_Click); + radButtonElement_ExportConfiguration.Image = My.Resources.Resources.icons8_export_32px_3; + radButtonElement_ExportConfiguration.ImageAlignment = ContentAlignment.TopCenter; + radButtonElement_ExportConfiguration.Name = "radButtonElement_ExportConfiguration"; + radButtonElement_ExportConfiguration.Text = "Konfiguration
exportieren"; + radButtonElement_ExportConfiguration.TextAlignment = ContentAlignment.TopCenter; + radButtonElement_ExportConfiguration.TextImageRelation = TextImageRelation.ImageAboveText; + radButtonElement_ExportConfiguration.Click += ButtonItem_ExportUpdateConfiguration_Click; // // ribbonTab_Package // - this.ribbonTab_Package.IsSelected = false; - this.ribbonTab_Package.Items.AddRange(new Telerik.WinControls.RadItem[] { - this.radRibbonBarGroup_NewPackage, - this.radRibbonBarGroup_PackageManagement, - this.radRibbonBarGroup_Discord}); - this.ribbonTab_Package.Name = "ribbonTab_Package"; - this.ribbonTab_Package.Text = "Pakete"; - this.ribbonTab_Package.UseMnemonic = false; - // - // radRibbonBarGroup_NewPackage - // - this.radRibbonBarGroup_NewPackage.Items.AddRange(new Telerik.WinControls.RadItem[] { - this.radButtonElement_CretateNewPackageAndUpload, - this.radButtonElement_UploadExistingPackage}); - this.radRibbonBarGroup_NewPackage.Name = "radRibbonBarGroup_NewPackage"; - this.radRibbonBarGroup_NewPackage.Text = "Neues Paket"; - // - // radButtonElement_CretateNewPackageAndUpload - // - this.radButtonElement_CretateNewPackageAndUpload.Image = global::Pilz.Updating.Administration.GUI.My.Resources.Resources.icons8_open_box_32px; - this.radButtonElement_CretateNewPackageAndUpload.ImageAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_CretateNewPackageAndUpload.Name = "radButtonElement_CretateNewPackageAndUpload"; - this.radButtonElement_CretateNewPackageAndUpload.Text = "Paket fertigstellen
und hochladen"; - this.radButtonElement_CretateNewPackageAndUpload.TextAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_CretateNewPackageAndUpload.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; - this.radButtonElement_CretateNewPackageAndUpload.Click += new System.EventHandler(this.ButtonItem_CreateAndUploadPackage_Click); - // - // radButtonElement_UploadExistingPackage - // - this.radButtonElement_UploadExistingPackage.Image = global::Pilz.Updating.Administration.GUI.My.Resources.Resources.icons8_upload_32px; - this.radButtonElement_UploadExistingPackage.ImageAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_UploadExistingPackage.Name = "radButtonElement_UploadExistingPackage"; - this.radButtonElement_UploadExistingPackage.Text = "Vorhandenes Paket
hochladen"; - this.radButtonElement_UploadExistingPackage.TextAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_UploadExistingPackage.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; - this.radButtonElement_UploadExistingPackage.Click += new System.EventHandler(this.ButtonItem_UploadExistingPackage_Click); + ribbonTab_Package.IsSelected = false; + ribbonTab_Package.Items.AddRange(new Telerik.WinControls.RadItem[] { radRibbonBarGroup_PackageManagement, radRibbonBarGroup_Discord }); + ribbonTab_Package.Name = "ribbonTab_Package"; + ribbonTab_Package.Text = "Pakete"; + ribbonTab_Package.UseMnemonic = false; // // radRibbonBarGroup_PackageManagement // - this.radRibbonBarGroup_PackageManagement.Enabled = false; - this.radRibbonBarGroup_PackageManagement.Items.AddRange(new Telerik.WinControls.RadItem[] { - this.radButtonElement_EditPackageVersion, - this.radButtonElement_EditPackageDescription, - this.radButtonElement_RemovePackage}); - this.radRibbonBarGroup_PackageManagement.Name = "radRibbonBarGroup_PackageManagement"; - this.radRibbonBarGroup_PackageManagement.Text = "Paketverwaltung"; + radRibbonBarGroup_PackageManagement.Enabled = false; + radRibbonBarGroup_PackageManagement.Items.AddRange(new Telerik.WinControls.RadItem[] { radButtonElement_CretateNewPackageAndUpload, radButtonElement_EditPackageVersion, radButtonElement_EditPackageDescription, radButtonElement_RemovePackage }); + radRibbonBarGroup_PackageManagement.Name = "radRibbonBarGroup_PackageManagement"; + radRibbonBarGroup_PackageManagement.Text = "Paketverwaltung"; + // + // radButtonElement_CretateNewPackageAndUpload + // + radButtonElement_CretateNewPackageAndUpload.Image = My.Resources.Resources.icons8_open_box_32px; + radButtonElement_CretateNewPackageAndUpload.ImageAlignment = ContentAlignment.TopCenter; + radButtonElement_CretateNewPackageAndUpload.Name = "radButtonElement_CretateNewPackageAndUpload"; + radButtonElement_CretateNewPackageAndUpload.Text = "New
package"; + radButtonElement_CretateNewPackageAndUpload.TextAlignment = ContentAlignment.TopCenter; + radButtonElement_CretateNewPackageAndUpload.TextImageRelation = TextImageRelation.ImageAboveText; + radButtonElement_CretateNewPackageAndUpload.Click += ButtonItem_CreateAndUploadPackage_Click; // // radButtonElement_EditPackageVersion // - this.radButtonElement_EditPackageVersion.Image = global::Pilz.Updating.Administration.GUI.My.Resources.Resources.icons8_edit_property_32px; - this.radButtonElement_EditPackageVersion.ImageAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_EditPackageVersion.Name = "radButtonElement_EditPackageVersion"; - this.radButtonElement_EditPackageVersion.Text = "Version
ändern"; - this.radButtonElement_EditPackageVersion.TextAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_EditPackageVersion.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; - this.radButtonElement_EditPackageVersion.Click += new System.EventHandler(this.ButtonItem_ChangeVersion_Click); + radButtonElement_EditPackageVersion.Image = My.Resources.Resources.icons8_edit_property_32px; + radButtonElement_EditPackageVersion.ImageAlignment = ContentAlignment.TopCenter; + radButtonElement_EditPackageVersion.Name = "radButtonElement_EditPackageVersion"; + radButtonElement_EditPackageVersion.Text = "Version
ändern"; + radButtonElement_EditPackageVersion.TextAlignment = ContentAlignment.TopCenter; + radButtonElement_EditPackageVersion.TextImageRelation = TextImageRelation.ImageAboveText; + radButtonElement_EditPackageVersion.Click += ButtonItem_ChangeVersion_Click; // // radButtonElement_EditPackageDescription // - this.radButtonElement_EditPackageDescription.Image = global::Pilz.Updating.Administration.GUI.My.Resources.Resources.icons8_edit_file_32px; - this.radButtonElement_EditPackageDescription.ImageAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_EditPackageDescription.Name = "radButtonElement_EditPackageDescription"; - this.radButtonElement_EditPackageDescription.Text = "Beschreibung
bearbeiten"; - this.radButtonElement_EditPackageDescription.TextAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_EditPackageDescription.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; - this.radButtonElement_EditPackageDescription.Click += new System.EventHandler(this.ButtonItem_EditDescription_Click); + radButtonElement_EditPackageDescription.Image = My.Resources.Resources.icons8_edit_file_32px; + radButtonElement_EditPackageDescription.ImageAlignment = ContentAlignment.TopCenter; + radButtonElement_EditPackageDescription.Name = "radButtonElement_EditPackageDescription"; + radButtonElement_EditPackageDescription.Text = "Beschreibung
bearbeiten"; + radButtonElement_EditPackageDescription.TextAlignment = ContentAlignment.TopCenter; + radButtonElement_EditPackageDescription.TextImageRelation = TextImageRelation.ImageAboveText; + radButtonElement_EditPackageDescription.Click += ButtonItem_EditDescription_Click; // // radButtonElement_RemovePackage // - this.radButtonElement_RemovePackage.Image = global::Pilz.Updating.Administration.GUI.My.Resources.Resources.icons8_delete_sign_32px_1; - this.radButtonElement_RemovePackage.ImageAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_RemovePackage.Name = "radButtonElement_RemovePackage"; - this.radButtonElement_RemovePackage.Text = "Vom Server
löschen"; - this.radButtonElement_RemovePackage.TextAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_RemovePackage.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; - this.radButtonElement_RemovePackage.Click += new System.EventHandler(this.ButtonItem_RemovePackage_Click); + radButtonElement_RemovePackage.Image = My.Resources.Resources.icons8_delete_sign_32px_1; + radButtonElement_RemovePackage.ImageAlignment = ContentAlignment.TopCenter; + radButtonElement_RemovePackage.Name = "radButtonElement_RemovePackage"; + radButtonElement_RemovePackage.Text = "Remove
package"; + radButtonElement_RemovePackage.TextAlignment = ContentAlignment.TopCenter; + radButtonElement_RemovePackage.TextImageRelation = TextImageRelation.ImageAboveText; + radButtonElement_RemovePackage.Click += ButtonItem_RemovePackage_Click; // // radRibbonBarGroup_Discord // - this.radRibbonBarGroup_Discord.Enabled = false; - this.radRibbonBarGroup_Discord.Items.AddRange(new Telerik.WinControls.RadItem[] { - this.radButtonElement_PostDiscordMessage, - this.radButtonElement_DiscordBotSettings}); - this.radRibbonBarGroup_Discord.Name = "radRibbonBarGroup_Discord"; - this.radRibbonBarGroup_Discord.Text = "Discord"; + radRibbonBarGroup_Discord.Enabled = false; + radRibbonBarGroup_Discord.Items.AddRange(new Telerik.WinControls.RadItem[] { radButtonElement_PostDiscordMessage, radButtonElement_DiscordBotSettings }); + radRibbonBarGroup_Discord.Name = "radRibbonBarGroup_Discord"; + radRibbonBarGroup_Discord.Text = "Discord"; // // radButtonElement_PostDiscordMessage // - this.radButtonElement_PostDiscordMessage.Image = global::Pilz.Updating.Administration.GUI.My.Resources.Resources.icons8_discord_new_logo_32px; - this.radButtonElement_PostDiscordMessage.ImageAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_PostDiscordMessage.Name = "radButtonElement_PostDiscordMessage"; - this.radButtonElement_PostDiscordMessage.Text = "Updatenachricht in
Discord posten"; - this.radButtonElement_PostDiscordMessage.TextAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_PostDiscordMessage.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; - this.radButtonElement_PostDiscordMessage.Click += new System.EventHandler(this.ButtonItem_PostMsgInDiscord_Click); + radButtonElement_PostDiscordMessage.Image = My.Resources.Resources.icons8_discord_new_logo_32px; + radButtonElement_PostDiscordMessage.ImageAlignment = ContentAlignment.TopCenter; + radButtonElement_PostDiscordMessage.Name = "radButtonElement_PostDiscordMessage"; + radButtonElement_PostDiscordMessage.Text = "Updatenachricht in
Discord posten"; + radButtonElement_PostDiscordMessage.TextAlignment = ContentAlignment.TopCenter; + radButtonElement_PostDiscordMessage.TextImageRelation = TextImageRelation.ImageAboveText; + radButtonElement_PostDiscordMessage.Click += ButtonItem_PostMsgInDiscord_Click; // // radButtonElement_DiscordBotSettings // - this.radButtonElement_DiscordBotSettings.Image = global::Pilz.Updating.Administration.GUI.My.Resources.Resources.icons8_administrative_tools_32px; - this.radButtonElement_DiscordBotSettings.ImageAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_DiscordBotSettings.Name = "radButtonElement_DiscordBotSettings"; - this.radButtonElement_DiscordBotSettings.Text = "Discord-Bot-
Einstellungen"; - this.radButtonElement_DiscordBotSettings.TextAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_DiscordBotSettings.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; - this.radButtonElement_DiscordBotSettings.Click += new System.EventHandler(this.ButtonItem_BotSettings_Click); + radButtonElement_DiscordBotSettings.Image = My.Resources.Resources.icons8_administrative_tools_32px; + radButtonElement_DiscordBotSettings.ImageAlignment = ContentAlignment.TopCenter; + radButtonElement_DiscordBotSettings.Name = "radButtonElement_DiscordBotSettings"; + radButtonElement_DiscordBotSettings.Text = "Discord-Bot-
Einstellungen"; + radButtonElement_DiscordBotSettings.TextAlignment = ContentAlignment.TopCenter; + radButtonElement_DiscordBotSettings.TextImageRelation = TextImageRelation.ImageAboveText; + radButtonElement_DiscordBotSettings.Click += ButtonItem_BotSettings_Click; // // radPageViewPage1 // - this.radPageViewPage1.BackColor = System.Drawing.Color.Transparent; - this.radPageViewPage1.Controls.Add(this.radListView_Packages); - this.radPageViewPage1.Image = global::Pilz.Updating.Administration.GUI.My.Resources.Resources.icons8_open_box_16px; - this.radPageViewPage1.ItemSize = new System.Drawing.SizeF(124F, 33F); - this.radPageViewPage1.Location = new System.Drawing.Point(151, 37); - this.radPageViewPage1.Name = "radPageViewPage1"; - this.radPageViewPage1.Size = new System.Drawing.Size(492, 342); - this.radPageViewPage1.Text = "Pakete"; + radPageViewPage1.BackColor = Color.Transparent; + radPageViewPage1.Controls.Add(radListView_Packages); + radPageViewPage1.Image = My.Resources.Resources.icons8_open_box_16px; + radPageViewPage1.ItemSize = new SizeF(115F, 30F); + radPageViewPage1.Location = new Point(151, 36); + radPageViewPage1.Name = "radPageViewPage1"; + radPageViewPage1.Size = new Size(492, 345); + radPageViewPage1.Text = "Pakete"; // // radListView_Packages // - this.radListView_Packages.AllowColumnReorder = false; - this.radListView_Packages.AllowColumnResize = false; - this.radListView_Packages.AllowEdit = false; - this.radListView_Packages.AllowRemove = false; + radListView_Packages.AllowColumnReorder = false; + radListView_Packages.AllowColumnResize = false; + radListView_Packages.AllowEdit = false; + radListView_Packages.AllowRemove = false; listViewDetailColumn1.HeaderText = "Name"; listViewDetailColumn1.Width = 170F; listViewDetailColumn2.HeaderText = "Version"; @@ -368,364 +303,136 @@ namespace Pilz.Updating.Administration.GUI listViewDetailColumn4.Width = 70F; listViewDetailColumn5.HeaderText = "Öffentlich"; listViewDetailColumn5.Width = 70F; - this.radListView_Packages.Columns.AddRange(new Telerik.WinControls.UI.ListViewDetailColumn[] { - listViewDetailColumn1, - listViewDetailColumn2, - listViewDetailColumn3, - listViewDetailColumn4, - listViewDetailColumn5}); - this.radListView_Packages.Dock = System.Windows.Forms.DockStyle.Fill; - this.radListView_Packages.GroupItemSize = new System.Drawing.Size(200, 28); - this.radListView_Packages.ItemSize = new System.Drawing.Size(200, 28); - this.radListView_Packages.ItemSpacing = -1; - this.radListView_Packages.Location = new System.Drawing.Point(0, 0); - this.radListView_Packages.Name = "radListView_Packages"; - this.radListView_Packages.Size = new System.Drawing.Size(492, 342); - this.radListView_Packages.TabIndex = 0; - this.radListView_Packages.ViewType = Telerik.WinControls.UI.ListViewType.DetailsView; - this.radListView_Packages.SelectedItemChanged += new System.EventHandler(this.RadListView_Packages_SelectedItemChanged); - this.radListView_Packages.CellFormatting += new Telerik.WinControls.UI.ListViewCellFormattingEventHandler(this.RadListView1_CellFormatting); + radListView_Packages.Columns.AddRange(new Telerik.WinControls.UI.ListViewDetailColumn[] { listViewDetailColumn1, listViewDetailColumn2, listViewDetailColumn3, listViewDetailColumn4, listViewDetailColumn5 }); + radListView_Packages.Dock = DockStyle.Fill; + radListView_Packages.GroupItemSize = new Size(200, 28); + radListView_Packages.ItemSize = new Size(200, 28); + radListView_Packages.ItemSpacing = -1; + radListView_Packages.Location = new Point(0, 0); + radListView_Packages.Name = "radListView_Packages"; + radListView_Packages.Size = new Size(492, 345); + radListView_Packages.TabIndex = 0; + radListView_Packages.ViewType = Telerik.WinControls.UI.ListViewType.DetailsView; + radListView_Packages.SelectedItemChanged += RadListView_Packages_SelectedItemChanged; + radListView_Packages.CellFormatting += RadListView1_CellFormatting; // // radPageViewPage2 // - this.radPageViewPage2.BackColor = System.Drawing.Color.Transparent; - this.radPageViewPage2.Controls.Add(this.panel1); - this.radPageViewPage2.Image = global::Pilz.Updating.Administration.GUI.My.Resources.Resources.icons8_software_installer_16px; - this.radPageViewPage2.ItemSize = new System.Drawing.SizeF(124F, 33F); - this.radPageViewPage2.Location = new System.Drawing.Point(41, 37); - this.radPageViewPage2.Name = "radPageViewPage2"; - this.radPageViewPage2.Size = new System.Drawing.Size(602, 340); - this.radPageViewPage2.Text = "Update-Installer"; + radPageViewPage2.BackColor = Color.Transparent; + radPageViewPage2.Controls.Add(panel1); + radPageViewPage2.Image = My.Resources.Resources.icons8_software_installer_16px; + radPageViewPage2.ItemSize = new SizeF(115F, 30F); + radPageViewPage2.Location = new Point(151, 36); + radPageViewPage2.Name = "radPageViewPage2"; + radPageViewPage2.Size = new Size(492, 345); + radPageViewPage2.Text = "Update-Installer"; // // panel1 // - this.panel1.Controls.Add(this.radLabel1); - this.panel1.Controls.Add(this.radTextBoxControl_DownloadURL); - this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; - this.panel1.Location = new System.Drawing.Point(0, 0); - this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(602, 340); - this.panel1.TabIndex = 2; + panel1.Controls.Add(radLabel1); + panel1.Controls.Add(radTextBoxControl_DownloadURL); + panel1.Dock = DockStyle.Fill; + panel1.Location = new Point(0, 0); + panel1.Name = "panel1"; + panel1.Size = new Size(492, 345); + panel1.TabIndex = 2; // // radLabel1 // - this.radLabel1.Location = new System.Drawing.Point(3, 3); - this.radLabel1.Name = "radLabel1"; - this.radLabel1.Size = new System.Drawing.Size(84, 18); - this.radLabel1.TabIndex = 0; - this.radLabel1.Text = "Download-URL:"; + radLabel1.Location = new Point(3, 3); + radLabel1.Name = "radLabel1"; + radLabel1.Size = new Size(84, 18); + radLabel1.TabIndex = 0; + radLabel1.Text = "Download-URL:"; // // radTextBoxControl_DownloadURL // - this.radTextBoxControl_DownloadURL.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.radTextBoxControl_DownloadURL.Location = new System.Drawing.Point(3, 27); - this.radTextBoxControl_DownloadURL.Name = "radTextBoxControl_DownloadURL"; - this.radTextBoxControl_DownloadURL.Size = new System.Drawing.Size(596, 22); - this.radTextBoxControl_DownloadURL.TabIndex = 1; - this.radTextBoxControl_DownloadURL.TextChanged += new System.EventHandler(this.TextBoxX_UpdateInstallerDownloadUrl_TextChanged); + radTextBoxControl_DownloadURL.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; + radTextBoxControl_DownloadURL.Location = new Point(3, 27); + radTextBoxControl_DownloadURL.Name = "radTextBoxControl_DownloadURL"; + radTextBoxControl_DownloadURL.Size = new Size(486, 22); + radTextBoxControl_DownloadURL.TabIndex = 1; + radTextBoxControl_DownloadURL.TextChanged += TextBoxX_UpdateInstallerDownloadUrl_TextChanged; // // radWaitingBar_PackageLoading // - this.radWaitingBar_PackageLoading.AssociatedControl = this.radListView_Packages; - this.radWaitingBar_PackageLoading.Location = new System.Drawing.Point(341, 325); - this.radWaitingBar_PackageLoading.Name = "radWaitingBar_PackageLoading"; - this.radWaitingBar_PackageLoading.Size = new System.Drawing.Size(70, 70); - this.radWaitingBar_PackageLoading.TabIndex = 3; - this.radWaitingBar_PackageLoading.Text = "radWaitingBar1"; - this.radWaitingBar_PackageLoading.WaitingIndicators.Add(this.dotsRingWaitingBarIndicatorElement_PackageLoading); - this.radWaitingBar_PackageLoading.WaitingIndicatorSize = new System.Drawing.Size(100, 14); - this.radWaitingBar_PackageLoading.WaitingSpeed = 50; - this.radWaitingBar_PackageLoading.WaitingStyle = Telerik.WinControls.Enumerations.WaitingBarStyles.DotsRing; + radWaitingBar_PackageLoading.AssociatedControl = radListView_Packages; + radWaitingBar_PackageLoading.Location = new Point(341, 325); + radWaitingBar_PackageLoading.Name = "radWaitingBar_PackageLoading"; + radWaitingBar_PackageLoading.Size = new Size(70, 70); + radWaitingBar_PackageLoading.TabIndex = 3; + radWaitingBar_PackageLoading.Text = "radWaitingBar1"; + radWaitingBar_PackageLoading.WaitingIndicators.Add(dotsRingWaitingBarIndicatorElement_PackageLoading); + radWaitingBar_PackageLoading.WaitingIndicatorSize = new Size(100, 14); + radWaitingBar_PackageLoading.WaitingSpeed = 50; + radWaitingBar_PackageLoading.WaitingStyle = Telerik.WinControls.Enumerations.WaitingBarStyles.DotsRing; // // dotsRingWaitingBarIndicatorElement_PackageLoading // - this.dotsRingWaitingBarIndicatorElement_PackageLoading.Name = "dotsRingWaitingBarIndicatorElement_PackageLoading"; - // - // ribbonTab_Packaging - // - this.ribbonTab_Packaging.IsSelected = false; - this.ribbonTab_Packaging.Items.AddRange(new Telerik.WinControls.RadItem[] { - this.radRibbonBarGroup_PackagingTemplate, - this.radRibbonBarGroup_PackagingPacket, - this.radRibbonBarGroup_PackageFiles, - this.radRibbonBarGroup_PackageExtensions}); - this.ribbonTab_Packaging.Name = "ribbonTab_Packaging"; - this.ribbonTab_Packaging.Text = "Paketierung"; - this.ribbonTab_Packaging.UseMnemonic = false; - // - // radRibbonBarGroup_PackagingTemplate - // - this.radRibbonBarGroup_PackagingTemplate.Items.AddRange(new Telerik.WinControls.RadItem[] { - this.radButtonElement1, - this.radButtonElement2, - this.radButtonElement4, - this.radButtonElement5}); - this.radRibbonBarGroup_PackagingTemplate.Name = "radRibbonBarGroup_PackagingTemplate"; - this.radRibbonBarGroup_PackagingTemplate.Text = "Vorlage"; - // - // radButtonElement1 - // - this.radButtonElement1.Image = global::Pilz.Updating.Administration.GUI.My.Resources.Resources.icons8_new_file_32px; - this.radButtonElement1.ImageAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement1.Name = "radButtonElement1"; - this.radButtonElement1.Text = "Neue
Vorlage"; - this.radButtonElement1.TextAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement1.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; - this.radButtonElement1.Click += new System.EventHandler(this.ButtonItem_Pkg_NewTemplate_Click); - // - // radButtonElement2 - // - this.radButtonElement2.Image = global::Pilz.Updating.Administration.GUI.My.Resources.Resources.icons8_template_32px; - this.radButtonElement2.ImageAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement2.Name = "radButtonElement2"; - this.radButtonElement2.Text = "Vorlage
öffnen"; - this.radButtonElement2.TextAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement2.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; - this.radButtonElement2.Click += new System.EventHandler(this.ButtonItem_Pkg_OpenTemplate_Click); - // - // radButtonElement4 - // - this.radButtonElement4.Image = global::Pilz.Updating.Administration.GUI.My.Resources.Resources.icons8_save_32px; - this.radButtonElement4.ImageAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement4.Name = "radButtonElement4"; - this.radButtonElement4.Text = "Vorlage
speichern"; - this.radButtonElement4.TextAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement4.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; - this.radButtonElement4.Click += new System.EventHandler(this.ButtonItem_Pkg_SaveTemplate_Click); - // - // radButtonElement5 - // - this.radButtonElement5.Image = global::Pilz.Updating.Administration.GUI.My.Resources.Resources.icons8_save_as_32px; - this.radButtonElement5.ImageAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement5.Name = "radButtonElement5"; - this.radButtonElement5.Text = "Speichern
unter"; - this.radButtonElement5.TextAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement5.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; - this.radButtonElement5.Click += new System.EventHandler(this.ButtonItem_Pkg_SaveTemplateAs_Click); - // - // radRibbonBarGroup_PackagingPacket - // - this.radRibbonBarGroup_PackagingPacket.Items.AddRange(new Telerik.WinControls.RadItem[] { - this.radButtonElement_ExportPackage}); - this.radRibbonBarGroup_PackagingPacket.Name = "radRibbonBarGroup_PackagingPacket"; - this.radRibbonBarGroup_PackagingPacket.Text = "Paket"; - // - // radButtonElement_ExportPackage - // - this.radButtonElement_ExportPackage.Image = global::Pilz.Updating.Administration.GUI.My.Resources.Resources.icons8_export_32px_3; - this.radButtonElement_ExportPackage.ImageAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_ExportPackage.Name = "radButtonElement_ExportPackage"; - this.radButtonElement_ExportPackage.Text = "Paket
exportieren"; - this.radButtonElement_ExportPackage.TextAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_ExportPackage.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; - this.radButtonElement_ExportPackage.Click += new System.EventHandler(this.ButtonItem_Pkg_Export_Click); - // - // radRibbonBarGroup_PackageFiles - // - this.radRibbonBarGroup_PackageFiles.Items.AddRange(new Telerik.WinControls.RadItem[] { - this.radButtonElement_SelectFolder, - this.radButtonElement_RemoveFolder}); - this.radRibbonBarGroup_PackageFiles.Name = "radRibbonBarGroup_PackageFiles"; - this.radRibbonBarGroup_PackageFiles.Text = "Dateien"; - this.radRibbonBarGroup_PackageFiles.Visibility = Telerik.WinControls.ElementVisibility.Hidden; - // - // radButtonElement_SelectFolder - // - this.radButtonElement_SelectFolder.Image = global::Pilz.Updating.Administration.GUI.My.Resources.Resources.icons8_opened_folder_32px; - this.radButtonElement_SelectFolder.ImageAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_SelectFolder.Name = "radButtonElement_SelectFolder"; - this.radButtonElement_SelectFolder.Text = "Ordner
auswählen"; - this.radButtonElement_SelectFolder.TextAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_SelectFolder.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; - this.radButtonElement_SelectFolder.Click += new System.EventHandler(this.ButtonItem_Pkg_SelectFileFolder_Click); - // - // radButtonElement_RemoveFolder - // - this.radButtonElement_RemoveFolder.Image = global::Pilz.Updating.Administration.GUI.My.Resources.Resources.icons8_delete_sign_32px_1; - this.radButtonElement_RemoveFolder.ImageAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_RemoveFolder.Name = "radButtonElement_RemoveFolder"; - this.radButtonElement_RemoveFolder.Text = "Ordner
entfernen"; - this.radButtonElement_RemoveFolder.TextAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_RemoveFolder.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; - this.radButtonElement_RemoveFolder.Click += new System.EventHandler(this.ButtonItem_Pkg_RemoveFileFolder_Click); - // - // radRibbonBarGroup_PackageExtensions - // - this.radRibbonBarGroup_PackageExtensions.Items.AddRange(new Telerik.WinControls.RadItem[] { - this.radButtonElement_ExtAdd, - this.radButtonElement_ExtRemove}); - this.radRibbonBarGroup_PackageExtensions.Name = "radRibbonBarGroup_PackageExtensions"; - this.radRibbonBarGroup_PackageExtensions.Text = "Erweiterungen"; - this.radRibbonBarGroup_PackageExtensions.Visibility = Telerik.WinControls.ElementVisibility.Hidden; - // - // radButtonElement_ExtAdd - // - this.radButtonElement_ExtAdd.Image = global::Pilz.Updating.Administration.GUI.My.Resources.Resources.icons8_merge_files_32px; - this.radButtonElement_ExtAdd.ImageAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_ExtAdd.Name = "radButtonElement_ExtAdd"; - this.radButtonElement_ExtAdd.Text = "Erweiterung
hinzufügen"; - this.radButtonElement_ExtAdd.TextAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_ExtAdd.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; - this.radButtonElement_ExtAdd.Click += new System.EventHandler(this.ButtonItem_Pkg_AddExtension_Click); - // - // radButtonElement_ExtRemove - // - this.radButtonElement_ExtRemove.Image = global::Pilz.Updating.Administration.GUI.My.Resources.Resources.icons8_delete_sign_32px_1; - this.radButtonElement_ExtRemove.ImageAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_ExtRemove.Name = "radButtonElement_ExtRemove"; - this.radButtonElement_ExtRemove.Text = "Erweiterung
entfernen"; - this.radButtonElement_ExtRemove.TextAlignment = System.Drawing.ContentAlignment.TopCenter; - this.radButtonElement_ExtRemove.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; - this.radButtonElement_ExtRemove.Click += new System.EventHandler(this.ButtonItem_Pkg_RemoveExtension_Click); - // - // radPageViewPage_Packaging - // - this.radPageViewPage_Packaging.Controls.Add(this.radTreeView_PackagingFiles); - this.radPageViewPage_Packaging.Image = global::Pilz.Updating.Administration.GUI.My.Resources.Resources.icons8_new_file_16px; - this.radPageViewPage_Packaging.ItemSize = new System.Drawing.SizeF(124F, 33F); - this.radPageViewPage_Packaging.Location = new System.Drawing.Point(151, 37); - this.radPageViewPage_Packaging.Name = "radPageViewPage_Packaging"; - this.radPageViewPage_Packaging.Size = new System.Drawing.Size(492, 340); - this.radPageViewPage_Packaging.Text = "Paketierung"; - // - // radTreeView_PackagingFiles - // - this.radTreeView_PackagingFiles.Dock = System.Windows.Forms.DockStyle.Fill; - this.radTreeView_PackagingFiles.ItemHeight = 28; - this.radTreeView_PackagingFiles.LineColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204))))); - this.radTreeView_PackagingFiles.LineStyle = Telerik.WinControls.UI.TreeLineStyle.Solid; - this.radTreeView_PackagingFiles.Location = new System.Drawing.Point(0, 0); - this.radTreeView_PackagingFiles.Name = "radTreeView_PackagingFiles"; - this.radTreeView_PackagingFiles.Size = new System.Drawing.Size(492, 340); - this.radTreeView_PackagingFiles.TabIndex = 0; - // - // radPageViewPage_Extensions - // - this.radPageViewPage_Extensions.Controls.Add(this.radListView_Extensions); - this.radPageViewPage_Extensions.Image = global::Pilz.Updating.Administration.GUI.My.Resources.Resources.icons8_merge_files_16px_1; - this.radPageViewPage_Extensions.ItemSize = new System.Drawing.SizeF(124F, 33F); - this.radPageViewPage_Extensions.Location = new System.Drawing.Point(151, 37); - this.radPageViewPage_Extensions.Name = "radPageViewPage_Extensions"; - this.radPageViewPage_Extensions.Size = new System.Drawing.Size(492, 340); - this.radPageViewPage_Extensions.Text = "Erweiterungen"; - // - // radListView_Extensions - // - listViewDetailColumn6.HeaderText = "Datei"; - listViewDetailColumn6.Width = 150F; - listViewDetailColumn7.HeaderText = "Ort"; - listViewDetailColumn7.Width = 250F; - this.radListView_Extensions.Columns.AddRange(new Telerik.WinControls.UI.ListViewDetailColumn[] { - listViewDetailColumn6, - listViewDetailColumn7}); - this.radListView_Extensions.Dock = System.Windows.Forms.DockStyle.Fill; - this.radListView_Extensions.GroupItemSize = new System.Drawing.Size(200, 28); - this.radListView_Extensions.ItemSize = new System.Drawing.Size(200, 28); - this.radListView_Extensions.ItemSpacing = -1; - this.radListView_Extensions.Location = new System.Drawing.Point(0, 0); - this.radListView_Extensions.Name = "radListView_Extensions"; - this.radListView_Extensions.Size = new System.Drawing.Size(492, 340); - this.radListView_Extensions.TabIndex = 0; - this.radListView_Extensions.ViewType = Telerik.WinControls.UI.ListViewType.DetailsView; - this.radListView_Extensions.CellFormatting += new Telerik.WinControls.UI.ListViewCellFormattingEventHandler(this.RadListView1_CellFormatting_1); + dotsRingWaitingBarIndicatorElement_PackageLoading.Name = "dotsRingWaitingBarIndicatorElement_PackageLoading"; // // radPageView1 // - this.radPageView1.Controls.Add(this.radPageViewPage1); - this.radPageView1.Controls.Add(this.radPageViewPage2); - this.radPageView1.Controls.Add(this.radPageViewPage_Packaging); - this.radPageView1.Controls.Add(this.radPageViewPage_Extensions); - this.radPageView1.Dock = System.Windows.Forms.DockStyle.Fill; - this.radPageView1.Location = new System.Drawing.Point(0, 167); - this.radPageView1.Name = "radPageView1"; - this.radPageView1.SelectedPage = this.radPageViewPage1; - this.radPageView1.Size = new System.Drawing.Size(644, 380); - this.radPageView1.TabIndex = 2; - this.radPageView1.ViewMode = Telerik.WinControls.UI.PageViewMode.NavigationView; - this.radPageView1.SelectedPageChanged += new System.EventHandler(this.RadPageView1_SelectedPageChanged); - ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(radPageView1.GetChildAt(0))).HeaderHeight = 36; - ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(radPageView1.GetChildAt(0))).ExpandedPaneWidth = 150; - ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(radPageView1.GetChildAt(0))).CollapsedPaneWidth = 40; - ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(radPageView1.GetChildAt(0))).ItemFitMode = Telerik.WinControls.UI.StripViewItemFitMode.FillHeight; - ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)(radPageView1.GetChildAt(0))).ItemSizeMode = Telerik.WinControls.UI.PageViewItemSizeMode.EqualHeight; + radPageView1.Controls.Add(radPageViewPage1); + radPageView1.Controls.Add(radPageViewPage2); + radPageView1.Dock = DockStyle.Fill; + radPageView1.Location = new Point(0, 165); + radPageView1.Name = "radPageView1"; + radPageView1.SelectedPage = radPageViewPage1; + radPageView1.Size = new Size(644, 382); + radPageView1.TabIndex = 2; + radPageView1.ViewMode = Telerik.WinControls.UI.PageViewMode.NavigationView; + radPageView1.SelectedPageChanged += RadPageView1_SelectedPageChanged; + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)radPageView1.GetChildAt(0)).HeaderHeight = 36; + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)radPageView1.GetChildAt(0)).ExpandedPaneWidth = 150; + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)radPageView1.GetChildAt(0)).CollapsedPaneWidth = 40; + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)radPageView1.GetChildAt(0)).ItemFitMode = Telerik.WinControls.UI.StripViewItemFitMode.FillHeight; + ((Telerik.WinControls.UI.RadPageViewNavigationViewElement)radPageView1.GetChildAt(0)).ItemSizeMode = Telerik.WinControls.UI.PageViewItemSizeMode.EqualHeight; // // radRibbonBar1 // - this.radRibbonBar1.BackstageControl = this.radRibbonBarBackstageView1; - this.radRibbonBar1.CommandTabs.AddRange(new Telerik.WinControls.RadItem[] { - this.ribbonTab_Project, - this.ribbonTab_Package, - this.ribbonTab_Packaging}); - this.radRibbonBar1.Location = new System.Drawing.Point(0, 0); - this.radRibbonBar1.Name = "radRibbonBar1"; - this.radRibbonBar1.ShowExpandButton = false; - this.radRibbonBar1.Size = new System.Drawing.Size(644, 167); - this.radRibbonBar1.StartButtonImage = null; - this.radRibbonBar1.TabIndex = 0; - this.radRibbonBar1.Text = "Administration"; - ((Telerik.WinControls.UI.RadRibbonBarElement)(radRibbonBar1.GetChildAt(0))).Text = "Administration"; - ((Telerik.WinControls.UI.RadQuickAccessToolBar)(radRibbonBar1.GetChildAt(0).GetChildAt(2))).Visibility = Telerik.WinControls.ElementVisibility.Hidden; - ((Telerik.WinControls.UI.RadApplicationMenuButtonElement)(radRibbonBar1.GetChildAt(0).GetChildAt(5))).Visibility = Telerik.WinControls.ElementVisibility.Collapsed; - // - // radWaitingBar_PackageCreation - // - this.radWaitingBar_PackageCreation.AssociatedControl = this.radTreeView_PackagingFiles; - this.radWaitingBar_PackageCreation.Location = new System.Drawing.Point(414, 323); - this.radWaitingBar_PackageCreation.Name = "radWaitingBar_PackageCreation"; - this.radWaitingBar_PackageCreation.Size = new System.Drawing.Size(70, 70); - this.radWaitingBar_PackageCreation.TabIndex = 4; - this.radWaitingBar_PackageCreation.Text = "radWaitingBar1"; - this.radWaitingBar_PackageCreation.WaitingIndicators.Add(this.dotsRingWaitingBarIndicatorElement1); - this.radWaitingBar_PackageCreation.WaitingIndicatorSize = new System.Drawing.Size(100, 14); - this.radWaitingBar_PackageCreation.WaitingSpeed = 50; - this.radWaitingBar_PackageCreation.WaitingStyle = Telerik.WinControls.Enumerations.WaitingBarStyles.DotsRing; - // - // dotsRingWaitingBarIndicatorElement1 - // - this.dotsRingWaitingBarIndicatorElement1.Name = "dotsRingWaitingBarIndicatorElement1"; + radRibbonBar1.BackstageControl = radRibbonBarBackstageView1; + radRibbonBar1.CommandTabs.AddRange(new Telerik.WinControls.RadItem[] { ribbonTab_Project, ribbonTab_Package }); + radRibbonBar1.Location = new Point(0, 0); + radRibbonBar1.Name = "radRibbonBar1"; + radRibbonBar1.ShowExpandButton = false; + radRibbonBar1.Size = new Size(644, 165); + radRibbonBar1.TabIndex = 0; + radRibbonBar1.Text = "Administration"; + ((Telerik.WinControls.UI.RadRibbonBarElement)radRibbonBar1.GetChildAt(0)).Text = "Administration"; + ((Telerik.WinControls.UI.RadQuickAccessToolBar)radRibbonBar1.GetChildAt(0).GetChildAt(2)).Visibility = Telerik.WinControls.ElementVisibility.Hidden; + ((Telerik.WinControls.UI.RadApplicationMenuButtonElement)radRibbonBar1.GetChildAt(0).GetChildAt(5)).Visibility = Telerik.WinControls.ElementVisibility.Collapsed; // // UpdateManagerWindow // - this.AutoScaleBaseSize = new System.Drawing.Size(7, 15); - this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(644, 547); - this.Controls.Add(this.radWaitingBar_PackageCreation); - this.Controls.Add(this.radWaitingBar_PackageLoading); - this.Controls.Add(this.radPageView1); - this.Controls.Add(this.radRibbonBar1); - this.Controls.Add(this.radRibbonBarBackstageView1); - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.Name = "UpdateManagerWindow"; - // - // - // - this.RootElement.ApplyShapeToControl = true; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; - this.Tag = "650; 550"; - this.Text = "Administration"; - ((System.ComponentModel.ISupportInitialize)(this.radRibbonBarBackstageView1)).EndInit(); - this.radPageViewPage1.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.radListView_Packages)).EndInit(); - this.radPageViewPage2.ResumeLayout(false); - this.panel1.ResumeLayout(false); - this.panel1.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radTextBoxControl_DownloadURL)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radWaitingBar_PackageLoading)).EndInit(); - this.radPageViewPage_Packaging.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.radTreeView_PackagingFiles)).EndInit(); - this.radPageViewPage_Extensions.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.radListView_Extensions)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radPageView1)).EndInit(); - this.radPageView1.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.radRibbonBar1)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.radWaitingBar_PackageCreation)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this)).EndInit(); - this.ResumeLayout(false); - this.PerformLayout(); - + AutoScaleBaseSize = new Size(7, 15); + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(644, 547); + Controls.Add(radWaitingBar_PackageLoading); + Controls.Add(radPageView1); + Controls.Add(radRibbonBar1); + Controls.Add(radRibbonBarBackstageView1); + Icon = (Icon)resources.GetObject("$this.Icon"); + Name = "UpdateManagerWindow"; + StartPosition = FormStartPosition.CenterScreen; + Tag = "650; 550"; + Text = "Administration"; + ((System.ComponentModel.ISupportInitialize)radRibbonBarBackstageView1).EndInit(); + radPageViewPage1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)radListView_Packages).EndInit(); + radPageViewPage2.ResumeLayout(false); + panel1.ResumeLayout(false); + panel1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)radLabel1).EndInit(); + ((System.ComponentModel.ISupportInitialize)radTextBoxControl_DownloadURL).EndInit(); + ((System.ComponentModel.ISupportInitialize)radWaitingBar_PackageLoading).EndInit(); + ((System.ComponentModel.ISupportInitialize)radPageView1).EndInit(); + radPageView1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)radRibbonBar1).EndInit(); + ((System.ComponentModel.ISupportInitialize)this).EndInit(); + ResumeLayout(false); + PerformLayout(); } private Telerik.WinControls.UI.RadRibbonBar radRibbonBar1; @@ -742,9 +449,7 @@ namespace Pilz.Updating.Administration.GUI private Telerik.WinControls.UI.RadButtonElement radButtonElement_Proxy; private Telerik.WinControls.UI.RadButtonElement radButtonElement_UploadConfiguration; private Telerik.WinControls.UI.RadButtonElement radButtonElement_ExportConfiguration; - private Telerik.WinControls.UI.RadRibbonBarGroup radRibbonBarGroup_NewPackage; private Telerik.WinControls.UI.RadButtonElement radButtonElement_CretateNewPackageAndUpload; - private Telerik.WinControls.UI.RadButtonElement radButtonElement_UploadExistingPackage; private Telerik.WinControls.UI.RadRibbonBarGroup radRibbonBarGroup_PackageManagement; private Telerik.WinControls.UI.RadButtonElement radButtonElement_EditPackageVersion; private Telerik.WinControls.UI.RadButtonElement radButtonElement_EditPackageDescription; @@ -761,25 +466,5 @@ namespace Pilz.Updating.Administration.GUI private Telerik.WinControls.UI.RadTextBoxControl radTextBoxControl_DownloadURL; private Telerik.WinControls.UI.RadWaitingBar radWaitingBar_PackageLoading; private Telerik.WinControls.UI.DotsRingWaitingBarIndicatorElement dotsRingWaitingBarIndicatorElement_PackageLoading; - private Telerik.WinControls.UI.RibbonTab ribbonTab_Packaging; - private Telerik.WinControls.UI.RadRibbonBarGroup radRibbonBarGroup_PackagingTemplate; - private Telerik.WinControls.UI.RadButtonElement radButtonElement1; - private Telerik.WinControls.UI.RadButtonElement radButtonElement2; - private Telerik.WinControls.UI.RadButtonElement radButtonElement4; - private Telerik.WinControls.UI.RadButtonElement radButtonElement5; - private Telerik.WinControls.UI.RadRibbonBarGroup radRibbonBarGroup_PackagingPacket; - private Telerik.WinControls.UI.RadButtonElement radButtonElement_ExportPackage; - private Telerik.WinControls.UI.RadRibbonBarGroup radRibbonBarGroup_PackageFiles; - private Telerik.WinControls.UI.RadButtonElement radButtonElement_SelectFolder; - private Telerik.WinControls.UI.RadButtonElement radButtonElement_RemoveFolder; - private Telerik.WinControls.UI.RadRibbonBarGroup radRibbonBarGroup_PackageExtensions; - private Telerik.WinControls.UI.RadButtonElement radButtonElement_ExtAdd; - private Telerik.WinControls.UI.RadButtonElement radButtonElement_ExtRemove; - private Telerik.WinControls.UI.RadPageViewPage radPageViewPage_Packaging; - private Telerik.WinControls.UI.RadPageViewPage radPageViewPage_Extensions; - private Telerik.WinControls.UI.RadTreeView radTreeView_PackagingFiles; - private Telerik.WinControls.UI.RadListView radListView_Extensions; - private Telerik.WinControls.UI.RadWaitingBar radWaitingBar_PackageCreation; - private Telerik.WinControls.UI.DotsRingWaitingBarIndicatorElement dotsRingWaitingBarIndicatorElement1; } } \ No newline at end of file diff --git a/Pilz.Updating.Administration.GUI/UpdateManagerWindow.cs b/Pilz.Updating.Administration.GUI/UpdateManagerWindow.cs index f2d96d9..702ffa3 100644 --- a/Pilz.Updating.Administration.GUI/UpdateManagerWindow.cs +++ b/Pilz.Updating.Administration.GUI/UpdateManagerWindow.cs @@ -1,9 +1,9 @@ -using global::System.IO; -using Microsoft.VisualBasic.CompilerServices; +using Microsoft.VisualBasic.CompilerServices; using Pilz.Updating.Administration.Discord; -using Pilz.Updating.Administration.Packaging; +using Pilz.Updating.Administration.Integrations; using System; using System.Collections.Generic; +using System.IO; using System.Threading.Tasks; using System.Windows.Forms; using Telerik.WinControls; @@ -14,22 +14,17 @@ namespace Pilz.Updating.Administration.GUI; public partial class UpdateManagerWindow { - // C o n s t a n t s - private const string FILTER_UPDATEINFO_CONFIGURATION = "JSON (*.json)|*.json"; - private const string FILTER_UPDATEPROJECT = "Update-Info-Konfiguration (*.udic)|*.udic"; - private const string FILTER_UPDATEPACKAGE = "ZIP-Archiv (*.zip)|*.zip"; - private const string FILTER_PACKAGE_TEMPLATE = "Update-Paket-Vorlagen (*.udpt)|*.udpt"; - private const string FILTER_PACKAGE_ZIP_PACKAGE = "ZIP-Paket (*.zip)|*.zip"; - private const string FILTER_PACKAGE_ADDON = "Anwendungserweiterung (*.dll)|*.dll"; + private const string FILTER_UPDATEINFO_CONFIGURATION = "Json file (*.json)|*.json"; + private const string FILTER_UPDATEPROJECT = "Project file (*.udic)|*.udic"; + private const string FILTER_UPDATEPACKAGE = "Zip archiv (*.zip)|*.zip"; // F i e l d s private string curProjectFilePath; private UpdateServerManager manager = null; private DiscordBot discordBot = null; - private readonly UpdatePackageManager packageManager = new UpdatePackageManager(); private string curPackageTemplatePath = string.Empty; // P r o p e r t i e s @@ -58,20 +53,11 @@ public partial class UpdateManagerWindow radWaitingBar_PackageLoading.StopWaiting(); } - private void ProgressPackagingControls(bool enabled) - { - if (enabled) - radWaitingBar_PackageCreation.StartWaiting(); - else - radWaitingBar_PackageCreation.StopWaiting(); - } - private void SetEnabledUiControls(bool enabled, bool setProjectOptionsAlwayToTrue = false) { radRibbonBarGroup_Options.Enabled = enabled || setProjectOptionsAlwayToTrue; radButtonElement_SaveProject.Enabled = enabled || setProjectOptionsAlwayToTrue; radRibbonBarGroup_Configuration.Enabled = enabled; - radRibbonBarGroup_NewPackage.Enabled = enabled; } private async Task CreateNewProject(string filePath) @@ -110,11 +96,10 @@ public partial class UpdateManagerWindow { manager = new UpdateServerManager(General.CurProject.UpdateServerConfig); - if (await manager.LoadInfoFromServer()) + if (manager.Config.GitLabSnippetConfig.Enabled && await manager.ReadInfoFromGitLabSnippet()) { - await LoadPackageList(); + LoadPackageList(); LoadUpdateInstallerInfos(); - hasError = false; } else @@ -136,27 +121,27 @@ public partial class UpdateManagerWindow ProgressControls(false); } - private async Task LoadPackageList() + private void LoadPackageList() { ProgressControls(true); radListView_Packages.BeginUpdate(); radListView_Packages.Items.Clear(); - foreach (var pkgVersion in await manager.GetUpdatePackagesList()) + foreach (var pkg in manager.UpdateInfo.Packages) { - var name = manager.GetPackageDescription(pkgVersion).name; + var name = pkg.Name; var cells = new List { - string.IsNullOrEmpty(name) ? "" : name, - pkgVersion.Version.ToString(), - pkgVersion.Channel.ToString(), - pkgVersion.Build.ToString(), - "Ja" + string.IsNullOrEmpty(name) ? "" : name, + pkg.Version.Version.ToString(), + pkg.Version.Channel.ToString(), + pkg.Version.Build.ToString(), + "Yes" }; - var item = new ListViewDataItem(String.Empty, cells.ToArray()) + var item = new ListViewDataItem(string.Empty, [.. cells]) { - Tag = pkgVersion + Tag = pkg }; radListView_Packages.Items.Add(item); @@ -174,79 +159,61 @@ public partial class UpdateManagerWindow radTextBoxControl_DownloadURL.Text = manager.UpdateInfo.UpdateInstallerLink; } - private ApplicationVersion GetSelectedPackageVersion() + private UpdatePackageInfo GetSelectedPackage() { - return radListView_Packages.SelectedItem?.Tag as ApplicationVersion; + return radListView_Packages.SelectedItem?.Tag as UpdatePackageInfo; } - private async Task UploadPackage(string filePath) + private bool CreatePackage(string filePath) { - var success = false; - var resVersion = EditApplicationVersion(); + var pkg = new UpdatePackageInfo(); + var canceld = EditPackageMeta(pkg); - if (!resVersion.canceled) + if (!canceld) + manager.UpdateInfo.Packages.Add(pkg); + + return !canceld; + } + + private bool EditPackageMeta(UpdatePackageInfo pkg) + { + var frm = new PackageMetaEditor { - ProgressControls(true); - if (await manager.UploadPackage(filePath, resVersion.newVersion)) - success = true; - ProgressControls(false); - await SaveInfoToServer(); - } - - return success; - } - - private (ApplicationVersion newVersion, bool canceled) EditApplicationVersion() - { - return EditApplicationVersion(new ApplicationVersion()); - } - - private (ApplicationVersion newVersion, bool canceled) EditApplicationVersion(ApplicationVersion inputVersion) - { - var frm = new ApplicationVersionInput() - { - Version = inputVersion.Version, - Channel = inputVersion.Channel, - Build = inputVersion.Build + Version = pkg.Version.Version, + Channel = pkg.Version.Channel, + Build = pkg.Version.Build, + Packagelink = pkg.Packagelink }; - if (frm.ShowDialog(this) == DialogResult.OK) - return (new ApplicationVersion(frm.Version, frm.Build, frm.Channel), false); - else - return (inputVersion, true); + if (frm.ShowDialog(this) != DialogResult.OK) + return false; + + pkg.Version.Version = frm.Version; + pkg.Version.Build = frm.Build; + pkg.Version.Channel = frm.Channel; + pkg.Packagelink = frm.Packagelink; + + return true; } - private async Task DeletePackage(ApplicationVersion version) + private bool DeletePackage(UpdatePackageInfo pkg) { ProgressControls(true); - bool success = await manager.DeletePackage(version); + var success = manager.UpdateInfo.Packages.Remove(pkg); ProgressControls(false); return success; } private async Task SaveInfoToServer() { + if (!manager.Config.GitLabSnippetConfig.Enabled) + return false; ProgressControls(true); - bool success = await manager.SaveInfoToServer(); + var success = await manager.SaveInfoToGitLabSnippet(); ProgressControls(false); return success; } - private async Task ChangePackageVersion(ApplicationVersion version) - { - bool success = false; - var (newVersion, canceled) = EditApplicationVersion(version); - - if (!canceled) - { - ProgressControls(true); - success = await manager.ChangePackageVersion(version, newVersion); - ProgressControls(false); - } - - return success; - } - // G u i private void UpdateManagerWindow_Shown(object sender, EventArgs e) @@ -269,8 +236,7 @@ public partial class UpdateManagerWindow private void UpdateManagerWindow_FormClosing(object sender, FormClosingEventArgs e) { - if (discordBot is object) - discordBot.Stop(); + discordBot?.Stop(); } private async void ButtonItem_NewProject_Click(object sender, EventArgs e) @@ -313,52 +279,31 @@ public partial class UpdateManagerWindow await SaveInfoToServer(); } - private async void ButtonItem_ExportUpdateConfiguration_Click(object sender, EventArgs e) + private void ButtonItem_ExportUpdateConfiguration_Click(object sender, EventArgs e) { var sfd_UpdateAdministration_UpdateConfiguration = new RadSaveFileDialog() { Filter = FILTER_UPDATEINFO_CONFIGURATION }; if (sfd_UpdateAdministration_UpdateConfiguration.ShowDialog(this) == DialogResult.OK) - await manager.SaveInfoToFile(sfd_UpdateAdministration_UpdateConfiguration.FileName); + manager.SaveInfoToFile(sfd_UpdateAdministration_UpdateConfiguration.FileName); } - private async void ButtonItem_CreateAndUploadPackage_Click(object sender, EventArgs e) + private void ButtonItem_CreateAndUploadPackage_Click(object sender, EventArgs e) { - var success = false; - - if (await ExportTempUpdatePackage()) + if (CreatePackage(TempPackageFilePath)) { - if (await UploadPackage(TempPackageFilePath)) - { - await LoadPackageList(); - success = true; - } + LoadPackageList(); + return; } - if (!success) - RadMessageBox.Show(this, My.Resources.UpdatingAdministrationLangRes.MsgBox_PkgExportSuccess, My.Resources.UpdatingAdministrationLangRes.MsgBox_PkgExportSuccess_Titel, MessageBoxButtons.OK, RadMessageIcon.Info); + RadMessageBox.Show(this, My.Resources.UpdatingAdministrationLangRes.MsgBox_PkgExportSuccess, My.Resources.UpdatingAdministrationLangRes.MsgBox_PkgExportSuccess_Titel, MessageBoxButtons.OK, RadMessageIcon.Info); } - private async void ButtonItem_UploadExistingPackage_Click(object sender, EventArgs e) + private void ButtonItem_RemovePackage_Click(object sender, EventArgs e) { - var ofd_UpdateAdministration_UpdatePackage = new RadOpenFileDialog() - { - Filter = FILTER_UPDATEPACKAGE - }; - - if (ofd_UpdateAdministration_UpdatePackage.ShowDialog(this) == DialogResult.OK) - { - if (await UploadPackage(ofd_UpdateAdministration_UpdatePackage.FileName)) - await LoadPackageList(); - } - } - - private async void ButtonItem_RemovePackage_Click(object sender, EventArgs e) - { - var version = GetSelectedPackageVersion(); - if (await DeletePackage(version)) - await LoadPackageList(); + if (DeletePackage(GetSelectedPackage())) + LoadPackageList(); } private void TextBoxX_UpdateInstallerDownloadUrl_TextChanged(object sender, EventArgs e) @@ -371,10 +316,9 @@ public partial class UpdateManagerWindow if (discordBot == null) LoadDiscordBot(); - if (discordBot is object) + if (discordBot is not null) { - var version = GetSelectedPackageVersion(); - var pkg = manager.GetUpdatePackageInfo(version); + var pkg = GetSelectedPackage(); var frm = new DiscordPostDialog(discordBot, pkg); frm.ShowDialog(this); } @@ -384,7 +328,7 @@ public partial class UpdateManagerWindow private void LoadDiscordBot() { - if (discordBot is object) + if (discordBot is not null) discordBot.Stop(); discordBot = new DiscordBot(General.CurProject.DiscordBotConfig); @@ -410,31 +354,28 @@ public partial class UpdateManagerWindow discordBot = null; } - private async void ButtonItem_ChangeVersion_Click(object sender, EventArgs e) + private void ButtonItem_ChangeVersion_Click(object sender, EventArgs e) { - var version = GetSelectedPackageVersion(); - if (await ChangePackageVersion(version)) - { - await SaveInfoToServer(); - await LoadPackageList(); - } + if (EditPackageMeta(GetSelectedPackage())) + LoadPackageList(); } private async void ButtonItem_EditDescription_Click(object sender, EventArgs e) { - var version = GetSelectedPackageVersion(); - var desc = manager.GetPackageDescription(version); + var pkg = GetSelectedPackage(); - var frm = new PackageDescriptionEditor() + var frm = new PackageDescriptionEditor { - Titel = desc.name, - Description = desc.description, - DescriptionType = desc.descriptionType + Titel = pkg.Name, + Description = pkg.Notes.Content, + DescriptionType = pkg.Notes.ContentType }; if (frm.ShowDialog(this) == DialogResult.OK) { - manager.SetPackageDescription(version, frm.Titel, frm.Description, frm.DescriptionType); + pkg.Name = frm.Titel; + pkg.Notes.Content = frm.Description; + pkg.Notes.ContentType = frm.DescriptionType; await SaveInfoToServer(); } } @@ -475,252 +416,5 @@ public partial class UpdateManagerWindow private void RadPageView1_SelectedPageChanged(object sender, EventArgs e) { - var selPage = radPageView1.SelectedPage; - - if (selPage == radPageViewPage_Extensions) - { - radRibbonBarGroup_PackageFiles.Visibility = ElementVisibility.Collapsed; - radRibbonBarGroup_PackageExtensions.Visibility = ElementVisibility.Visible; - } - else if (selPage == radPageViewPage_Packaging) - { - radRibbonBarGroup_PackageFiles.Visibility = ElementVisibility.Visible; - radRibbonBarGroup_PackageExtensions.Visibility = ElementVisibility.Collapsed; - } - } - - // F e a t u r e s - P a c k a g i n g - - private void ShowAllPackageTemplateConfig() - { - ShowPackageFiles(); - ShowPackageExtensions(); - } - - private void ShowPackageFiles() - { - radTreeView_PackagingFiles.BeginUpdate(); - radTreeView_PackagingFiles.Nodes.Clear(); - - if (!string.IsNullOrEmpty(packageManager.FilesToCopyPath)) - { - Action nodeCreation = null; - nodeCreation = (parentCollection, p) => - { - bool isDir = (File.GetAttributes(p) & FileAttributes.Directory) == FileAttributes.Directory; - var n = new RadTreeNode() - { - Tag = p, - Text = radTreeView_PackagingFiles.Nodes == parentCollection ? p : Path.GetFileName(p), - ImageIndex = isDir ? 0 : 1 - }; - parentCollection.Add(n); - if (isDir) - { - var dirInfo = new DirectoryInfo(p); - dirInfo.EnumerateDirectories().ForEach(di => nodeCreation(n.Nodes, di.FullName)); - dirInfo.EnumerateFiles().ForEach(fi => nodeCreation(n.Nodes, fi.FullName)); - } - }; - nodeCreation(radTreeView_PackagingFiles.Nodes, packageManager.FilesToCopyPath); - } - - radTreeView_PackagingFiles.EndUpdate(); - } - - private void ShowPackageExtensions() - { - radListView_Extensions.BeginUpdate(); - radListView_Extensions.Items.Clear(); - - foreach (string fAddOn in packageManager.GetAllUpdateInstallerÁddOn()) - { - var cells = new List - { - Path.GetFileName(fAddOn), - Path.GetDirectoryName(fAddOn) - }; - - var item = new ListViewDataItem(string.Empty, cells.ToArray()) - { - Tag = fAddOn - }; - - radListView_Extensions.Items.Add(item); - } - - radListView_Extensions.EndUpdate(); - } - - private IEnumerable GetSelectedUpdateInstallAddOns() - { - var list = new List(); - foreach (var item in radListView_Extensions.SelectedItems) - list.Add(Conversions.ToString(item.Tag)); - return list; - } - - private void NewPackageTemplate() - { - packageManager.NewTemplate(); - curPackageTemplatePath = string.Empty; - ShowAllPackageTemplateConfig(); - } - - private void OpenPackageTemplate() - { - var ofd_UpdateAdmin_LoadTemplate = new RadOpenFileDialog() { Filter = FILTER_PACKAGE_TEMPLATE }; - if (ofd_UpdateAdmin_LoadTemplate.ShowDialog() == DialogResult.OK) - { - packageManager.LoadTemplate(ofd_UpdateAdmin_LoadTemplate.FileName); - curPackageTemplatePath = ofd_UpdateAdmin_LoadTemplate.FileName; - ShowAllPackageTemplateConfig(); - } - } - - private void SavePackageTemplate() - { - if (string.IsNullOrEmpty(curPackageTemplatePath)) - { - SavePackageTemplateAs(); - } - else - { - packageManager.SaveTemplate(curPackageTemplatePath); - } - } - - private void SavePackageTemplateAs() - { - var sfd_UpdateAdmin_SaveTemplate = new RadSaveFileDialog() { Filter = FILTER_PACKAGE_TEMPLATE }; - if (sfd_UpdateAdmin_SaveTemplate.ShowDialog() == DialogResult.OK) - { - packageManager.SaveTemplate(sfd_UpdateAdmin_SaveTemplate.FileName); - curPackageTemplatePath = sfd_UpdateAdmin_SaveTemplate.FileName; - } - } - - private void SelectPackageFileFolder() - { - var ofd_UpdateAdmin_PkgFileFolder = new RadOpenFolderDialog(); - if (ofd_UpdateAdmin_PkgFileFolder.ShowDialog() == DialogResult.OK) - { - packageManager.FilesToCopyPath = ofd_UpdateAdmin_PkgFileFolder.FileName; - ShowPackageFiles(); - } - } - - private void RemovePackageFileFolder() - { - packageManager.FilesToCopyPath = string.Empty; - ShowPackageFiles(); - } - - private async Task ExportUpdatePackage(string filePath) - { - bool success = false; - ProgressPackagingControls(true); - - try - { - await Task.Run(() => packageManager.ExportPackage(filePath)); - success = true; - } - catch (Exception) - { - success = false; - } - - ProgressPackagingControls(false); - return success; - } - - private async Task ExportTempUpdatePackage() - { - var filePath = Path.GetTempFileName(); - bool res = await ExportUpdatePackage(filePath); - if (res) TempPackageFilePath = filePath; - return res; - } - - private void AddUpdateInstallerExtension() - { - var ofd_UpdateAdmin_AddExtension = new RadOpenFileDialog() - { - MultiSelect = true, - Filter = FILTER_PACKAGE_ADDON - }; - if (ofd_UpdateAdmin_AddExtension.ShowDialog() == DialogResult.OK) - { - foreach (string f in ofd_UpdateAdmin_AddExtension.FileNames) - { - if (!packageManager.AddUpdateInstallerAddOn(f)) - { - RadMessageBox.Show(My.Resources.UpdatingAdministrationLangRes.MsgBox_ErrorAddingInstallerAddOn, My.Resources.UpdatingAdministrationLangRes.MsgBox_Error_Titel, MessageBoxButtons.OK, RadMessageIcon.Error); - } - } - } - } - - private void RemoveUpdateInstallerExtension() - { - foreach (string fAddOn in GetSelectedUpdateInstallAddOns()) - packageManager.RemoveUpdateInstallerAddOn(fAddOn); - } - - // G u i - P a c k a g i n g - - private void ButtonItem_Pkg_NewTemplate_Click(object sender, EventArgs e) - { - NewPackageTemplate(); - } - - private void ButtonItem_Pkg_OpenTemplate_Click(object sender, EventArgs e) - { - OpenPackageTemplate(); - } - - private void ButtonItem_Pkg_SaveTemplate_Click(object sender, EventArgs e) - { - SavePackageTemplate(); - } - - private void ButtonItem_Pkg_SaveTemplateAs_Click(object sender, EventArgs e) - { - SavePackageTemplateAs(); - } - - private void ButtonItem_Pkg_SelectFileFolder_Click(object sender, EventArgs e) - { - SelectPackageFileFolder(); - } - - private void ButtonItem_Pkg_RemoveFileFolder_Click(object sender, EventArgs e) - { - RemovePackageFileFolder(); - } - - private async void ButtonItem_Pkg_Export_Click(object sender, EventArgs e) - { - var sfd_UpdateAdmin_ExportPkg = new RadSaveFileDialog() - { - Filter = FILTER_PACKAGE_ZIP_PACKAGE - }; - - if (sfd_UpdateAdmin_ExportPkg.ShowDialog() == DialogResult.OK) - { - if (await ExportUpdatePackage(sfd_UpdateAdmin_ExportPkg.FileName)) - RadMessageBox.Show(this, My.Resources.UpdatingAdministrationLangRes.MsgBox_PkgExportSuccess, My.Resources.UpdatingAdministrationLangRes.MsgBox_PkgExportSuccess_Titel, MessageBoxButtons.OK, RadMessageIcon.Info); - } - } - - private void ButtonItem_Pkg_AddExtension_Click(object sender, EventArgs e) - { - AddUpdateInstallerExtension(); - } - - private void ButtonItem_Pkg_RemoveExtension_Click(object sender, EventArgs e) - { - RemoveUpdateInstallerExtension(); } } \ No newline at end of file diff --git a/Pilz.Updating.Administration.GUI/UpdateManagerWindow.resx b/Pilz.Updating.Administration.GUI/UpdateManagerWindow.resx index d2235dd..886ba53 100644 --- a/Pilz.Updating.Administration.GUI/UpdateManagerWindow.resx +++ b/Pilz.Updating.Administration.GUI/UpdateManagerWindow.resx @@ -1,4 +1,64 @@ - + + + diff --git a/Pilz.Updating.Administration/Integrations/GitLabSnippetConfig.cs b/Pilz.Updating.Administration/Integrations/GitLabSnippetConfig.cs new file mode 100644 index 0000000..a6bca46 --- /dev/null +++ b/Pilz.Updating.Administration/Integrations/GitLabSnippetConfig.cs @@ -0,0 +1,13 @@ +using Pilz.Cryptography; + +namespace Pilz.Updating.Administration.Integrations; + +public class GitLabSnippetConfig +{ + public bool Enabled { get; set; } + public string GitLabUrl { get; set; } + public SecureString PersonalAccessToken { get; set; } + public int ProjectId { get; set; } + public int SnippetId { get; set; } + public string SnippetFilePath { get; set; } +} diff --git a/Pilz.Updating.Administration/Integrations/GitLabSnippetExtension.cs b/Pilz.Updating.Administration/Integrations/GitLabSnippetExtension.cs new file mode 100644 index 0000000..931ab44 --- /dev/null +++ b/Pilz.Updating.Administration/Integrations/GitLabSnippetExtension.cs @@ -0,0 +1,65 @@ +using NGitLab; +using NGitLab.Models; +using System.Linq; +using System.Net.Http; +using System.Threading.Tasks; + +namespace Pilz.Updating.Administration.Integrations; + +public static class GitLabSnippetExtension +{ + private static IGitLabClient GetClient(GitLabSnippetConfig config) + { + return new GitLabClient(config.GitLabUrl, config.PersonalAccessToken); + } + + private static bool LoadSnippet(UpdateServerManager manager) + { + var httpClient = new HttpClient(); + var glClient = GetClient(manager.Config.GitLabSnippetConfig); + + if (glClient.Snippets.Get(manager.Config.GitLabSnippetConfig.ProjectId, manager.Config.GitLabSnippetConfig.SnippetId) is not Snippet snippet + || snippet.Files.FirstOrDefault(f => f.Path == manager.Config.GitLabSnippetConfig.SnippetFilePath) is not SnippetFile file + || httpClient.GetStringAsync(snippet.Files[1].RawUrl).Result is not string content) + return false; + + manager.UpdateInfo = UpdateInfo.Parse(content); + + return true; + } + + private static bool SaveSnippet(UpdateServerManager manager) + { + var glClient = GetClient(manager.Config.GitLabSnippetConfig); + + if (glClient == null) + return false; + + glClient.Snippets.Update(new SnippetProjectUpdate + { + SnippetId = manager.Config.GitLabSnippetConfig.SnippetId, + ProjectId = manager.Config.GitLabSnippetConfig.ProjectId, + Files = [ + new SnippetUpdateFile + { + Action = SnippetUpdateFileAction.Update, + FilePath = manager.Config.GitLabSnippetConfig.SnippetFilePath, + Content = manager.UpdateInfo.ToString(), + } + ], + Visibility = VisibilityLevel.Public, + }); + + return true; + } + + public static Task ReadInfoFromGitLabSnippet(this UpdateServerManager manager) + { + return Task.Run(() => LoadSnippet(manager)); + } + + public static Task SaveInfoToGitLabSnippet(this UpdateServerManager manager) + { + return Task.Run(() => SaveSnippet(manager)); + } +} diff --git a/Pilz.Updating.Administration/Packaging/UpdatePackageManager.cs b/Pilz.Updating.Administration/Packaging/UpdatePackageManager.cs deleted file mode 100644 index da9ed0e..0000000 --- a/Pilz.Updating.Administration/Packaging/UpdatePackageManager.cs +++ /dev/null @@ -1,106 +0,0 @@ -using global::Newtonsoft.Json.Linq; -using global::System.IO; -using global::System.Reflection; -using Microsoft.VisualBasic.CompilerServices; -using Pilz.Updating.UpdateInstaller; -using System.Collections.Generic; -using Z.Collections.Extensions; - -namespace Pilz.Updating.Administration.Packaging; - -internal class UpdatePackageManager -{ - - // F i e l d s - - private UpdatePackageTemplate template; - - // P r o p e r t i e s - - public string FilesToCopyPath - { - get - { - return template.FilesToCopyPath; - } - - set - { - template.FilesToCopyPath = value; - } - } - - // C o n s t r u c o t r s - - public UpdatePackageManager() - { - NewTemplate(); - } - - // F e a t u r e s - - public void LoadTemplate(string filePath) - { - template = JObject.Parse(File.ReadAllText(filePath)).ToObject(); - } - - public void SaveTemplate(string filePath) - { - File.WriteAllText(filePath, JObject.FromObject(template).ToString()); - } - - public void NewTemplate() - { - template = new UpdatePackageTemplate(); - } - - public void ExportPackage(string path) - { - var exporter = new UpdatePackagePackager(template); - exporter.Export(path); - } - - private bool CheckUpdateInstallerAddOn(string path) - { - var asm = Assembly.ReflectionOnlyLoadFrom(path); - var t = asm.GetType($"{UpdateInstallerAddOnNameDefinitions.UPDATE_INSTALLER_ADDON_NAMESPACE}.{UpdateInstallerAddOnNameDefinitions.UPDATE_INSTALLER_ADDON_TYPE}", false); - bool isSupported = false; - if (t is object) - { - var mi = t.GetMethod(UpdateInstallerAddOnNameDefinitions.UPDATE_INSTALLER_ADDON_METHOD, BindingFlags.Static | BindingFlags.Public); - if (mi is object) - { - var @params = mi.GetParameters(); - if (@params.Length == 1 && @params.GetType() == typeof(Dictionary)) - { - isSupported = true; - } - } - } - - return isSupported; - } - - public bool AddUpdateInstallerAddOn(string path) - { - if (Conversions.ToBoolean(!template.UpdateInstallerAddOns.Contains(path) && CheckUpdateInstallerAddOn(path))) - { - template.UpdateInstallerAddOns.Add(path); - return true; - } - else - { - return false; - } - } - - public IEnumerable GetAllUpdateInstallerÁddOn() - { - return template.UpdateInstallerAddOns; - } - - public void RemoveUpdateInstallerAddOn(string path) - { - template.UpdateInstallerAddOns.RemoveIfContains(path); - } -} \ No newline at end of file diff --git a/Pilz.Updating.Administration/Packaging/UpdatePackagePackager.cs b/Pilz.Updating.Administration/Packaging/UpdatePackagePackager.cs deleted file mode 100644 index 0a01484..0000000 --- a/Pilz.Updating.Administration/Packaging/UpdatePackagePackager.cs +++ /dev/null @@ -1,51 +0,0 @@ -using System.IO; -using System.IO.Compression; -using Pilz.Updating.UpdateInstaller; -using Z.IO.Extensions; - -namespace Pilz.Updating.Administration.Packaging; - -public class UpdatePackagePackager -{ - public UpdatePackageTemplate UpdatePackageTemplate { get; set; } - - public UpdatePackagePackager(UpdatePackageTemplate updatePackageTemplate) - { - UpdatePackageTemplate = updatePackageTemplate; - } - - public void Export(string exportPath) - { - string tempPath = MyPaths.GetMyAppDataPath(); - var packageDir = new DirectoryInfo(Path.Combine(tempPath, "UpdatePackageCreation")); - - // Ensure package directory exists and is empty - if (packageDir.Exists) - packageDir.Delete(true); - packageDir.Create(); - - // Copy local data to temp data directory - var dataDir = packageDir.CreateSubdirectory(PackageFileNameDefinations.ZIP_APP_DATA_FILES_DIRECTORY); - var localDataDir = new DirectoryInfo(UpdatePackageTemplate.FilesToCopyPath); - localDataDir.CopyTo(dataDir.FullName, SearchOption.AllDirectories); - - // Copy all UpdateInstaller AddOns - var addOnsDir = packageDir.CreateSubdirectory(PackageFileNameDefinations.ZIP_UPDATE_INSTALLER_ADDONS_DIRECTORY); - uint curAddOnID = 0; - foreach (string fAddOn in UpdatePackageTemplate.UpdateInstallerAddOns) - { - File.Copy(fAddOn, Path.Combine(addOnsDir.FullName, $"installer_addon_{curAddOnID}.dll")); - curAddOnID += 1; - } - - // Ensure destination file doesn't exist - if (File.Exists(exportPath)) - File.Delete(exportPath); - - // Export to ZIP - ZipFile.CreateFromDirectory(packageDir.FullName, exportPath); - - // Delete temp directory - packageDir.Delete(true); - } -} \ No newline at end of file diff --git a/Pilz.Updating.Administration/Packaging/UpdatePackageTemplate.cs b/Pilz.Updating.Administration/Packaging/UpdatePackageTemplate.cs deleted file mode 100644 index 5d31643..0000000 --- a/Pilz.Updating.Administration/Packaging/UpdatePackageTemplate.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System.Collections.Generic; - -namespace Pilz.Updating.Administration.Packaging; - -public class UpdatePackageTemplate -{ - public string FilesToCopyPath { get; set; } - public List UpdateInstallerAddOns { get; set; } = []; -} \ No newline at end of file diff --git a/Pilz.Updating.Administration/Pilz.Updating.Administration.csproj b/Pilz.Updating.Administration/Pilz.Updating.Administration.csproj index c9cbc3e..73c427f 100644 --- a/Pilz.Updating.Administration/Pilz.Updating.Administration.csproj +++ b/Pilz.Updating.Administration/Pilz.Updating.Administration.csproj @@ -41,6 +41,7 @@ + diff --git a/Pilz.Updating.Administration/UpdateInstaller/PackageFileNameDefinations.cs b/Pilz.Updating.Administration/UpdateInstaller/PackageFileNameDefinations.cs index 7b0ca7a..2e7b2b4 100644 --- a/Pilz.Updating.Administration/UpdateInstaller/PackageFileNameDefinations.cs +++ b/Pilz.Updating.Administration/UpdateInstaller/PackageFileNameDefinations.cs @@ -3,6 +3,4 @@ public static class PackageFileNameDefinations { public const string ZIP_PACKAGE_FILENAME = "updatepackage.zip"; - public const string ZIP_UPDATE_INSTALLER_ADDONS_DIRECTORY = "installer_addons"; - public const string ZIP_APP_DATA_FILES_DIRECTORY = "appdata"; } \ No newline at end of file diff --git a/Pilz.Updating.Administration/UpdateProject.cs b/Pilz.Updating.Administration/UpdateProject.cs index 14d3644..1fb732f 100644 --- a/Pilz.Updating.Administration/UpdateProject.cs +++ b/Pilz.Updating.Administration/UpdateProject.cs @@ -1,25 +1,26 @@ -using Newtonsoft.Json.Linq; +using Newtonsoft.Json; using Pilz.Updating.Administration.Discord; +using Pilz.Updating.Administration.Integrations; using System.IO; namespace Pilz.Updating.Administration; public class UpdateProject { - public UpdateServerConfig UpdateServerConfig { get; } = new UpdateServerConfig(); - public DiscordBotConfig DiscordBotConfig { get; } = new DiscordBotConfig(); - public ProxyConfiguration ProxyConfig { get; } = new ProxyConfiguration(); + public UpdateServerConfig UpdateServerConfig { get; } = new(); + public DiscordBotConfig DiscordBotConfig { get; } = new(); + public ProxyConfiguration ProxyConfig { get; } = new(); public static UpdateProject Load(string filePath) { if (File.Exists(filePath)) - return JObject.Parse(File.ReadAllText(filePath)).ToObject(); + return JsonConvert.DeserializeObject(File.ReadAllText(filePath)); else - return new UpdateProject(); + return new(); } public void Save(string filePath) { - File.WriteAllText(filePath, JObject.FromObject(this).ToString()); + File.WriteAllText(filePath, JsonConvert.SerializeObject(this)); } } diff --git a/Pilz.Updating.Administration/UpdateServerConfig.cs b/Pilz.Updating.Administration/UpdateServerConfig.cs index bbcded0..099cad1 100644 --- a/Pilz.Updating.Administration/UpdateServerConfig.cs +++ b/Pilz.Updating.Administration/UpdateServerConfig.cs @@ -1,16 +1,8 @@ -using Newtonsoft.Json; -using Pilz.Cryptography; +using Pilz.Updating.Administration.Integrations; namespace Pilz.Updating.Administration; public class UpdateServerConfig { - public bool UseProxyForWebDAV { get; set; } = false; - public string ServerAdress { get; set; } - public string PublicPackageBaseURL { get; set; } - public string UpdateInfoFilename { get; set; } - public string Username { get; set; } - - [JsonProperty("PasswordV3")] - public SecureString Password { get; set; } + public GitLabSnippetConfig GitLabSnippetConfig { get; } = new(); } diff --git a/Pilz.Updating.Administration/UpdateServerManager.cs b/Pilz.Updating.Administration/UpdateServerManager.cs index 5c76192..c3f8db3 100644 --- a/Pilz.Updating.Administration/UpdateServerManager.cs +++ b/Pilz.Updating.Administration/UpdateServerManager.cs @@ -1,403 +1,25 @@ -using Microsoft.VisualBasic; -using Newtonsoft.Json.Linq; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Net; -using System.Threading.Tasks; -using WebDav; -using static Microsoft.VisualBasic.CompilerServices.LikeOperator; +using System.IO; namespace Pilz.Updating.Administration; -public class UpdateServerManager +public class UpdateServerManager(UpdateServerConfig config) { - private const string PKG_SEARCHTEXT = "pkg*.*.*.*.zip"; - private const string PKG_FILENAME_TEMPLATE = "pkg{0}{1}.zip"; - private const string PKG_FILENAME_ALPHADEFINITION = "a"; - private const string PKG_FILENAME_BETADEFINITION = "b"; - private const string PKG_FILENAME_RCDEFINITION = "rc"; - private const string PKG_FILENAME_RELEASEDEFINITION = "r"; - - private WebDavClient client; - public UpdateInfo UpdateInfo { get; private set; } - public UpdateServerConfig Config { get; private set; } + public UpdateInfo UpdateInfo { get; internal set; } = new(); + public UpdateServerConfig Config { get; private set; } = config; public bool IsReady { get; private set; } - public UpdateServerManager(UpdateServerConfig config) - { - GenerateClient(config); - NewInfo(); - } - - public bool GenerateClient(UpdateServerConfig config) - { - bool success; - - try - { - // Create client params - var clientparams = new WebDavClientParams() - { - BaseAddress = new Uri(config.ServerAdress), - Credentials = new NetworkCredential(config.Username, config.Password), - UseProxy = false - }; - - // Create client - client = new WebDavClient(clientparams); - - // Remember config - Config = config; - - success = true; - } - catch (Exception) - { - success = false; - Config = null; - client = null; - } - - return success; - } - - public async Task LoadInfoFromServer() - { - bool success; - - try - { - var response = await client.GetProcessedFile(Config.UpdateInfoFilename); - - if (response.IsSuccessful) - { - var sr = new StreamReader(response.Stream); - var raw = await sr.ReadToEndAsync(); - sr.Close(); - UpdateInfo = JObject.Parse(raw).ToObject(); - } - - success = true; - } - catch (Exception) - { - success = false; - } - - return success; - } - - public async Task SaveInfoToServer() - { - bool success; - - try - { - // Remove configs of non-existing packages - await ClearUpdateInfo(); - - // Update Packagelinks - UpdatePackageLinks(); - - // Write - var raw = UpdateInfo.ToString(); - var ms = new MemoryStream(); - var sw = new StreamWriter(ms); - await sw.WriteAsync(raw); - await sw.FlushAsync(); - - // Upload - ms.Position = 0; - await client.PutFile(Config.UpdateInfoFilename, ms); - - ms.Close(); - success = true; - } - catch (Exception) - { - success = false; - } - - return success; - } - public void LoadInfoFromFile(string filePath) { - UpdateInfo = JObject.Parse(File.ReadAllText(filePath)).ToObject(); + UpdateInfo = UpdateInfo.Parse(File.ReadAllText(filePath)); } - public async Task SaveInfoToFile(string filePath) + public void SaveInfoToFile(string filePath) { - // Remove configs of non-existing packages - await ClearUpdateInfo(); - - // Update Packagelinks - UpdatePackageLinks(); - - // Write File.WriteAllText(filePath, UpdateInfo.ToString()); } public void NewInfo() { - UpdateInfo = new UpdateInfo(); - } - - private async Task ClearUpdateInfo() - { - var pkgs = await GetUpdatePackagesList(); - var infosToRemove = new List(); - - // Find non-existing packages - foreach (var info in UpdateInfo.Packages) - { - if (!pkgs.Where((n) => n == info.Version).Any()) - { - infosToRemove.Add(info); - } - } - - // Remove found packages - foreach (var info in infosToRemove) - UpdateInfo.Packages.Remove(info); - } - - private void UpdatePackageLinks() - { - foreach (var info in UpdateInfo.Packages) - UpdatePackageLink(info); - } - - private void UpdatePackageLink(UpdatePackageInfo info) - { - info.Packagelink = Config.PublicPackageBaseURL + BuildPackageFilename(info.Version); - } - - public async Task> GetUpdatePackagesList() - { - var pkgs = new List(); - var response = await client.Propfind(string.Empty); - - if (response.IsSuccessful) - { - foreach (var resource in response.Resources) - { - var fileName = Path.GetFileName(resource.Uri); - if (!string.IsNullOrEmpty(fileName) && fileName.ToLower() != Config.UpdateInfoFilename && LikeString(fileName, "pkg*.*.*.*.zip", CompareMethod.Text)) - { - var appVersion = new ApplicationVersion(); - bool allowAdd = true; - - fileName = Path.GetFileNameWithoutExtension(fileName); - fileName = fileName.Substring(3); - - // Get alpha/beta/rc value - { - int indexAlpha, indexBeta, indexRC, indexRelease; - indexAlpha = fileName.IndexOf(PKG_FILENAME_ALPHADEFINITION); - indexBeta = fileName.IndexOf(PKG_FILENAME_BETADEFINITION); - indexRC = fileName.IndexOf(PKG_FILENAME_RCDEFINITION); - indexRelease = fileName.IndexOf(PKG_FILENAME_RELEASEDEFINITION); - - int indexDef; - string pkgFilenameDef; - if (indexAlpha > -1) - { - indexDef = indexAlpha; - pkgFilenameDef = PKG_FILENAME_ALPHADEFINITION; - } - else if (indexBeta > -1) - { - indexDef = indexBeta; - pkgFilenameDef = PKG_FILENAME_BETADEFINITION; - } - else if (indexRC > -1) - { - indexDef = indexRC; - pkgFilenameDef = PKG_FILENAME_RCDEFINITION; - } - else if (indexRelease > -1) - { - indexDef = indexRelease; - pkgFilenameDef = PKG_FILENAME_RELEASEDEFINITION; - } - else - { - indexDef = -1; - pkgFilenameDef = null; - } - - if (indexDef > -1) - { - // Get def from filename - var def = fileName.Substring(indexDef); - fileName = fileName.Remove(indexDef); - - // Get channel - switch (pkgFilenameDef) - { - case PKG_FILENAME_ALPHADEFINITION: - appVersion.Channel = Channels.Alpha; - break; - case PKG_FILENAME_BETADEFINITION: - appVersion.Channel = Channels.Beta; - break; - case PKG_FILENAME_RCDEFINITION: - appVersion.Channel = Channels.PreRelease; - break; - case PKG_FILENAME_RELEASEDEFINITION: - appVersion.Channel = Channels.Stable; - break; - } - - // Get build - var defBuild = def.Substring(pkgFilenameDef.Length); - appVersion.Build = Convert.ToInt32(defBuild); - } - else - { - // Set to default - appVersion.Build = 1; - appVersion.Channel = Channels.Stable; - } - } - - // Get version - if (Version.TryParse(fileName, out Version version)) - appVersion.Version = version; - else - allowAdd = false; - - if (allowAdd) - pkgs.Add(appVersion); - } - } - } - - return pkgs; - } - - public async Task DeletePackage(ApplicationVersion version) - { - var fileName = BuildPackageFilename(version); - var response = await client.Delete(fileName); - return response.IsSuccessful; - } - - public async Task UploadPackage(string filePath, ApplicationVersion version) - { - bool success; - var fileName = BuildPackageFilename(version); - - // Upload - var fs = new FileStream(filePath, FileMode.Open, FileAccess.Read); - var response = await client.PutFile(fileName, fs); - fs.Close(); - success = response.IsSuccessful; - - // Generate public downloadlink - if (success) - { - var pkgInfo = GetOrCreateUpdatePackageInfo(version); - pkgInfo.Packagelink = Config.PublicPackageBaseURL + fileName; - } - - return success; - } - - private string BuildPackageFilename(ApplicationVersion version) - { - // Build channel/build definition of filename - string def = string.Empty; - switch (version.Channel) - { - case Channels.Alpha: - def = PKG_FILENAME_ALPHADEFINITION + version.Build; - break; - case Channels.Stable: - if (version.Build != 1) - def = PKG_FILENAME_RELEASEDEFINITION + version.Build; - break; - case Channels.PreRelease: - def = PKG_FILENAME_RCDEFINITION + version.Build; - break; - case Channels.Beta: - def = PKG_FILENAME_BETADEFINITION + version.Build; - break; - } - - // Build filename - var fileName = string.Format(PKG_FILENAME_TEMPLATE, version.Version, def); - - return fileName; - } - - private UpdatePackageInfo GetOrCreateUpdatePackageInfo(ApplicationVersion version) - { - var info = GetUpdatePackageInfo(version); - - info ??= CreateUpdatePackageInfo(version); - - return info; - } - - public UpdatePackageInfo GetUpdatePackageInfo(ApplicationVersion version) - { - return UpdateInfo.Packages.FirstOrDefault((n) => n.Version == version); - } - - private UpdatePackageInfo CreateUpdatePackageInfo(ApplicationVersion version) - { - var info = new UpdatePackageInfo() - { - Version = version - }; - UpdateInfo.Packages.Add(info); - return info; - } - - public (string name, string description, UpdateNotesContentType descriptionType) GetPackageDescription(ApplicationVersion version) - { - var pkg = GetUpdatePackageInfo(version); - if (pkg is object) - return (pkg.Name, pkg.Notes.Content, pkg.Notes.ContentType); - else - return default; - } - - public void SetPackageDescription(ApplicationVersion version, string name, string description, UpdateNotesContentType descriptionType) - { - var pkg = GetOrCreateUpdatePackageInfo(version); - if (pkg is object) - { - pkg.Name = name; - pkg.Notes.Content = description; - pkg.Notes.ContentType = descriptionType; - } - } - - public async Task ChangePackageVersion(ApplicationVersion currentVersion, ApplicationVersion newVersion) - { - bool success = false; - - // Get file names - var currentFilename = BuildPackageFilename(currentVersion); - var newFilename = BuildPackageFilename(newVersion); - - // Move - var response = await client.Move(currentFilename, newFilename); - - // Change package info version, if exists - if (response.IsSuccessful) - { - var pkg = GetUpdatePackageInfo(currentVersion); - if (pkg is object) - pkg.Version = newVersion; - success = true; - } - - return success; + UpdateInfo = new(); } } \ No newline at end of file diff --git a/Pilz.Updating.Client/UpdateClient.cs b/Pilz.Updating.Client/UpdateClient.cs index c94e5f9..17784ab 100644 --- a/Pilz.Updating.Client/UpdateClient.cs +++ b/Pilz.Updating.Client/UpdateClient.cs @@ -1,4 +1,5 @@ using Microsoft.VisualBasic.CompilerServices; +using Pilz.Updating.UpdateInstaller; using System; using System.Collections.Generic; using System.ComponentModel; @@ -150,15 +151,15 @@ public class UpdateClient { curDownloadingStatus = UpdateStatus.DownloadingPackage; RaiseUpdateStatusChanged(curDownloadingStatus); - string dirPath = Path.Combine(MyPaths.GetMyAppDataPath(), Conversions.ToString(package.GetHashCode())); - string zipPath = Path.Combine(dirPath, PackageFileNameDefinations.ZIP_PACKAGE_FILENAME); + var dirPath = Path.Combine(MyPaths.GetMyAppDataPath(), package.GetHashCode().ToString()); + var zipPath = Path.Combine(dirPath, "package.zip"); var dir = new DirectoryInfo(dirPath); + try { // Ensure existing and empty directory for the Zip File if (dir.Exists) dir.Delete(true); - dir.Create(); // Download zip package diff --git a/Pilz.Updating.UpdateInstaller.Lib/UpdateInstaller.cs b/Pilz.Updating.UpdateInstaller.Lib/UpdateInstaller.cs index 731c2d3..571185f 100644 --- a/Pilz.Updating.UpdateInstaller.Lib/UpdateInstaller.cs +++ b/Pilz.Updating.UpdateInstaller.Lib/UpdateInstaller.cs @@ -4,7 +4,7 @@ using System.IO.Compression; namespace Pilz.Updating.UpdateInstaller.Lib; -public class UpdateInstaller +public class UpdateInstaller(UpdateInstallerConfig config) { // E v e n t s @@ -12,8 +12,8 @@ public class UpdateInstaller public delegate void UpdateInstallerStepEventHandler(object sender, UpdateInstallerStepEventArgs e); public delegate void StatusChangesEventHandler(object sender, UpdateInstallerStatusChangedEventArgs e); - public event StatusChangesEventHandler StatusChanges; - public event UpdateInstallerStepEventHandler OnStep; + public event StatusChangesEventHandler? StatusChanges; + public event UpdateInstallerStepEventHandler? OnStep; // F i e l d s @@ -21,14 +21,7 @@ public class UpdateInstaller // P r o p e r t i e s - public UpdateInstallerConfig Configuration { get; private set; } - - // C o n s t r c u t o r s - - public UpdateInstaller(UpdateInstallerConfig config) - { - Configuration = config; - } + public UpdateInstallerConfig Configuration { get; private set; } = config; // F e a t u r e s @@ -45,9 +38,7 @@ public class UpdateInstaller public void StartHostApplication() { if (!string.IsNullOrEmpty(Conversions.ToString(Configuration.RestartHostApplication)) && File.Exists(Configuration.HostApplicationProcessPath)) - { Process.Start(Configuration.HostApplicationProcessPath, Configuration.RestartHostApplicationArguments); - } } public void InstallUpdate() @@ -105,9 +96,7 @@ public class UpdateInstaller } } else - { enabled = false; - } } } @@ -129,7 +118,7 @@ public class UpdateInstaller private void CopyFiles() { - var sourceDir = new DirectoryInfo(Path.Combine(dataPath, PackageFileNameDefinations.ZIP_APP_DATA_FILES_DIRECTORY)); + var sourceDir = new DirectoryInfo(dataPath); var destDir = new DirectoryInfo(Configuration.HostApplicationPath); CopyFiles(sourceDir, destDir); } @@ -137,9 +126,7 @@ public class UpdateInstaller private void CopyFiles(DirectoryInfo sourceDir, DirectoryInfo destinationDir) { if (!destinationDir.Exists) - { destinationDir.Create(); - } foreach (FileInfo sFile in sourceDir.EnumerateFiles("*", SearchOption.TopDirectoryOnly)) { diff --git a/Pilz.Updating.UpdateInstaller.Lib/UpdateInstallerEventArgs.cs b/Pilz.Updating.UpdateInstaller.Lib/UpdateInstallerEventArgs.cs index 8282c63..1f90fd6 100644 --- a/Pilz.Updating.UpdateInstaller.Lib/UpdateInstallerEventArgs.cs +++ b/Pilz.Updating.UpdateInstaller.Lib/UpdateInstallerEventArgs.cs @@ -1,11 +1,6 @@ namespace Pilz.Updating.UpdateInstaller.Lib; -public class UpdateInstallerEventArgs : EventArgs +public class UpdateInstallerEventArgs(UpdateInstaller updateInstaller) : EventArgs { - public UpdateInstaller UpdateInstaller { get; init; } - - public UpdateInstallerEventArgs(UpdateInstaller updateInstaller) - { - UpdateInstaller = updateInstaller; - } + public UpdateInstaller UpdateInstaller { get; init; } = updateInstaller; } diff --git a/Pilz.Updating/ApplicationVersion.cs b/Pilz.Updating/ApplicationVersion.cs index 5d07f7a..9cc8bff 100644 --- a/Pilz.Updating/ApplicationVersion.cs +++ b/Pilz.Updating/ApplicationVersion.cs @@ -3,16 +3,16 @@ using System; namespace Pilz.Updating; -public class ApplicationVersion +public class ApplicationVersion(Version version, int build, Channels channel) { // P r o p e r t i e s [JsonConverter(typeof(Newtonsoft.Json.Converters.VersionConverter))] - public Version Version { get; set; } - public int Build { get; set; } + public Version Version { get; set; } = version; + public int Build { get; set; } = build; [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] - public Channels Channel { get; set; } + public Channels Channel { get; set; } = channel; // C o n s t r u c t o r s @@ -24,13 +24,6 @@ public class ApplicationVersion { } - public ApplicationVersion(Version version, int build, Channels channel) - { - Version = version; - Build = build; - Channel = channel; - } - // F e a t u r e s public override string ToString() diff --git a/Pilz.Updating/MyPaths.cs b/Pilz.Updating/MyPaths.cs index 86b7ca2..f029e8b 100644 --- a/Pilz.Updating/MyPaths.cs +++ b/Pilz.Updating/MyPaths.cs @@ -1,5 +1,5 @@ -using global::System.IO; -using System; +using System; +using System.IO; namespace Pilz.Updating; @@ -13,11 +13,8 @@ internal static class MyPaths { p = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "PilzUpdater"); if (!Directory.Exists(p)) - { Directory.CreateDirectory(p); - } } - return p; } } \ No newline at end of file diff --git a/Pilz.Updating/UpdateInfo.cs b/Pilz.Updating/UpdateInfo.cs index ceeef41..3e529f9 100644 --- a/Pilz.Updating/UpdateInfo.cs +++ b/Pilz.Updating/UpdateInfo.cs @@ -1,4 +1,4 @@ -using global::Newtonsoft.Json.Linq; +using Newtonsoft.Json; using System.Collections.Generic; namespace Pilz.Updating; @@ -10,11 +10,11 @@ public class UpdateInfo public static UpdateInfo Parse(string str) { - return JObject.Parse(str).ToObject(); + return JsonConvert.DeserializeObject(str); } public override string ToString() { - return JObject.FromObject(this).ToString(); + return JsonConvert.SerializeObject(this); } } \ No newline at end of file diff --git a/Pilz.Updating/UpdatePackageInfo.cs b/Pilz.Updating/UpdatePackageInfo.cs index 98f4dbf..21f4bca 100644 --- a/Pilz.Updating/UpdatePackageInfo.cs +++ b/Pilz.Updating/UpdatePackageInfo.cs @@ -1,22 +1,9 @@ - -using Newtonsoft.Json; - -namespace Pilz.Updating; +namespace Pilz.Updating; public class UpdatePackageInfo { public string Name { get; set; } public ApplicationVersion Version { get; set; } - public UpdateNotes Notes { get; } = new UpdateNotes(); + public UpdateNotes Notes { get; } = new(); public string Packagelink { get; set; } - - [JsonProperty] - private string Changelog - { - set - { - Notes.Content = value; - Notes.ContentType = UpdateNotesContentType.PlainText; - } - } } \ No newline at end of file