Compare commits
28 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 96c178b310 | |||
| bbac69b79e | |||
| 97b38ed90c | |||
| c0fb1e3904 | |||
| fd701f3615 | |||
| 34fa5fbffe | |||
| 0776611de4 | |||
| 0e9667ab59 | |||
| 8692c40323 | |||
| 69c5de7e42 | |||
| f1dc55c63f | |||
| 7e814b37c3 | |||
| 9407f3fed6 | |||
| 5925836736 | |||
| 461efe7d14 | |||
| b74cc0d633 | |||
| 52943e03be | |||
| 2c69c3eb1b | |||
| 60c625ae08 | |||
| 0c1ffd82c5 | |||
| 0d7e570676 | |||
| 6dd6721667 | |||
| a7c31d6086 | |||
| cc558ab274 | |||
| ad18e33a6b | |||
| fa9bb19e79 | |||
| c0c8878bc3 | |||
| 2be12d0630 |
12
ModpackUpdater.GitLab/ModpackUpdater.GitLab.vbproj
Normal file
12
ModpackUpdater.GitLab/ModpackUpdater.GitLab.vbproj
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<RootNamespace>ModpackUpdater.GitLab</RootNamespace>
|
||||||
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\ModpackUpdater.Model\ModpackUpdater.Model.vbproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
33
ModpackUpdater.GitLab/UpdateConfigExt.vb
Normal file
33
ModpackUpdater.GitLab/UpdateConfigExt.vb
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
Imports System.Net.Http
|
||||||
|
|
||||||
|
Imports ModpackUpdater.Model
|
||||||
|
|
||||||
|
Imports Newtonsoft.Json
|
||||||
|
|
||||||
|
Public Class UpdateConfigExt
|
||||||
|
|
||||||
|
'<Extension>
|
||||||
|
'Public Sub SaveToSnippet(config As UpdateConfig, gitlabUrl As String, gitlabToken As String, projectId As Integer, snippetId As Integer, snippetFilePath As String)
|
||||||
|
' Dim client As New GitLabClient(gitlabUrl, gitlabToken)
|
||||||
|
' Dim update As New SnippetProjectUpdate With {
|
||||||
|
' .Visibility = VisibilityLevel.Public,
|
||||||
|
' .ProjectId = projectId,
|
||||||
|
' .SnippetId = snippetId,
|
||||||
|
' .Files = {
|
||||||
|
' New SnippetUpdateFile With {
|
||||||
|
' .Action = SnippetUpdateFileAction.Update.Create,
|
||||||
|
' .FilePath = snippetFilePath,
|
||||||
|
' .Content = JsonConvert.SerializeObject(config)
|
||||||
|
' }
|
||||||
|
' }
|
||||||
|
' }
|
||||||
|
' client.Snippets.Update(update)
|
||||||
|
'End Sub
|
||||||
|
|
||||||
|
Public Shared Function LoadFromSnippet(url As String) As UpdateConfig
|
||||||
|
Dim client As New HttpClient
|
||||||
|
Dim result = client.GetStringAsync(url).Result
|
||||||
|
Return JsonConvert.DeserializeObject(Of UpdateConfig)(result)
|
||||||
|
End Function
|
||||||
|
|
||||||
|
End Class
|
||||||
16
ModpackUpdater.Manager/ModpackUpdater.Manager.vbproj
Normal file
16
ModpackUpdater.Manager/ModpackUpdater.Manager.vbproj
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<RootNamespace>ModpackUpdater.Manager</RootNamespace>
|
||||||
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="WebDav.Client" Version="2.8.0" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\ModpackUpdater.Model\ModpackUpdater.Model.vbproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
23
ModpackUpdater.Manager/UpdateCheckResult.vb
Normal file
23
ModpackUpdater.Manager/UpdateCheckResult.vb
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
Imports ModpackUpdater.Model
|
||||||
|
|
||||||
|
Public Class UpdateCheckResult
|
||||||
|
|
||||||
|
Public Property IsLegacy As Boolean
|
||||||
|
Public ReadOnly Property SyncFiles As New List(Of UpdateSyncFile)
|
||||||
|
|
||||||
|
Public Property CurrentVersion As Version
|
||||||
|
Public Property LatestVersion As Version
|
||||||
|
Public ReadOnly Property UpdateActions As New List(Of UpdateAction)
|
||||||
|
Public Property HasError As Boolean
|
||||||
|
|
||||||
|
Public ReadOnly Property HasUpdates As Boolean
|
||||||
|
Get
|
||||||
|
If IsLegacy Then
|
||||||
|
Return SyncFiles.Where(Function(n) n.SyncAction <> UpdateSyncAction.None).Any
|
||||||
|
Else
|
||||||
|
Return CurrentVersion < LatestVersion
|
||||||
|
End If
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -1,5 +1,8 @@
|
|||||||
Imports System.IO
|
Imports System.IO
|
||||||
Imports System.Net
|
Imports System.Net
|
||||||
|
Imports System.Net.Http
|
||||||
|
|
||||||
|
Imports ModpackUpdater.Model
|
||||||
|
|
||||||
Imports WebDav
|
Imports WebDav
|
||||||
|
|
||||||
@@ -11,12 +14,18 @@ Public Class UpdateInstaller
|
|||||||
Private ReadOnly updateConfig As UpdateConfig
|
Private ReadOnly updateConfig As UpdateConfig
|
||||||
Private ReadOnly localPath As String
|
Private ReadOnly localPath As String
|
||||||
Private webdavClient As WebDavClient = Nothing
|
Private webdavClient As WebDavClient = Nothing
|
||||||
|
Private httpClient As New HttpClient
|
||||||
|
|
||||||
Public Sub New(updateConfig As UpdateConfig, localPath As String)
|
Public Sub New(updateConfig As UpdateConfig, localPath As String)
|
||||||
Me.updateConfig = updateConfig
|
Me.updateConfig = updateConfig
|
||||||
Me.localPath = localPath
|
Me.localPath = localPath
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Protected Overrides Sub Finalize()
|
||||||
|
httpClient.Dispose()
|
||||||
|
MyBase.Finalize()
|
||||||
|
End Sub
|
||||||
|
|
||||||
Private Function CreateClient() As WebDavClient
|
Private Function CreateClient() As WebDavClient
|
||||||
If webdavClient Is Nothing Then
|
If webdavClient Is Nothing Then
|
||||||
Dim params As New WebDavClientParams With {
|
Dim params As New WebDavClientParams With {
|
||||||
@@ -29,13 +38,57 @@ Public Class UpdateInstaller
|
|||||||
Return webdavClient
|
Return webdavClient
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Private Async Function DownloadUpdateInfos() As Task(Of UpdateInfos)
|
||||||
|
Dim content As String = Await httpClient.GetStringAsync(updateConfig.UpdateUrl)
|
||||||
|
Return UpdateInfos.Parse(content)
|
||||||
|
End Function
|
||||||
|
|
||||||
Public Async Function CheckForUpdates(ignoreRevmoedFiles As Boolean) As Task(Of UpdateCheckResult)
|
Public Async Function CheckForUpdates(ignoreRevmoedFiles As Boolean) As Task(Of UpdateCheckResult)
|
||||||
|
Dim infos As UpdateInfos = Await DownloadUpdateInfos()
|
||||||
Dim result As New UpdateCheckResult
|
Dim result As New UpdateCheckResult
|
||||||
|
|
||||||
|
If infos IsNot Nothing AndAlso infos.Updates.Any Then
|
||||||
|
Dim updatesOrderes = infos.Updates.OrderByDescending(Function(n) n.Version)
|
||||||
|
result.LatestVersion = updatesOrderes.First.Version
|
||||||
|
|
||||||
|
If ModpackInfo.HasModpackInfo(localPath) Then
|
||||||
|
Dim modpackInfo As ModpackInfo = ModpackInfo.Load(localPath)
|
||||||
|
result.CurrentVersion = modpackInfo.Version
|
||||||
|
|
||||||
|
Dim checkingVersionIndex As Integer = 0
|
||||||
|
Dim checkingVersion As UpdateInfo = updatesOrderes(checkingVersionIndex)
|
||||||
|
|
||||||
|
Do While checkingVersion IsNot Nothing AndAlso checkingVersion.Version > result.CurrentVersion
|
||||||
|
Dim actionsToAdd As New List(Of UpdateAction)
|
||||||
|
|
||||||
|
For Each action In checkingVersion.Actions
|
||||||
|
If Not result.UpdateActions.Any(Function(n) n.DestPath = action.DestPath) Then
|
||||||
|
actionsToAdd.Add(action)
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
result.UpdateActions.InsertRange(0, actionsToAdd)
|
||||||
|
|
||||||
|
checkingVersionIndex += 1
|
||||||
|
checkingVersion = updatesOrderes.ElementAtOrDefault(checkingVersionIndex)
|
||||||
|
Loop
|
||||||
|
Else
|
||||||
|
Await CheckForUpdatesLegacy(result, ignoreRevmoedFiles)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
Return result
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Async Function CheckForUpdatesLegacy(result As UpdateCheckResult, ignoreRevmoedFiles As Boolean) As Task
|
||||||
Dim client As WebDavClient = CreateClient()
|
Dim client As WebDavClient = CreateClient()
|
||||||
Dim resTopFolder As WebDavResource = Nothing
|
Dim resTopFolder As WebDavResource = Nothing
|
||||||
Dim checkedFiles = New List(Of String)()
|
Dim checkedFiles = New List(Of String)()
|
||||||
Dim responseSuccessfull As Boolean = False
|
Dim responseSuccessfull As Boolean = False
|
||||||
|
|
||||||
|
result.CurrentVersion = New Version("0.0.0.0")
|
||||||
|
result.IsLegacy = True
|
||||||
|
|
||||||
'Check for new & updated files
|
'Check for new & updated files
|
||||||
Dim response = Await client.Propfind(String.Empty, New PropfindParameters() With {.ApplyTo = ApplyTo.Propfind.ResourceAndAncestors})
|
Dim response = Await client.Propfind(String.Empty, New PropfindParameters() With {.ApplyTo = ApplyTo.Propfind.ResourceAndAncestors})
|
||||||
If resTopFolder Is Nothing AndAlso response.IsSuccessful AndAlso response.Resources.Any() Then
|
If resTopFolder Is Nothing AndAlso response.IsSuccessful AndAlso response.Resources.Any() Then
|
||||||
@@ -101,11 +154,73 @@ Public Class UpdateInstaller
|
|||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Return result
|
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Async Function InstallUpdates(checkResult As UpdateCheckResult, Optional ignoreActions As UpdateSyncAction = UpdateSyncAction.None) As Task(Of Boolean?)
|
Public Async Function InstallUpdates(checkResult As UpdateCheckResult, Optional ignoreActions As UpdateSyncAction = UpdateSyncAction.None) As Task(Of Boolean?)
|
||||||
|
Dim isSuccessfully As Boolean
|
||||||
|
Dim modpackInfo As ModpackInfo
|
||||||
|
|
||||||
|
If ModpackInfo.HasModpackInfo(localPath) Then
|
||||||
|
modpackInfo = ModpackInfo.Load(localPath)
|
||||||
|
Else
|
||||||
|
modpackInfo = New ModpackInfo
|
||||||
|
End If
|
||||||
|
|
||||||
|
If checkResult.IsLegacy Then
|
||||||
|
isSuccessfully = Await InstallUpdatesLegacy(checkResult, ignoreActions)
|
||||||
|
Else
|
||||||
|
Dim processed As Integer = 0
|
||||||
|
For Each action As UpdateAction In checkResult.UpdateActions
|
||||||
|
Dim destFilePath As String = Path.Combine(localPath, action.DestPath)
|
||||||
|
|
||||||
|
Select Case action.Type
|
||||||
|
Case UpdateActionType.Update
|
||||||
|
Directory.CreateDirectory(Path.GetDirectoryName(destFilePath))
|
||||||
|
Dim sRemote As Stream = Await httpClient.GetStreamAsync(action.DownloadUrl)
|
||||||
|
Dim fs As New FileStream(destFilePath, FileMode.Create, FileAccess.ReadWrite)
|
||||||
|
Await sRemote.CopyToAsync(fs)
|
||||||
|
sRemote.Close()
|
||||||
|
fs.Close()
|
||||||
|
Case UpdateActionType.Delete
|
||||||
|
If action.IsDirectory Then
|
||||||
|
If Directory.Exists(destFilePath) Then
|
||||||
|
Directory.Delete(destFilePath, True)
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
If File.Exists(destFilePath) Then
|
||||||
|
File.Delete(destFilePath)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Case UpdateActionType.Copy
|
||||||
|
Dim srcFilePath As String = Path.Combine(localPath, action.SrcPath)
|
||||||
|
If File.Exists(srcFilePath) Then
|
||||||
|
Directory.CreateDirectory(Path.GetDirectoryName(destFilePath))
|
||||||
|
File.Copy(srcFilePath, destFilePath, True)
|
||||||
|
End If
|
||||||
|
Case UpdateActionType.Move
|
||||||
|
Dim srcFilePath As String = Path.Combine(localPath, action.SrcPath)
|
||||||
|
If File.Exists(srcFilePath) Then
|
||||||
|
Directory.CreateDirectory(Path.GetDirectoryName(destFilePath))
|
||||||
|
File.Move(srcFilePath, destFilePath, True)
|
||||||
|
End If
|
||||||
|
End Select
|
||||||
|
|
||||||
|
processed += 1
|
||||||
|
RaiseEvent InstallProgessUpdated(checkResult, processed)
|
||||||
|
Next
|
||||||
|
|
||||||
|
isSuccessfully = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
If isSuccessfully Then
|
||||||
|
modpackInfo.Version = checkResult.LatestVersion
|
||||||
|
modpackInfo.Save(localPath)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Return isSuccessfully
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Async Function InstallUpdatesLegacy(checkResult As UpdateCheckResult, Optional ignoreActions As UpdateSyncAction = UpdateSyncAction.None) As Task(Of Boolean?)
|
||||||
Dim client As WebDavClient = CreateClient()
|
Dim client As WebDavClient = CreateClient()
|
||||||
Dim success As Boolean? = False
|
Dim success As Boolean? = False
|
||||||
Dim processed As Integer = 0
|
Dim processed As Integer = 0
|
||||||
11
ModpackUpdater.Manager/UpdateSyncAction.vb
Normal file
11
ModpackUpdater.Manager/UpdateSyncAction.vb
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
Imports Newtonsoft.Json
|
||||||
|
Imports Newtonsoft.Json.Converters
|
||||||
|
|
||||||
|
<JsonConverter(GetType(StringEnumConverter))>
|
||||||
|
<Flags>
|
||||||
|
Public Enum UpdateSyncAction
|
||||||
|
None
|
||||||
|
NewFile
|
||||||
|
RemovedFile
|
||||||
|
UpdatedFile = 4
|
||||||
|
End Enum
|
||||||
29
ModpackUpdater.Model/ModpackInfo.vb
Normal file
29
ModpackUpdater.Model/ModpackInfo.vb
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
Imports System.IO
|
||||||
|
|
||||||
|
Imports Newtonsoft.Json
|
||||||
|
Imports Newtonsoft.Json.Converters
|
||||||
|
|
||||||
|
Public Class ModpackInfo
|
||||||
|
|
||||||
|
Private Const FILENAME_MODPACKINFO = "modpack-info.json"
|
||||||
|
|
||||||
|
<JsonConverter(GetType(VersionConverter))>
|
||||||
|
Public Property Version As Version
|
||||||
|
|
||||||
|
Public Sub Save(mcRoot As String)
|
||||||
|
File.WriteAllText(GetFilePath(mcRoot), JsonConvert.SerializeObject(Me))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Shared Function Load(mcRoot As String) As ModpackInfo
|
||||||
|
Return JsonConvert.DeserializeObject(Of ModpackInfo)(File.ReadAllText(GetFilePath(mcRoot)))
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Shared Function HasModpackInfo(mcRoot As String) As Boolean
|
||||||
|
Return File.Exists(GetFilePath(mcRoot))
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Shared Function GetFilePath(mcRoot As String)
|
||||||
|
Return Path.Combine(mcRoot, FILENAME_MODPACKINFO)
|
||||||
|
End Function
|
||||||
|
|
||||||
|
End Class
|
||||||
12
ModpackUpdater.Model/ModpackUpdater.Model.vbproj
Normal file
12
ModpackUpdater.Model/ModpackUpdater.Model.vbproj
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<RootNamespace>ModpackUpdater.Model</RootNamespace>
|
||||||
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Pilz.Cryptography" Version="2.0.1" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
13
ModpackUpdater.Model/UpdateAction.vb
Normal file
13
ModpackUpdater.Model/UpdateAction.vb
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
Imports Newtonsoft.Json
|
||||||
|
Imports Newtonsoft.Json.Converters
|
||||||
|
|
||||||
|
Public Class UpdateAction
|
||||||
|
|
||||||
|
<JsonConverter(GetType(StringEnumConverter))>
|
||||||
|
Public Property Type As UpdateActionType
|
||||||
|
Public Property DestPath As String
|
||||||
|
Public Property SrcPath As String
|
||||||
|
Public Property DownloadUrl As String
|
||||||
|
Public Property IsDirectory As Boolean
|
||||||
|
|
||||||
|
End Class
|
||||||
7
ModpackUpdater.Model/UpdateActionType.vb
Normal file
7
ModpackUpdater.Model/UpdateActionType.vb
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
Public Enum UpdateActionType
|
||||||
|
None
|
||||||
|
Update
|
||||||
|
Delete
|
||||||
|
Move
|
||||||
|
Copy
|
||||||
|
End Enum
|
||||||
22
ModpackUpdater.Model/UpdateConfig.vb
Normal file
22
ModpackUpdater.Model/UpdateConfig.vb
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
Imports System.IO
|
||||||
|
|
||||||
|
Imports Newtonsoft.Json
|
||||||
|
|
||||||
|
Imports Pilz.Cryptography
|
||||||
|
|
||||||
|
Public Class UpdateConfig
|
||||||
|
|
||||||
|
Public Property UpdateUrl As String
|
||||||
|
Public Property WebdavURL As SecureString
|
||||||
|
Public Property WebdavUsername As SecureString
|
||||||
|
Public Property WebdavPassword As SecureString
|
||||||
|
|
||||||
|
Public Sub SaveToFile(filePath As String)
|
||||||
|
File.WriteAllText(filePath, JsonConvert.SerializeObject(Me))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Shared Function LoadFromFile(filePath As String) As UpdateConfig
|
||||||
|
Return JsonConvert.DeserializeObject(Of UpdateConfig)(File.ReadAllText(filePath))
|
||||||
|
End Function
|
||||||
|
|
||||||
|
End Class
|
||||||
10
ModpackUpdater.Model/UpdateInfo.vb
Normal file
10
ModpackUpdater.Model/UpdateInfo.vb
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
Imports Newtonsoft.Json
|
||||||
|
Imports Newtonsoft.Json.Converters
|
||||||
|
|
||||||
|
Public Class UpdateInfo
|
||||||
|
|
||||||
|
<JsonConverter(GetType(VersionConverter))>
|
||||||
|
Public Property Version As Version
|
||||||
|
Public ReadOnly Property Actions As New List(Of UpdateAction)
|
||||||
|
|
||||||
|
End Class
|
||||||
11
ModpackUpdater.Model/UpdateInfos.vb
Normal file
11
ModpackUpdater.Model/UpdateInfos.vb
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
Imports Newtonsoft.Json
|
||||||
|
|
||||||
|
Public Class UpdateInfos
|
||||||
|
|
||||||
|
Public ReadOnly Property Updates As New List(Of UpdateInfo)
|
||||||
|
|
||||||
|
Public Shared Function Parse(content As String) As UpdateInfos
|
||||||
|
Return JsonConvert.DeserializeObject(Of UpdateInfos)(content)
|
||||||
|
End Function
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -5,6 +5,12 @@ VisualStudioVersion = 17.2.32526.322
|
|||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{778DAE3C-4631-46EA-AA77-85C1314464D9}") = "ModpackUpdater", "ModpackUpdater\ModpackUpdater.vbproj", "{33DD239C-1F33-40F9-908F-54BC02FBA420}"
|
Project("{778DAE3C-4631-46EA-AA77-85C1314464D9}") = "ModpackUpdater", "ModpackUpdater\ModpackUpdater.vbproj", "{33DD239C-1F33-40F9-908F-54BC02FBA420}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{778DAE3C-4631-46EA-AA77-85C1314464D9}") = "ModpackUpdater.Model", "ModpackUpdater.Model\ModpackUpdater.Model.vbproj", "{BC4FE51B-4045-432C-B4D9-8C6CF5372DC0}"
|
||||||
|
EndProject
|
||||||
|
Project("{778DAE3C-4631-46EA-AA77-85C1314464D9}") = "ModpackUpdater.Manager", "ModpackUpdater.Manager\ModpackUpdater.Manager.vbproj", "{618DAFD6-3336-4621-82F9-EA5C783D2D2E}"
|
||||||
|
EndProject
|
||||||
|
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ModpackUpdater.GitLab", "ModpackUpdater.GitLab\ModpackUpdater.GitLab.vbproj", "{65D44991-EB3B-4AC4-9166-3E8D0BADD402}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
@@ -15,6 +21,18 @@ Global
|
|||||||
{33DD239C-1F33-40F9-908F-54BC02FBA420}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{33DD239C-1F33-40F9-908F-54BC02FBA420}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{33DD239C-1F33-40F9-908F-54BC02FBA420}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{33DD239C-1F33-40F9-908F-54BC02FBA420}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{33DD239C-1F33-40F9-908F-54BC02FBA420}.Release|Any CPU.Build.0 = Release|Any CPU
|
{33DD239C-1F33-40F9-908F-54BC02FBA420}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{BC4FE51B-4045-432C-B4D9-8C6CF5372DC0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{BC4FE51B-4045-432C-B4D9-8C6CF5372DC0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{BC4FE51B-4045-432C-B4D9-8C6CF5372DC0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{BC4FE51B-4045-432C-B4D9-8C6CF5372DC0}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{618DAFD6-3336-4621-82F9-EA5C783D2D2E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{618DAFD6-3336-4621-82F9-EA5C783D2D2E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{618DAFD6-3336-4621-82F9-EA5C783D2D2E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{618DAFD6-3336-4621-82F9-EA5C783D2D2E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{65D44991-EB3B-4AC4-9166-3E8D0BADD402}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{65D44991-EB3B-4AC4-9166-3E8D0BADD402}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{65D44991-EB3B-4AC4-9166-3E8D0BADD402}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{65D44991-EB3B-4AC4-9166-3E8D0BADD402}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|||||||
@@ -4,8 +4,16 @@ Imports Newtonsoft.Json.Linq
|
|||||||
|
|
||||||
Public Class AppConfig
|
Public Class AppConfig
|
||||||
|
|
||||||
Public Property LastMinecraftProfilePath As string
|
Public Property LastMinecraftProfilePath As String
|
||||||
Public Property LastConfigFilePath As string
|
Public Property LastConfigFilePath As String
|
||||||
|
Public Property KeepLocalFiles As New List(Of String)
|
||||||
|
Public Property AllowRemoveLocalFiles As Boolean
|
||||||
|
|
||||||
|
Public Sub Reset()
|
||||||
|
KeepLocalFiles.Clear()
|
||||||
|
KeepLocalFiles.Add("OptiFine_1.7.10_HD_U_E7.jar")
|
||||||
|
AllowRemoveLocalFiles = False
|
||||||
|
End Sub
|
||||||
|
|
||||||
Public Shared ReadOnly Property Instance As AppConfig
|
Public Shared ReadOnly Property Instance As AppConfig
|
||||||
Get
|
Get
|
||||||
@@ -16,6 +24,7 @@ Public Class AppConfig
|
|||||||
myInstance = LoadConfig(SettingsPath)
|
myInstance = LoadConfig(SettingsPath)
|
||||||
Else
|
Else
|
||||||
myInstance = New AppConfig
|
myInstance = New AppConfig
|
||||||
|
myInstance.Reset()
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|||||||
70
ModpackUpdater/AppUpdater.vb
Normal file
70
ModpackUpdater/AppUpdater.vb
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
Imports System.IO
|
||||||
|
Imports System.Net
|
||||||
|
Imports System.Net.Http
|
||||||
|
|
||||||
|
Imports WebDav
|
||||||
|
|
||||||
|
Public Class AppUpdater
|
||||||
|
|
||||||
|
Private Const WEBDAV_URL As String = "https://cloud.pilzinsel64.de/public.php/webdav"
|
||||||
|
Private Const WEBDAV_KEY As String = "z4dGicDYmG2neG9"
|
||||||
|
Private Const DOWNLOAD_URL As String = "https://cloud.pilzinsel64.de/s/z4dGicDYmG2neG9/download"
|
||||||
|
|
||||||
|
Public Shared Async Function Check() As Task(Of Boolean)
|
||||||
|
Dim appFileName = Pilz.IO.Extensions.GetExecutablePath()
|
||||||
|
Dim hasUpdate As Boolean = False
|
||||||
|
Dim params As New WebDavClientParams With {
|
||||||
|
.BaseAddress = New Uri(WEBDAV_URL),
|
||||||
|
.Credentials = New NetworkCredential(WEBDAV_KEY, String.Empty)
|
||||||
|
}
|
||||||
|
|
||||||
|
Try
|
||||||
|
Using client As New WebDavClient(params)
|
||||||
|
Dim result = Await client.Propfind(String.Empty)
|
||||||
|
|
||||||
|
If result.IsSuccessful AndAlso result.Resources.Count <> 0 Then
|
||||||
|
Dim resource = result.Resources(0)
|
||||||
|
Dim appModificationDate = File.GetLastWriteTimeUtc(appFileName)
|
||||||
|
Dim remoteModificationDate = resource.LastModifiedDate?.ToUniversalTime
|
||||||
|
|
||||||
|
If remoteModificationDate > appModificationDate Then
|
||||||
|
hasUpdate = True
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End Using
|
||||||
|
Catch ex As Exception
|
||||||
|
End Try
|
||||||
|
|
||||||
|
Return hasUpdate
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Shared Async Function Install() As Task
|
||||||
|
Dim client As New HttpClient
|
||||||
|
Dim tempFileName = Path.GetTempFileName
|
||||||
|
Dim appFileName = Pilz.IO.Extensions.GetExecutablePath()
|
||||||
|
Dim oldFileName = appFileName & ".old"
|
||||||
|
|
||||||
|
'Delete old file
|
||||||
|
Try
|
||||||
|
File.Delete(oldFileName)
|
||||||
|
Catch ex As Exception
|
||||||
|
End Try
|
||||||
|
|
||||||
|
'Download the new file
|
||||||
|
Using tempFileStream As New FileStream(tempFileName, FileMode.Create, FileAccess.ReadWrite)
|
||||||
|
Dim downloadStream As Stream = Nothing
|
||||||
|
Try
|
||||||
|
downloadStream = Await client.GetStreamAsync(DOWNLOAD_URL)
|
||||||
|
Await downloadStream.CopyToAsync(tempFileStream)
|
||||||
|
Catch
|
||||||
|
Finally
|
||||||
|
downloadStream?.Dispose()
|
||||||
|
End Try
|
||||||
|
End Using
|
||||||
|
|
||||||
|
'Replace current application file with new file
|
||||||
|
File.Move(appFileName, oldFileName, True)
|
||||||
|
File.Move(tempFileName, appFileName)
|
||||||
|
End Function
|
||||||
|
|
||||||
|
End Class
|
||||||
413
ModpackUpdater/Form1.Designer.vb
generated
413
ModpackUpdater/Form1.Designer.vb
generated
@@ -24,207 +24,217 @@ Partial Class Form1
|
|||||||
<System.Diagnostics.DebuggerStepThrough()> _
|
<System.Diagnostics.DebuggerStepThrough()> _
|
||||||
Private Sub InitializeComponent()
|
Private Sub InitializeComponent()
|
||||||
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Form1))
|
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Form1))
|
||||||
Me.RadLabel1 = New Telerik.WinControls.UI.RadLabel()
|
RadLabel1 = New Telerik.WinControls.UI.RadLabel()
|
||||||
Me.RadLabel2 = New Telerik.WinControls.UI.RadLabel()
|
RadLabel2 = New Telerik.WinControls.UI.RadLabel()
|
||||||
Me.RadLabel3 = New Telerik.WinControls.UI.RadLabel()
|
RadLabel3 = New Telerik.WinControls.UI.RadLabel()
|
||||||
Me.RadLabel_Status = New Telerik.WinControls.UI.RadLabel()
|
RadLabel_Status = New Telerik.WinControls.UI.RadLabel()
|
||||||
Me.RadTextBoxControl_MinecraftProfileFolder = New Telerik.WinControls.UI.RadTextBoxControl()
|
RadTextBoxControl_MinecraftProfileFolder = New Telerik.WinControls.UI.RadTextBoxControl()
|
||||||
Me.RadTextBoxControl_ModpackConfig = New Telerik.WinControls.UI.RadTextBoxControl()
|
RadTextBoxControl_ModpackConfig = New Telerik.WinControls.UI.RadTextBoxControl()
|
||||||
Me.Panel1 = New System.Windows.Forms.Panel()
|
Panel1 = New Panel()
|
||||||
Me.RadButton_Install = New Telerik.WinControls.UI.RadButton()
|
RadButton_Install = New Telerik.WinControls.UI.RadButton()
|
||||||
Me.RadButton_CheckForUpdates = New Telerik.WinControls.UI.RadButton()
|
RadButton_CheckForUpdates = New Telerik.WinControls.UI.RadButton()
|
||||||
Me.RadButton_EditModpackConfig = New Telerik.WinControls.UI.RadButton()
|
RadButton_EditModpackConfig = New Telerik.WinControls.UI.RadButton()
|
||||||
Me.RadButton_SearchModpackConfig = New Telerik.WinControls.UI.RadButton()
|
RadButton_SearchModpackConfig = New Telerik.WinControls.UI.RadButton()
|
||||||
Me.RadButton_SearchMinecraftProfileFolder = New Telerik.WinControls.UI.RadButton()
|
RadButton_SearchMinecraftProfileFolder = New Telerik.WinControls.UI.RadButton()
|
||||||
CType(Me.RadLabel1, System.ComponentModel.ISupportInitialize).BeginInit()
|
RadButton_PasteModpackConfig = New Telerik.WinControls.UI.RadButton()
|
||||||
CType(Me.RadLabel2, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(RadLabel1, ComponentModel.ISupportInitialize).BeginInit()
|
||||||
CType(Me.RadLabel3, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(RadLabel2, ComponentModel.ISupportInitialize).BeginInit()
|
||||||
CType(Me.RadLabel_Status, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(RadLabel3, ComponentModel.ISupportInitialize).BeginInit()
|
||||||
CType(Me.RadTextBoxControl_MinecraftProfileFolder, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(RadLabel_Status, ComponentModel.ISupportInitialize).BeginInit()
|
||||||
CType(Me.RadTextBoxControl_ModpackConfig, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(RadTextBoxControl_MinecraftProfileFolder, ComponentModel.ISupportInitialize).BeginInit()
|
||||||
Me.Panel1.SuspendLayout()
|
CType(RadTextBoxControl_ModpackConfig, ComponentModel.ISupportInitialize).BeginInit()
|
||||||
CType(Me.RadButton_Install, System.ComponentModel.ISupportInitialize).BeginInit()
|
Panel1.SuspendLayout()
|
||||||
CType(Me.RadButton_CheckForUpdates, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(RadButton_Install, ComponentModel.ISupportInitialize).BeginInit()
|
||||||
CType(Me.RadButton_EditModpackConfig, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(RadButton_CheckForUpdates, ComponentModel.ISupportInitialize).BeginInit()
|
||||||
CType(Me.RadButton_SearchModpackConfig, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(RadButton_EditModpackConfig, ComponentModel.ISupportInitialize).BeginInit()
|
||||||
CType(Me.RadButton_SearchMinecraftProfileFolder, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(RadButton_SearchModpackConfig, ComponentModel.ISupportInitialize).BeginInit()
|
||||||
CType(Me, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(RadButton_SearchMinecraftProfileFolder, ComponentModel.ISupportInitialize).BeginInit()
|
||||||
Me.SuspendLayout()
|
CType(RadButton_PasteModpackConfig, ComponentModel.ISupportInitialize).BeginInit()
|
||||||
'
|
CType(Me, ComponentModel.ISupportInitialize).BeginInit()
|
||||||
'RadLabel1
|
SuspendLayout()
|
||||||
'
|
'
|
||||||
Me.RadLabel1.Location = New System.Drawing.Point(3, 5)
|
' RadLabel1
|
||||||
Me.RadLabel1.Name = "RadLabel1"
|
'
|
||||||
Me.RadLabel1.Size = New System.Drawing.Size(135, 19)
|
RadLabel1.Location = New Point(3, 5)
|
||||||
Me.RadLabel1.TabIndex = 0
|
RadLabel1.Name = "RadLabel1"
|
||||||
Me.RadLabel1.Text = "Minecraft profile folder:"
|
RadLabel1.Size = New Size(124, 18)
|
||||||
'
|
RadLabel1.TabIndex = 0
|
||||||
'RadLabel2
|
RadLabel1.Text = "Minecraft profile folder:"
|
||||||
'
|
'
|
||||||
Me.RadLabel2.Location = New System.Drawing.Point(3, 63)
|
' RadLabel2
|
||||||
Me.RadLabel2.Name = "RadLabel2"
|
'
|
||||||
Me.RadLabel2.Size = New System.Drawing.Size(98, 19)
|
RadLabel2.Location = New Point(3, 63)
|
||||||
Me.RadLabel2.TabIndex = 1
|
RadLabel2.Name = "RadLabel2"
|
||||||
Me.RadLabel2.Text = "Modpack config:"
|
RadLabel2.Size = New Size(90, 18)
|
||||||
'
|
RadLabel2.TabIndex = 1
|
||||||
'RadLabel3
|
RadLabel2.Text = "Modpack config:"
|
||||||
'
|
'
|
||||||
Me.RadLabel3.Location = New System.Drawing.Point(3, 121)
|
' RadLabel3
|
||||||
Me.RadLabel3.Name = "RadLabel3"
|
'
|
||||||
Me.RadLabel3.Size = New System.Drawing.Size(43, 19)
|
RadLabel3.Location = New Point(3, 121)
|
||||||
Me.RadLabel3.TabIndex = 2
|
RadLabel3.Name = "RadLabel3"
|
||||||
Me.RadLabel3.Text = "Status:"
|
RadLabel3.Size = New Size(39, 18)
|
||||||
'
|
RadLabel3.TabIndex = 2
|
||||||
'RadLabel_Status
|
RadLabel3.Text = "Status:"
|
||||||
'
|
'
|
||||||
Me.RadLabel_Status.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
|
' RadLabel_Status
|
||||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
'
|
||||||
Me.RadLabel_Status.AutoSize = False
|
RadLabel_Status.Anchor = AnchorStyles.Top Or AnchorStyles.Left Or AnchorStyles.Right
|
||||||
Me.RadLabel_Status.Location = New System.Drawing.Point(144, 119)
|
RadLabel_Status.AutoSize = False
|
||||||
Me.RadLabel_Status.Name = "RadLabel_Status"
|
RadLabel_Status.Location = New Point(144, 119)
|
||||||
Me.RadLabel_Status.Size = New System.Drawing.Size(273, 22)
|
RadLabel_Status.Name = "RadLabel_Status"
|
||||||
Me.RadLabel_Status.TabIndex = 3
|
RadLabel_Status.Size = New Size(273, 22)
|
||||||
Me.RadLabel_Status.Text = "-"
|
RadLabel_Status.TabIndex = 3
|
||||||
Me.RadLabel_Status.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText
|
RadLabel_Status.Text = "-"
|
||||||
'
|
RadLabel_Status.TextImageRelation = TextImageRelation.ImageBeforeText
|
||||||
'RadTextBoxControl_MinecraftProfileFolder
|
'
|
||||||
'
|
' RadTextBoxControl_MinecraftProfileFolder
|
||||||
Me.RadTextBoxControl_MinecraftProfileFolder.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
|
'
|
||||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
RadTextBoxControl_MinecraftProfileFolder.Anchor = AnchorStyles.Top Or AnchorStyles.Left Or AnchorStyles.Right
|
||||||
Me.RadTextBoxControl_MinecraftProfileFolder.IsReadOnly = True
|
RadTextBoxControl_MinecraftProfileFolder.IsReadOnly = True
|
||||||
Me.RadTextBoxControl_MinecraftProfileFolder.Location = New System.Drawing.Point(144, 3)
|
RadTextBoxControl_MinecraftProfileFolder.Location = New Point(144, 3)
|
||||||
Me.RadTextBoxControl_MinecraftProfileFolder.Name = "RadTextBoxControl_MinecraftProfileFolder"
|
RadTextBoxControl_MinecraftProfileFolder.Name = "RadTextBoxControl_MinecraftProfileFolder"
|
||||||
Me.RadTextBoxControl_MinecraftProfileFolder.NullText = "No file loaded!"
|
RadTextBoxControl_MinecraftProfileFolder.NullText = "No file loaded!"
|
||||||
Me.RadTextBoxControl_MinecraftProfileFolder.Size = New System.Drawing.Size(273, 22)
|
RadTextBoxControl_MinecraftProfileFolder.Size = New Size(273, 22)
|
||||||
Me.RadTextBoxControl_MinecraftProfileFolder.TabIndex = 4
|
RadTextBoxControl_MinecraftProfileFolder.TabIndex = 4
|
||||||
'
|
'
|
||||||
'RadTextBoxControl_ModpackConfig
|
' RadTextBoxControl_ModpackConfig
|
||||||
'
|
'
|
||||||
Me.RadTextBoxControl_ModpackConfig.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
|
RadTextBoxControl_ModpackConfig.Anchor = AnchorStyles.Top Or AnchorStyles.Left Or AnchorStyles.Right
|
||||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
RadTextBoxControl_ModpackConfig.IsReadOnly = True
|
||||||
Me.RadTextBoxControl_ModpackConfig.IsReadOnly = True
|
RadTextBoxControl_ModpackConfig.Location = New Point(144, 61)
|
||||||
Me.RadTextBoxControl_ModpackConfig.Location = New System.Drawing.Point(144, 61)
|
RadTextBoxControl_ModpackConfig.Name = "RadTextBoxControl_ModpackConfig"
|
||||||
Me.RadTextBoxControl_ModpackConfig.Name = "RadTextBoxControl_ModpackConfig"
|
RadTextBoxControl_ModpackConfig.NullText = "No file loaded!"
|
||||||
Me.RadTextBoxControl_ModpackConfig.NullText = "No file loaded!"
|
RadTextBoxControl_ModpackConfig.Size = New Size(273, 22)
|
||||||
Me.RadTextBoxControl_ModpackConfig.Size = New System.Drawing.Size(273, 22)
|
RadTextBoxControl_ModpackConfig.TabIndex = 5
|
||||||
Me.RadTextBoxControl_ModpackConfig.TabIndex = 5
|
'
|
||||||
'
|
' Panel1
|
||||||
'Panel1
|
'
|
||||||
'
|
Panel1.BackColor = Color.Transparent
|
||||||
Me.Panel1.BackColor = System.Drawing.Color.Transparent
|
Panel1.Controls.Add(RadButton_Install)
|
||||||
Me.Panel1.Controls.Add(Me.RadButton_Install)
|
Panel1.Controls.Add(RadButton_CheckForUpdates)
|
||||||
Me.Panel1.Controls.Add(Me.RadButton_CheckForUpdates)
|
Panel1.Controls.Add(RadButton_EditModpackConfig)
|
||||||
Me.Panel1.Controls.Add(Me.RadButton_EditModpackConfig)
|
Panel1.Controls.Add(RadButton_PasteModpackConfig)
|
||||||
Me.Panel1.Controls.Add(Me.RadButton_SearchModpackConfig)
|
Panel1.Controls.Add(RadButton_SearchModpackConfig)
|
||||||
Me.Panel1.Controls.Add(Me.RadButton_SearchMinecraftProfileFolder)
|
Panel1.Controls.Add(RadButton_SearchMinecraftProfileFolder)
|
||||||
Me.Panel1.Controls.Add(Me.RadLabel1)
|
Panel1.Controls.Add(RadLabel1)
|
||||||
Me.Panel1.Controls.Add(Me.RadTextBoxControl_ModpackConfig)
|
Panel1.Controls.Add(RadTextBoxControl_ModpackConfig)
|
||||||
Me.Panel1.Controls.Add(Me.RadLabel2)
|
Panel1.Controls.Add(RadLabel2)
|
||||||
Me.Panel1.Controls.Add(Me.RadTextBoxControl_MinecraftProfileFolder)
|
Panel1.Controls.Add(RadTextBoxControl_MinecraftProfileFolder)
|
||||||
Me.Panel1.Controls.Add(Me.RadLabel3)
|
Panel1.Controls.Add(RadLabel3)
|
||||||
Me.Panel1.Controls.Add(Me.RadLabel_Status)
|
Panel1.Controls.Add(RadLabel_Status)
|
||||||
Me.Panel1.Dock = System.Windows.Forms.DockStyle.Fill
|
Panel1.Dock = DockStyle.Fill
|
||||||
Me.Panel1.Location = New System.Drawing.Point(0, 0)
|
Panel1.Location = New Point(0, 0)
|
||||||
Me.Panel1.Name = "Panel1"
|
Panel1.Name = "Panel1"
|
||||||
Me.Panel1.Size = New System.Drawing.Size(420, 176)
|
Panel1.Size = New Size(420, 176)
|
||||||
Me.Panel1.TabIndex = 6
|
Panel1.TabIndex = 6
|
||||||
'
|
'
|
||||||
'RadButton_Install
|
' RadButton_Install
|
||||||
'
|
'
|
||||||
Me.RadButton_Install.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
RadButton_Install.Anchor = AnchorStyles.Bottom Or AnchorStyles.Right
|
||||||
Me.RadButton_Install.Image = Global.ModpackUpdater.My.Resources.MySymbols.icons8_software_installer_16px
|
RadButton_Install.Image = My.Resources.MySymbols.icons8_software_installer_16px
|
||||||
Me.RadButton_Install.ImageAlignment = System.Drawing.ContentAlignment.MiddleRight
|
RadButton_Install.ImageAlignment = ContentAlignment.MiddleRight
|
||||||
Me.RadButton_Install.Location = New System.Drawing.Point(337, 149)
|
RadButton_Install.Location = New Point(337, 149)
|
||||||
Me.RadButton_Install.Name = "RadButton_Install"
|
RadButton_Install.Name = "RadButton_Install"
|
||||||
Me.RadButton_Install.Size = New System.Drawing.Size(80, 24)
|
RadButton_Install.Size = New Size(80, 24)
|
||||||
Me.RadButton_Install.TabIndex = 10
|
RadButton_Install.TabIndex = 10
|
||||||
Me.RadButton_Install.Text = "Install"
|
RadButton_Install.Text = "Install"
|
||||||
Me.RadButton_Install.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft
|
RadButton_Install.TextAlignment = ContentAlignment.MiddleLeft
|
||||||
Me.RadButton_Install.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText
|
RadButton_Install.TextImageRelation = TextImageRelation.ImageBeforeText
|
||||||
'
|
'
|
||||||
'RadButton_CheckForUpdates
|
' RadButton_CheckForUpdates
|
||||||
'
|
'
|
||||||
Me.RadButton_CheckForUpdates.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
RadButton_CheckForUpdates.Anchor = AnchorStyles.Bottom Or AnchorStyles.Right
|
||||||
Me.RadButton_CheckForUpdates.Image = Global.ModpackUpdater.My.Resources.MySymbols.icons8_update_16px
|
RadButton_CheckForUpdates.Image = My.Resources.MySymbols.icons8_update_16px
|
||||||
Me.RadButton_CheckForUpdates.ImageAlignment = System.Drawing.ContentAlignment.MiddleRight
|
RadButton_CheckForUpdates.ImageAlignment = ContentAlignment.MiddleRight
|
||||||
Me.RadButton_CheckForUpdates.Location = New System.Drawing.Point(191, 149)
|
RadButton_CheckForUpdates.Location = New Point(191, 149)
|
||||||
Me.RadButton_CheckForUpdates.Name = "RadButton_CheckForUpdates"
|
RadButton_CheckForUpdates.Name = "RadButton_CheckForUpdates"
|
||||||
Me.RadButton_CheckForUpdates.Size = New System.Drawing.Size(140, 24)
|
RadButton_CheckForUpdates.Size = New Size(140, 24)
|
||||||
Me.RadButton_CheckForUpdates.TabIndex = 0
|
RadButton_CheckForUpdates.TabIndex = 0
|
||||||
Me.RadButton_CheckForUpdates.Text = "Check for Updates"
|
RadButton_CheckForUpdates.Text = "Check for Updates"
|
||||||
Me.RadButton_CheckForUpdates.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft
|
RadButton_CheckForUpdates.TextAlignment = ContentAlignment.MiddleLeft
|
||||||
Me.RadButton_CheckForUpdates.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText
|
RadButton_CheckForUpdates.TextImageRelation = TextImageRelation.ImageBeforeText
|
||||||
'
|
'
|
||||||
'RadButton_EditModpackConfig
|
' RadButton_EditModpackConfig
|
||||||
'
|
'
|
||||||
Me.RadButton_EditModpackConfig.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
|
RadButton_EditModpackConfig.Anchor = AnchorStyles.Bottom Or AnchorStyles.Left
|
||||||
Me.RadButton_EditModpackConfig.Image = Global.ModpackUpdater.My.Resources.MySymbols.icons8_wrench_16px
|
RadButton_EditModpackConfig.Image = My.Resources.MySymbols.icons8_wrench_16px
|
||||||
Me.RadButton_EditModpackConfig.ImageAlignment = System.Drawing.ContentAlignment.MiddleRight
|
RadButton_EditModpackConfig.ImageAlignment = ContentAlignment.MiddleRight
|
||||||
Me.RadButton_EditModpackConfig.Location = New System.Drawing.Point(3, 149)
|
RadButton_EditModpackConfig.Location = New Point(3, 149)
|
||||||
Me.RadButton_EditModpackConfig.Name = "RadButton_EditModpackConfig"
|
RadButton_EditModpackConfig.Name = "RadButton_EditModpackConfig"
|
||||||
Me.RadButton_EditModpackConfig.Size = New System.Drawing.Size(150, 24)
|
RadButton_EditModpackConfig.Size = New Size(150, 24)
|
||||||
Me.RadButton_EditModpackConfig.TabIndex = 8
|
RadButton_EditModpackConfig.TabIndex = 8
|
||||||
Me.RadButton_EditModpackConfig.Text = "Edit modpack config"
|
RadButton_EditModpackConfig.Text = "Edit modpack config"
|
||||||
Me.RadButton_EditModpackConfig.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft
|
RadButton_EditModpackConfig.TextAlignment = ContentAlignment.MiddleLeft
|
||||||
Me.RadButton_EditModpackConfig.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText
|
RadButton_EditModpackConfig.TextImageRelation = TextImageRelation.ImageBeforeText
|
||||||
'
|
'
|
||||||
'RadButton_SearchModpackConfig
|
' RadButton_SearchModpackConfig
|
||||||
'
|
'
|
||||||
Me.RadButton_SearchModpackConfig.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
RadButton_SearchModpackConfig.Anchor = AnchorStyles.Top Or AnchorStyles.Right
|
||||||
Me.RadButton_SearchModpackConfig.Image = CType(resources.GetObject("RadButton_SearchModpackConfig.Image"), System.Drawing.Image)
|
RadButton_SearchModpackConfig.Image = CType(resources.GetObject("RadButton_SearchModpackConfig.Image"), Image)
|
||||||
Me.RadButton_SearchModpackConfig.ImageAlignment = System.Drawing.ContentAlignment.MiddleRight
|
RadButton_SearchModpackConfig.ImageAlignment = ContentAlignment.MiddleRight
|
||||||
Me.RadButton_SearchModpackConfig.Location = New System.Drawing.Point(327, 89)
|
RadButton_SearchModpackConfig.Location = New Point(327, 89)
|
||||||
Me.RadButton_SearchModpackConfig.Name = "RadButton_SearchModpackConfig"
|
RadButton_SearchModpackConfig.Name = "RadButton_SearchModpackConfig"
|
||||||
Me.RadButton_SearchModpackConfig.Size = New System.Drawing.Size(90, 24)
|
RadButton_SearchModpackConfig.Size = New Size(90, 24)
|
||||||
Me.RadButton_SearchModpackConfig.TabIndex = 7
|
RadButton_SearchModpackConfig.TabIndex = 7
|
||||||
Me.RadButton_SearchModpackConfig.Text = "Search"
|
RadButton_SearchModpackConfig.Text = "Search"
|
||||||
Me.RadButton_SearchModpackConfig.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft
|
RadButton_SearchModpackConfig.TextAlignment = ContentAlignment.MiddleLeft
|
||||||
Me.RadButton_SearchModpackConfig.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText
|
RadButton_SearchModpackConfig.TextImageRelation = TextImageRelation.ImageBeforeText
|
||||||
'
|
'
|
||||||
'RadButton_SearchMinecraftProfileFolder
|
' RadButton_SearchMinecraftProfileFolder
|
||||||
'
|
'
|
||||||
Me.RadButton_SearchMinecraftProfileFolder.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
RadButton_SearchMinecraftProfileFolder.Anchor = AnchorStyles.Top Or AnchorStyles.Right
|
||||||
Me.RadButton_SearchMinecraftProfileFolder.Image = CType(resources.GetObject("RadButton_SearchMinecraftProfileFolder.Image"), System.Drawing.Image)
|
RadButton_SearchMinecraftProfileFolder.Image = CType(resources.GetObject("RadButton_SearchMinecraftProfileFolder.Image"), Image)
|
||||||
Me.RadButton_SearchMinecraftProfileFolder.ImageAlignment = System.Drawing.ContentAlignment.MiddleRight
|
RadButton_SearchMinecraftProfileFolder.ImageAlignment = ContentAlignment.MiddleRight
|
||||||
Me.RadButton_SearchMinecraftProfileFolder.Location = New System.Drawing.Point(327, 31)
|
RadButton_SearchMinecraftProfileFolder.Location = New Point(327, 31)
|
||||||
Me.RadButton_SearchMinecraftProfileFolder.Name = "RadButton_SearchMinecraftProfileFolder"
|
RadButton_SearchMinecraftProfileFolder.Name = "RadButton_SearchMinecraftProfileFolder"
|
||||||
Me.RadButton_SearchMinecraftProfileFolder.Size = New System.Drawing.Size(90, 24)
|
RadButton_SearchMinecraftProfileFolder.Size = New Size(90, 24)
|
||||||
Me.RadButton_SearchMinecraftProfileFolder.TabIndex = 6
|
RadButton_SearchMinecraftProfileFolder.TabIndex = 6
|
||||||
Me.RadButton_SearchMinecraftProfileFolder.Text = "Search"
|
RadButton_SearchMinecraftProfileFolder.Text = "Search"
|
||||||
Me.RadButton_SearchMinecraftProfileFolder.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft
|
RadButton_SearchMinecraftProfileFolder.TextAlignment = ContentAlignment.MiddleLeft
|
||||||
Me.RadButton_SearchMinecraftProfileFolder.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText
|
RadButton_SearchMinecraftProfileFolder.TextImageRelation = TextImageRelation.ImageBeforeText
|
||||||
'
|
'
|
||||||
'Form1
|
' RadButton_PasteModpackConfig
|
||||||
'
|
'
|
||||||
Me.AutoScaleBaseSize = New System.Drawing.Size(7, 15)
|
RadButton_PasteModpackConfig.Anchor = AnchorStyles.Top Or AnchorStyles.Right
|
||||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 15.0!)
|
RadButton_PasteModpackConfig.Image = CType(resources.GetObject("RadButton_PasteModpackConfig.Image"), Image)
|
||||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
RadButton_PasteModpackConfig.ImageAlignment = ContentAlignment.MiddleRight
|
||||||
Me.ClientSize = New System.Drawing.Size(420, 176)
|
RadButton_PasteModpackConfig.Location = New Point(231, 89)
|
||||||
Me.Controls.Add(Me.Panel1)
|
RadButton_PasteModpackConfig.Name = "RadButton_PasteModpackConfig"
|
||||||
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
|
RadButton_PasteModpackConfig.Size = New Size(90, 24)
|
||||||
Me.MaximizeBox = False
|
RadButton_PasteModpackConfig.TabIndex = 7
|
||||||
Me.Name = "Form1"
|
RadButton_PasteModpackConfig.Text = "Paste"
|
||||||
'
|
RadButton_PasteModpackConfig.TextAlignment = ContentAlignment.MiddleLeft
|
||||||
'
|
RadButton_PasteModpackConfig.TextImageRelation = TextImageRelation.ImageBeforeText
|
||||||
'
|
'
|
||||||
Me.RootElement.ApplyShapeToControl = True
|
' Form1
|
||||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
|
'
|
||||||
Me.Text = "Minecraft Modpack Updater"
|
AutoScaleBaseSize = New Size(7, 15)
|
||||||
CType(Me.RadLabel1, System.ComponentModel.ISupportInitialize).EndInit()
|
AutoScaleDimensions = New SizeF(7F, 15F)
|
||||||
CType(Me.RadLabel2, System.ComponentModel.ISupportInitialize).EndInit()
|
AutoScaleMode = AutoScaleMode.Font
|
||||||
CType(Me.RadLabel3, System.ComponentModel.ISupportInitialize).EndInit()
|
ClientSize = New Size(420, 176)
|
||||||
CType(Me.RadLabel_Status, System.ComponentModel.ISupportInitialize).EndInit()
|
Controls.Add(Panel1)
|
||||||
CType(Me.RadTextBoxControl_MinecraftProfileFolder, System.ComponentModel.ISupportInitialize).EndInit()
|
Icon = CType(resources.GetObject("$this.Icon"), Icon)
|
||||||
CType(Me.RadTextBoxControl_ModpackConfig, System.ComponentModel.ISupportInitialize).EndInit()
|
MaximizeBox = False
|
||||||
Me.Panel1.ResumeLayout(False)
|
Name = "Form1"
|
||||||
Me.Panel1.PerformLayout()
|
StartPosition = FormStartPosition.CenterScreen
|
||||||
CType(Me.RadButton_Install, System.ComponentModel.ISupportInitialize).EndInit()
|
Text = "Minecraft Modpack Updater"
|
||||||
CType(Me.RadButton_CheckForUpdates, System.ComponentModel.ISupportInitialize).EndInit()
|
CType(RadLabel1, ComponentModel.ISupportInitialize).EndInit()
|
||||||
CType(Me.RadButton_EditModpackConfig, System.ComponentModel.ISupportInitialize).EndInit()
|
CType(RadLabel2, ComponentModel.ISupportInitialize).EndInit()
|
||||||
CType(Me.RadButton_SearchModpackConfig, System.ComponentModel.ISupportInitialize).EndInit()
|
CType(RadLabel3, ComponentModel.ISupportInitialize).EndInit()
|
||||||
CType(Me.RadButton_SearchMinecraftProfileFolder, System.ComponentModel.ISupportInitialize).EndInit()
|
CType(RadLabel_Status, ComponentModel.ISupportInitialize).EndInit()
|
||||||
CType(Me, System.ComponentModel.ISupportInitialize).EndInit()
|
CType(RadTextBoxControl_MinecraftProfileFolder, ComponentModel.ISupportInitialize).EndInit()
|
||||||
Me.ResumeLayout(False)
|
CType(RadTextBoxControl_ModpackConfig, ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
Panel1.ResumeLayout(False)
|
||||||
|
Panel1.PerformLayout()
|
||||||
|
CType(RadButton_Install, ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
CType(RadButton_CheckForUpdates, ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
CType(RadButton_EditModpackConfig, ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
CType(RadButton_SearchModpackConfig, ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
CType(RadButton_SearchMinecraftProfileFolder, ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
CType(RadButton_PasteModpackConfig, ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
CType(Me, ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
ResumeLayout(False)
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
Friend WithEvents RadLabel1 As Telerik.WinControls.UI.RadLabel
|
Friend WithEvents RadLabel1 As Telerik.WinControls.UI.RadLabel
|
||||||
@@ -239,4 +249,5 @@ Partial Class Form1
|
|||||||
Friend WithEvents RadButton_EditModpackConfig As Telerik.WinControls.UI.RadButton
|
Friend WithEvents RadButton_EditModpackConfig As Telerik.WinControls.UI.RadButton
|
||||||
Friend WithEvents RadButton_SearchModpackConfig As Telerik.WinControls.UI.RadButton
|
Friend WithEvents RadButton_SearchModpackConfig As Telerik.WinControls.UI.RadButton
|
||||||
Friend WithEvents RadButton_SearchMinecraftProfileFolder As Telerik.WinControls.UI.RadButton
|
Friend WithEvents RadButton_SearchMinecraftProfileFolder As Telerik.WinControls.UI.RadButton
|
||||||
|
Friend WithEvents RadButton_PasteModpackConfig As Telerik.WinControls.UI.RadButton
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@@ -1,4 +1,64 @@
|
|||||||
<root>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
<xsd:element name="root" msdata:IsDataSet="true">
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
@@ -58,6 +118,16 @@
|
|||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
|
<data name="RadButton_PasteModpackConfig.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
|
YQUAAADvSURBVDhPY8AFJixbowfCUC5pYNLidfoTlqxbBcJ9SzboQoXxA9eolHlA/BOo6T8I9y5a87Jv
|
||||||
|
4ZpXMD5IDojnQJVjAqDk3x8/f/2fu247WAMynrt+x3+QHFDNH6hyTACU/E8IgNRAlWMCZAM+//z3/9bb
|
||||||
|
vxg4rn7a/wknf4aCMFQbAiAbAFI84dRPvBiqDQFoYoDDpPsYOHrpC+INyFj3BgXDbKefARR7AV0zzHas
|
||||||
|
BrhEpXzaffjY/4MnTv/feOIWimJsGKoNAVwiU4Ndo1NWukalrkrrWnoMmyZkDNWGHUw68cti4smfq/Fh
|
||||||
|
iEoGBgDk9v/D66ccygAAAABJRU5ErkJggg==
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
<data name="RadButton_SearchModpackConfig.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="RadButton_SearchModpackConfig.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAMhJREFUOE9j
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAMhJREFUOE9j
|
||||||
|
|||||||
@@ -1,23 +1,32 @@
|
|||||||
Imports System.IO
|
Imports System.IO
|
||||||
|
|
||||||
|
Imports ModpackUpdater.GitLab
|
||||||
|
|
||||||
|
Imports ModpackUpdater.Manager
|
||||||
|
|
||||||
|
Imports ModpackUpdater.Model
|
||||||
|
|
||||||
Imports ModpackUpdater.My.Resources
|
Imports ModpackUpdater.My.Resources
|
||||||
|
|
||||||
|
Imports Telerik.WinControls
|
||||||
Imports Telerik.WinControls.UI
|
Imports Telerik.WinControls.UI
|
||||||
|
|
||||||
Public Class Form1
|
Public Class Form1
|
||||||
|
|
||||||
Private updateConfig As New UpdateConfig
|
Private updateConfig As New UpdateConfig
|
||||||
Private currentUpdating As Boolean = False
|
Private currentUpdating As Boolean = False
|
||||||
|
Private lastUpdateCheckResult As UpdateCheckResult = Nothing
|
||||||
|
|
||||||
Public Sub New()
|
Public Sub New()
|
||||||
InitializeComponent()
|
InitializeComponent()
|
||||||
|
Text = $"{Text} (v{Application.ProductVersion})"
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Function IsMinecaftProfileLoaded() As Boolean
|
Private Function IsMinecaftProfileLoaded() As Boolean
|
||||||
Return Not String.IsNullOrEmpty(GetMinecraftProfilePath)
|
Return Not String.IsNullOrEmpty(GetMinecraftProfilePath)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function GetMinecraftProfilePath() As string
|
Private Function GetMinecraftProfilePath() As String
|
||||||
Return RadTextBoxControl_MinecraftProfileFolder.Text.Trim
|
Return RadTextBoxControl_MinecraftProfileFolder.Text.Trim
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
@@ -25,7 +34,7 @@ Public Class Form1
|
|||||||
Return Not String.IsNullOrEmpty(GetUpdateconfigPath)
|
Return Not String.IsNullOrEmpty(GetUpdateconfigPath)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function GetUpdateconfigPath() As string
|
Private Function GetUpdateconfigPath() As String
|
||||||
Return RadTextBoxControl_ModpackConfig.Text.Trim
|
Return RadTextBoxControl_ModpackConfig.Text.Trim
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
@@ -41,7 +50,7 @@ Public Class Form1
|
|||||||
End If
|
End If
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Sub SetStatus(statusText As string, image As Image)
|
Private Sub SetStatus(statusText As String, image As Image)
|
||||||
RadLabel_Status.Text = statusText
|
RadLabel_Status.Text = statusText
|
||||||
RadLabel_Status.Image = image
|
RadLabel_Status.Image = image
|
||||||
End Sub
|
End Sub
|
||||||
@@ -51,7 +60,7 @@ Public Class Form1
|
|||||||
RadLabel_Status.Image = Nothing
|
RadLabel_Status.Image = Nothing
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub LoadMinecraftProfile(folderPath As string)
|
Private Sub LoadMinecraftProfile(folderPath As String)
|
||||||
RadTextBoxControl_MinecraftProfileFolder.Text = folderPath
|
RadTextBoxControl_MinecraftProfileFolder.Text = folderPath
|
||||||
|
|
||||||
If IsUpdateConfigLoaded() Then
|
If IsUpdateConfigLoaded() Then
|
||||||
@@ -61,12 +70,19 @@ Public Class Form1
|
|||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub LoadUpdateConfigFile(filePath As string)
|
Private Sub LoadUpdateConfigFile(filePath As String)
|
||||||
RadTextBoxControl_ModpackConfig.Text = filePath
|
RadTextBoxControl_ModpackConfig.Text = filePath
|
||||||
|
Try
|
||||||
If IsUpdateConfigLoaded() Then
|
If IsUpdateConfigLoaded() Then
|
||||||
updateConfig = UpdateConfig.LoadFromFile(filePath)
|
If filePath.StartsWith("http") Then
|
||||||
End If
|
updateConfig = UpdateConfigExt.LoadFromSnippet(filePath)
|
||||||
|
Else
|
||||||
|
updateConfig = UpdateConfig.LoadFromFile(filePath)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Catch ex As Exception
|
||||||
|
RadTextBoxControl_ModpackConfig.Text = String.Empty
|
||||||
|
End Try
|
||||||
|
|
||||||
If IsMinecaftProfileLoaded() Then
|
If IsMinecaftProfileLoaded() Then
|
||||||
RadButton_CheckForUpdates.PerformClick()
|
RadButton_CheckForUpdates.PerformClick()
|
||||||
@@ -75,42 +91,53 @@ Public Class Form1
|
|||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Async Function ExecuteUpdate(allowInstall As Boolean) As Task
|
Private Async Function ExecuteUpdate(doInstall As Boolean) As Task
|
||||||
SetStatus(LangRes.StatusText_CheckingForUpdates, MySymbols.icons8_update_16px)
|
|
||||||
|
|
||||||
Dim updater As New UpdateInstaller(updateConfig, GetMinecraftProfilePath)
|
Dim updater As New UpdateInstaller(updateConfig, GetMinecraftProfilePath)
|
||||||
AddHandler updater.InstallProgessUpdated, AddressOf Update_InstallProgessUpdated
|
AddHandler updater.InstallProgessUpdated, AddressOf Update_InstallProgessUpdated
|
||||||
AddHandler updater.CheckingProgressUpdated, AddressOf Updated_CheckingProgresssUpdated
|
AddHandler updater.CheckingProgressUpdated, AddressOf Updated_CheckingProgresssUpdated
|
||||||
|
|
||||||
Dim result As UpdateCheckResult = Await updater.CheckForUpdates(True)
|
'Check only if not pressed "install", not really needed otherwise.
|
||||||
Dim everytingOk As Boolean = False
|
If lastUpdateCheckResult Is Nothing OrElse Not doInstall Then
|
||||||
|
SetStatus(LangRes.StatusText_CheckingForUpdates, MySymbols.icons8_update_16px)
|
||||||
|
|
||||||
If result Is Nothing Then
|
Try
|
||||||
SetStatus(LangRes.StatusText_ErrorWhileUpdateCheckOrUpdate, MySymbols.icons8_delete_16px)
|
lastUpdateCheckResult = Await updater.CheckForUpdates(Not AppConfig.Instance.AllowRemoveLocalFiles)
|
||||||
ElseIf result.HasUpdates Then
|
Catch ex As Exception
|
||||||
SetStatus(LangRes.StatusText_UpdateAvailable, MySymbols.icons8_software_installer_16px)
|
SetStatus(LangRes.StatusText_ErrorWhileUpdateCheckOrUpdate, MySymbols.icons8_delete_16px)
|
||||||
|
Finally
|
||||||
If allowInstall Then
|
End Try
|
||||||
currentUpdating = True
|
|
||||||
SetStatus(LangRes.StatusText_Installing, MySymbols.icons8_software_installer_16px)
|
|
||||||
|
|
||||||
If Await updater.InstallUpdates(result) Then
|
|
||||||
everytingOk = True
|
|
||||||
End If
|
|
||||||
|
|
||||||
currentUpdating = False
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
everytingOk = True
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If everytingOk Then
|
If lastUpdateCheckResult Is Nothing OrElse lastUpdateCheckResult.HasError Then
|
||||||
|
SetStatus(LangRes.StatusText_ErrorWhileUpdateCheckOrUpdate, MySymbols.icons8_delete_16px)
|
||||||
|
ElseIf lastUpdateCheckResult.HasUpdates Then
|
||||||
|
If doInstall Then
|
||||||
|
SetStatus(LangRes.StatusText_Installing, MySymbols.icons8_software_installer_16px)
|
||||||
|
currentUpdating = True
|
||||||
|
|
||||||
|
Try
|
||||||
|
If Await updater.InstallUpdates(lastUpdateCheckResult) Then
|
||||||
|
lastUpdateCheckResult = Nothing 'Reset last update check, a new one would be needed now.
|
||||||
|
SetStatus(LangRes.StatusTest_EverythingOk, MySymbols.icons8_checkmark_16px)
|
||||||
|
Else
|
||||||
|
SetStatus(LangRes.StatusText_ErrorWhileUpdateCheckOrUpdate, MySymbols.icons8_delete_16px)
|
||||||
|
End If
|
||||||
|
Catch
|
||||||
|
SetStatus(LangRes.StatusText_ErrorWhileUpdateCheckOrUpdate, MySymbols.icons8_delete_16px)
|
||||||
|
Finally
|
||||||
|
currentUpdating = False
|
||||||
|
End Try
|
||||||
|
Else
|
||||||
|
SetStatus(LangRes.StatusText_UpdateAvailable, MySymbols.icons8_software_installer_16px)
|
||||||
|
End If
|
||||||
|
Else
|
||||||
SetStatus(LangRes.StatusTest_EverythingOk, MySymbols.icons8_checkmark_16px)
|
SetStatus(LangRes.StatusTest_EverythingOk, MySymbols.icons8_checkmark_16px)
|
||||||
End If
|
End If
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Sub Update_InstallProgessUpdated(result As UpdateCheckResult, processedSyncs As Integer)
|
Private Sub Update_InstallProgessUpdated(result As UpdateCheckResult, processedSyncs As Integer)
|
||||||
SetStatus(Math.Round(processedSyncs / result.SyncFiles.Count * 100, 1) & "%", MySymbols.icons8_software_installer_16px)
|
Dim actionCount = If(result.IsLegacy, result.SyncFiles.Count, result.UpdateActions.Count)
|
||||||
|
SetStatus(Math.Round(processedSyncs / actionCount * 100, 1) & "%", MySymbols.icons8_software_installer_16px)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub Updated_CheckingProgresssUpdated(toCheck As Integer, processed As Integer)
|
Private Sub Updated_CheckingProgresssUpdated(toCheck As Integer, processed As Integer)
|
||||||
@@ -126,14 +153,22 @@ Public Class Form1
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub ButtonX_SearchUpdateConfig_Click(sender As Object, e As EventArgs) Handles RadButton_SearchModpackConfig.Click
|
Private Sub ButtonX_SearchUpdateConfig_Click(sender As Object, e As EventArgs) Handles RadButton_SearchModpackConfig.Click
|
||||||
Dim ofd As New RadOpenFileDialog
|
Dim ofd As New RadOpenFileDialog With {
|
||||||
ofd.Filter = FiledialogFilters.JSON_Display & "|" & FiledialogFilters.JSON_Filter
|
.Filter = FiledialogFilters.JSON_Display & "|" & FiledialogFilters.JSON_Filter
|
||||||
|
}
|
||||||
|
|
||||||
If ofd.ShowDialog(Me) = DialogResult.OK Then
|
If ofd.ShowDialog(Me) = DialogResult.OK Then
|
||||||
LoadUpdateConfigFile(ofd.FileName)
|
LoadUpdateConfigFile(ofd.FileName)
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Private Sub RadButton_PasteModpackConfig_Click(sender As Object, e As EventArgs) Handles RadButton_PasteModpackConfig.Click
|
||||||
|
Dim text = Clipboard.GetText
|
||||||
|
If text.StartsWith("http") Then
|
||||||
|
LoadUpdateConfigFile(text)
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
Private Sub ButtonX_EditUpdateConfig_Click(sender As Object, e As EventArgs) Handles RadButton_EditModpackConfig.Click
|
Private Sub ButtonX_EditUpdateConfig_Click(sender As Object, e As EventArgs) Handles RadButton_EditModpackConfig.Click
|
||||||
Dim frm As New FormSettings(updateConfig)
|
Dim frm As New FormSettings(updateConfig)
|
||||||
frm.ShowDialog(Me)
|
frm.ShowDialog(Me)
|
||||||
@@ -165,8 +200,15 @@ Public Class Form1
|
|||||||
If Directory.Exists(AppConfig.Instance.LastMinecraftProfilePath) Then
|
If Directory.Exists(AppConfig.Instance.LastMinecraftProfilePath) Then
|
||||||
LoadMinecraftProfile(AppConfig.Instance.LastMinecraftProfilePath)
|
LoadMinecraftProfile(AppConfig.Instance.LastMinecraftProfilePath)
|
||||||
End If
|
End If
|
||||||
If File.Exists(AppConfig.Instance.LastConfigFilePath) Then
|
LoadUpdateConfigFile(AppConfig.Instance.LastConfigFilePath)
|
||||||
LoadUpdateConfigFile(AppConfig.Instance.LastConfigFilePath)
|
End Sub
|
||||||
|
|
||||||
|
Private Async Sub Form1_Shown(sender As Object, e As EventArgs) Handles Me.Shown
|
||||||
|
If Await AppUpdater.Check AndAlso RadMessageBox.Show(LangRes.MsgBox_UpdateAvailable, LangRes.MsgBox_UpdateAvailable_Title, MessageBoxButtons.YesNo, RadMessageIcon.Info) = DialogResult.Yes Then
|
||||||
|
SetStatus(LangRes.StatusText_InstallingAppUpdate, MySymbols.icons8_software_installer_16px)
|
||||||
|
Enabled = False
|
||||||
|
Await AppUpdater.Install()
|
||||||
|
Application.Restart()
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|||||||
26
ModpackUpdater/FormSettings.Designer.vb
generated
26
ModpackUpdater/FormSettings.Designer.vb
generated
@@ -32,6 +32,8 @@ Partial Class FormSettings
|
|||||||
Me.RadLabel3 = New Telerik.WinControls.UI.RadLabel()
|
Me.RadLabel3 = New Telerik.WinControls.UI.RadLabel()
|
||||||
Me.RadLabel2 = New Telerik.WinControls.UI.RadLabel()
|
Me.RadLabel2 = New Telerik.WinControls.UI.RadLabel()
|
||||||
Me.RadLabel1 = New Telerik.WinControls.UI.RadLabel()
|
Me.RadLabel1 = New Telerik.WinControls.UI.RadLabel()
|
||||||
|
Me.RadTextBoxControl_UpdateUrl = New Telerik.WinControls.UI.RadTextBoxControl()
|
||||||
|
Me.RadLabel4 = New Telerik.WinControls.UI.RadLabel()
|
||||||
Me.Panel1.SuspendLayout()
|
Me.Panel1.SuspendLayout()
|
||||||
CType(Me.RadTextBoxControl_WebdavPassword, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me.RadTextBoxControl_WebdavPassword, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
CType(Me.RadTextBoxControl_WebdavUsername, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me.RadTextBoxControl_WebdavUsername, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
@@ -41,13 +43,16 @@ Partial Class FormSettings
|
|||||||
CType(Me.RadLabel3, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me.RadLabel3, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
CType(Me.RadLabel2, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me.RadLabel2, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
CType(Me.RadLabel1, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me.RadLabel1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
|
CType(Me.RadTextBoxControl_UpdateUrl, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
|
CType(Me.RadLabel4, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
CType(Me, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
Me.SuspendLayout()
|
Me.SuspendLayout()
|
||||||
'
|
'
|
||||||
'Panel1
|
'Panel1
|
||||||
'
|
'
|
||||||
resources.ApplyResources(Me.Panel1, "Panel1")
|
|
||||||
Me.Panel1.BackColor = System.Drawing.Color.Transparent
|
Me.Panel1.BackColor = System.Drawing.Color.Transparent
|
||||||
|
Me.Panel1.Controls.Add(Me.RadTextBoxControl_UpdateUrl)
|
||||||
|
Me.Panel1.Controls.Add(Me.RadLabel4)
|
||||||
Me.Panel1.Controls.Add(Me.RadTextBoxControl_WebdavPassword)
|
Me.Panel1.Controls.Add(Me.RadTextBoxControl_WebdavPassword)
|
||||||
Me.Panel1.Controls.Add(Me.RadTextBoxControl_WebdavUsername)
|
Me.Panel1.Controls.Add(Me.RadTextBoxControl_WebdavUsername)
|
||||||
Me.Panel1.Controls.Add(Me.RadTextBoxControl_WebdavURL)
|
Me.Panel1.Controls.Add(Me.RadTextBoxControl_WebdavURL)
|
||||||
@@ -56,6 +61,7 @@ Partial Class FormSettings
|
|||||||
Me.Panel1.Controls.Add(Me.RadLabel3)
|
Me.Panel1.Controls.Add(Me.RadLabel3)
|
||||||
Me.Panel1.Controls.Add(Me.RadLabel2)
|
Me.Panel1.Controls.Add(Me.RadLabel2)
|
||||||
Me.Panel1.Controls.Add(Me.RadLabel1)
|
Me.Panel1.Controls.Add(Me.RadLabel1)
|
||||||
|
resources.ApplyResources(Me.Panel1, "Panel1")
|
||||||
Me.Panel1.Name = "Panel1"
|
Me.Panel1.Name = "Panel1"
|
||||||
'
|
'
|
||||||
'RadTextBoxControl_WebdavPassword
|
'RadTextBoxControl_WebdavPassword
|
||||||
@@ -100,6 +106,16 @@ Partial Class FormSettings
|
|||||||
resources.ApplyResources(Me.RadLabel1, "RadLabel1")
|
resources.ApplyResources(Me.RadLabel1, "RadLabel1")
|
||||||
Me.RadLabel1.Name = "RadLabel1"
|
Me.RadLabel1.Name = "RadLabel1"
|
||||||
'
|
'
|
||||||
|
'RadTextBoxControl_UpdateUrl
|
||||||
|
'
|
||||||
|
resources.ApplyResources(Me.RadTextBoxControl_UpdateUrl, "RadTextBoxControl_UpdateUrl")
|
||||||
|
Me.RadTextBoxControl_UpdateUrl.Name = "RadTextBoxControl_UpdateUrl"
|
||||||
|
'
|
||||||
|
'RadLabel4
|
||||||
|
'
|
||||||
|
resources.ApplyResources(Me.RadLabel4, "RadLabel4")
|
||||||
|
Me.RadLabel4.Name = "RadLabel4"
|
||||||
|
'
|
||||||
'FormSettings
|
'FormSettings
|
||||||
'
|
'
|
||||||
resources.ApplyResources(Me, "$this")
|
resources.ApplyResources(Me, "$this")
|
||||||
@@ -107,10 +123,6 @@ Partial Class FormSettings
|
|||||||
Me.Controls.Add(Me.Panel1)
|
Me.Controls.Add(Me.Panel1)
|
||||||
Me.MaximizeBox = False
|
Me.MaximizeBox = False
|
||||||
Me.Name = "FormSettings"
|
Me.Name = "FormSettings"
|
||||||
'
|
|
||||||
'
|
|
||||||
'
|
|
||||||
Me.RootElement.ApplyShapeToControl = True
|
|
||||||
Me.Panel1.ResumeLayout(False)
|
Me.Panel1.ResumeLayout(False)
|
||||||
Me.Panel1.PerformLayout()
|
Me.Panel1.PerformLayout()
|
||||||
CType(Me.RadTextBoxControl_WebdavPassword, System.ComponentModel.ISupportInitialize).EndInit()
|
CType(Me.RadTextBoxControl_WebdavPassword, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
@@ -121,6 +133,8 @@ Partial Class FormSettings
|
|||||||
CType(Me.RadLabel3, System.ComponentModel.ISupportInitialize).EndInit()
|
CType(Me.RadLabel3, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
CType(Me.RadLabel2, System.ComponentModel.ISupportInitialize).EndInit()
|
CType(Me.RadLabel2, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
CType(Me.RadLabel1, System.ComponentModel.ISupportInitialize).EndInit()
|
CType(Me.RadLabel1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
CType(Me.RadTextBoxControl_UpdateUrl, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
CType(Me.RadLabel4, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
CType(Me, System.ComponentModel.ISupportInitialize).EndInit()
|
CType(Me, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
Me.ResumeLayout(False)
|
Me.ResumeLayout(False)
|
||||||
|
|
||||||
@@ -135,4 +149,6 @@ Partial Class FormSettings
|
|||||||
Friend WithEvents RadButton_SaveAs As Telerik.WinControls.UI.RadButton
|
Friend WithEvents RadButton_SaveAs As Telerik.WinControls.UI.RadButton
|
||||||
Friend WithEvents RadLabel3 As Telerik.WinControls.UI.RadLabel
|
Friend WithEvents RadLabel3 As Telerik.WinControls.UI.RadLabel
|
||||||
Friend WithEvents RadLabel2 As Telerik.WinControls.UI.RadLabel
|
Friend WithEvents RadLabel2 As Telerik.WinControls.UI.RadLabel
|
||||||
|
Friend WithEvents RadTextBoxControl_UpdateUrl As Telerik.WinControls.UI.RadTextBoxControl
|
||||||
|
Friend WithEvents RadLabel4 As Telerik.WinControls.UI.RadLabel
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@@ -1,64 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<root>
|
||||||
<root>
|
|
||||||
<!--
|
|
||||||
Microsoft ResX Schema
|
|
||||||
|
|
||||||
Version 2.0
|
|
||||||
|
|
||||||
The primary goals of this format is to allow a simple XML format
|
|
||||||
that is mostly human readable. The generation and parsing of the
|
|
||||||
various data types are done through the TypeConverter classes
|
|
||||||
associated with the data types.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
... ado.net/XML headers & schema ...
|
|
||||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
|
||||||
<resheader name="version">2.0</resheader>
|
|
||||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
|
||||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
|
||||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
|
||||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
|
||||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
|
||||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
|
||||||
</data>
|
|
||||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
||||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
|
||||||
<comment>This is a comment</comment>
|
|
||||||
</data>
|
|
||||||
|
|
||||||
There are any number of "resheader" rows that contain simple
|
|
||||||
name/value pairs.
|
|
||||||
|
|
||||||
Each data row contains a name, and value. The row also contains a
|
|
||||||
type or mimetype. Type corresponds to a .NET class that support
|
|
||||||
text/value conversion through the TypeConverter architecture.
|
|
||||||
Classes that don't support this are serialized and stored with the
|
|
||||||
mimetype set.
|
|
||||||
|
|
||||||
The mimetype is used for serialized objects, and tells the
|
|
||||||
ResXResourceReader how to depersist the object. This is currently not
|
|
||||||
extensible. For a given mimetype the value must be set accordingly:
|
|
||||||
|
|
||||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
|
||||||
that the ResXResourceWriter will generate, however the reader can
|
|
||||||
read any of the formats listed below.
|
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.binary.base64
|
|
||||||
value : The object must be serialized with
|
|
||||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
|
||||||
: and then encoded with base64 encoding.
|
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.soap.base64
|
|
||||||
value : The object must be serialized with
|
|
||||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
|
||||||
: and then encoded with base64 encoding.
|
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
|
||||||
value : The object must be serialized into a byte array
|
|
||||||
: using a System.ComponentModel.TypeConverter
|
|
||||||
: and then encoded with base64 encoding.
|
|
||||||
-->
|
|
||||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
<xsd:element name="root" msdata:IsDataSet="true">
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
@@ -117,60 +57,318 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<data name=">>RadLabel2.ZOrder" xml:space="preserve">
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
<value>6</value>
|
<data name="RadTextBoxControl_UpdateUrl.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
</data>
|
<value>Top, Left, Right</value>
|
||||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<data name="RadButton_SaveAs.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms">
|
|
||||||
<value>ImageBeforeText</value>
|
|
||||||
</data>
|
|
||||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<data name="Panel1.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>0</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>RadTextBoxControl_WebdavURL.ZOrder" xml:space="preserve">
|
|
||||||
<value>2</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadButton_SaveAndClose.Text" xml:space="preserve">
|
|
||||||
<value>Save && Close</value>
|
|
||||||
</data>
|
</data>
|
||||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
<data name="RadButton_SaveAndClose.TextAlignment" type="System.Drawing.ContentAlignment, System.Drawing">
|
<data name="RadTextBoxControl_UpdateUrl.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>MiddleLeft</value>
|
<value>118, 87</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>$this.Type" xml:space="preserve">
|
<data name="RadTextBoxControl_UpdateUrl.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>Telerik.WinControls.UI.RadForm, Telerik.WinControls.UI, Version=2022.2.510.40, Culture=neutral, PublicKeyToken=5bb2a467cbec794e</value>
|
<value>389, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>RadButton_SaveAndClose.Parent" xml:space="preserve">
|
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
|
<data name="RadTextBoxControl_UpdateUrl.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>9</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadTextBoxControl_UpdateUrl.Name" xml:space="preserve">
|
||||||
|
<value>RadTextBoxControl_UpdateUrl</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadTextBoxControl_UpdateUrl.Type" xml:space="preserve">
|
||||||
|
<value>Telerik.WinControls.UI.RadTextBoxControl, Telerik.WinControls.UI, Culture=neutral, PublicKeyToken=5bb2a467cbec794e</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadTextBoxControl_UpdateUrl.Parent" xml:space="preserve">
|
||||||
<value>Panel1</value>
|
<value>Panel1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>RadTextBoxControl_WebdavPassword.Name" xml:space="preserve">
|
<data name=">>RadTextBoxControl_UpdateUrl.ZOrder" xml:space="preserve">
|
||||||
<value>RadTextBoxControl_WebdavPassword</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RadButton_SaveAs.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
<data name="RadLabel4.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>Bottom, Left</value>
|
<value>3, 89</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadLabel4.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>70, 18</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadLabel4.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>8</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadLabel4.Text" xml:space="preserve">
|
||||||
|
<value>Update-URL:</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadLabel4.Name" xml:space="preserve">
|
||||||
|
<value>RadLabel4</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadLabel4.Type" xml:space="preserve">
|
||||||
|
<value>Telerik.WinControls.UI.RadLabel, Telerik.WinControls.UI, Culture=neutral, PublicKeyToken=5bb2a467cbec794e</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadLabel4.Parent" xml:space="preserve">
|
||||||
|
<value>Panel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadLabel4.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadTextBoxControl_WebdavPassword.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
|
<value>Top, Left, Right</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadTextBoxControl_WebdavPassword.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>118, 59</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadTextBoxControl_WebdavPassword.NullText" xml:space="preserve">
|
||||||
|
<value>Obsulete! Do not use for new Modpack Configs!</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RadTextBoxControl_WebdavPassword.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="RadTextBoxControl_WebdavPassword.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>389, 22</value>
|
<value>389, 22</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="RadTextBoxControl_WebdavPassword.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>7</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadTextBoxControl_WebdavPassword.Name" xml:space="preserve">
|
||||||
|
<value>RadTextBoxControl_WebdavPassword</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadTextBoxControl_WebdavPassword.Type" xml:space="preserve">
|
||||||
|
<value>Telerik.WinControls.UI.RadTextBoxControl, Telerik.WinControls.UI, Culture=neutral, PublicKeyToken=5bb2a467cbec794e</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadTextBoxControl_WebdavPassword.Parent" xml:space="preserve">
|
||||||
|
<value>Panel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadTextBoxControl_WebdavPassword.ZOrder" xml:space="preserve">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadTextBoxControl_WebdavUsername.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
|
<value>Top, Left, Right</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadTextBoxControl_WebdavUsername.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>118, 31</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadTextBoxControl_WebdavUsername.NullText" xml:space="preserve">
|
||||||
|
<value>Obsulete! Do not use for new Modpack Configs!</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadTextBoxControl_WebdavUsername.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>389, 22</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadTextBoxControl_WebdavUsername.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>6</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadTextBoxControl_WebdavUsername.Name" xml:space="preserve">
|
||||||
|
<value>RadTextBoxControl_WebdavUsername</value>
|
||||||
|
</data>
|
||||||
<data name=">>RadTextBoxControl_WebdavUsername.Type" xml:space="preserve">
|
<data name=">>RadTextBoxControl_WebdavUsername.Type" xml:space="preserve">
|
||||||
<value>Telerik.WinControls.UI.RadTextBoxControl, Telerik.WinControls.UI, Version=2022.2.510.40, Culture=neutral, PublicKeyToken=5bb2a467cbec794e</value>
|
<value>Telerik.WinControls.UI.RadTextBoxControl, Telerik.WinControls.UI, Culture=neutral, PublicKeyToken=5bb2a467cbec794e</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadTextBoxControl_WebdavUsername.Parent" xml:space="preserve">
|
||||||
|
<value>Panel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadTextBoxControl_WebdavUsername.ZOrder" xml:space="preserve">
|
||||||
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadTextBoxControl_WebdavURL.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
|
<value>Top, Left, Right</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadTextBoxControl_WebdavURL.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>118, 3</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadTextBoxControl_WebdavURL.NullText" xml:space="preserve">
|
||||||
|
<value>Obsulete! Do not use for new Modpack Configs!</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadTextBoxControl_WebdavURL.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>389, 22</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadTextBoxControl_WebdavURL.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>5</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadTextBoxControl_WebdavURL.Name" xml:space="preserve">
|
||||||
|
<value>RadTextBoxControl_WebdavURL</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadTextBoxControl_WebdavURL.Type" xml:space="preserve">
|
||||||
|
<value>Telerik.WinControls.UI.RadTextBoxControl, Telerik.WinControls.UI, Culture=neutral, PublicKeyToken=5bb2a467cbec794e</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadTextBoxControl_WebdavURL.Parent" xml:space="preserve">
|
||||||
|
<value>Panel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadTextBoxControl_WebdavURL.ZOrder" xml:space="preserve">
|
||||||
|
<value>4</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadButton_SaveAndClose.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
|
<value>Bottom, Right</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadButton_SaveAndClose.ImageAlignment" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||||
|
<value>MiddleRight</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadButton_SaveAndClose.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>387, 115</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadButton_SaveAndClose.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>120, 24</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadButton_SaveAndClose.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>4</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadButton_SaveAndClose.Text" xml:space="preserve">
|
||||||
|
<value>Save && Close</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadButton_SaveAndClose.TextAlignment" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||||
|
<value>MiddleLeft</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadButton_SaveAndClose.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms">
|
||||||
|
<value>ImageBeforeText</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadButton_SaveAndClose.Name" xml:space="preserve">
|
||||||
|
<value>RadButton_SaveAndClose</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadButton_SaveAndClose.Type" xml:space="preserve">
|
||||||
|
<value>Telerik.WinControls.UI.RadButton, Telerik.WinControls.UI, Culture=neutral, PublicKeyToken=5bb2a467cbec794e</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadButton_SaveAndClose.Parent" xml:space="preserve">
|
||||||
|
<value>Panel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadButton_SaveAndClose.ZOrder" xml:space="preserve">
|
||||||
|
<value>5</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadButton_SaveAs.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
|
<value>Bottom, Left</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadButton_SaveAs.ImageAlignment" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||||
|
<value>MiddleRight</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadButton_SaveAs.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>3, 115</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadButton_SaveAs.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>100, 24</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadButton_SaveAs.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RadButton_SaveAs.Text" xml:space="preserve">
|
<data name="RadButton_SaveAs.Text" xml:space="preserve">
|
||||||
<value>Save as ...</value>
|
<value>Save as ...</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>RadLabel1.ZOrder" xml:space="preserve">
|
<data name="RadButton_SaveAs.TextAlignment" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||||
|
<value>MiddleLeft</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadButton_SaveAs.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms">
|
||||||
|
<value>ImageBeforeText</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadButton_SaveAs.Name" xml:space="preserve">
|
||||||
|
<value>RadButton_SaveAs</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadButton_SaveAs.Type" xml:space="preserve">
|
||||||
|
<value>Telerik.WinControls.UI.RadButton, Telerik.WinControls.UI, Culture=neutral, PublicKeyToken=5bb2a467cbec794e</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadButton_SaveAs.Parent" xml:space="preserve">
|
||||||
|
<value>Panel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadButton_SaveAs.ZOrder" xml:space="preserve">
|
||||||
|
<value>6</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadLabel3.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>3, 61</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadLabel3.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>100, 18</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadLabel3.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadLabel3.Text" xml:space="preserve">
|
||||||
|
<value>Webdav Password:</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadLabel3.Name" xml:space="preserve">
|
||||||
|
<value>RadLabel3</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadLabel3.Type" xml:space="preserve">
|
||||||
|
<value>Telerik.WinControls.UI.RadLabel, Telerik.WinControls.UI, Culture=neutral, PublicKeyToken=5bb2a467cbec794e</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadLabel3.Parent" xml:space="preserve">
|
||||||
|
<value>Panel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadLabel3.ZOrder" xml:space="preserve">
|
||||||
<value>7</value>
|
<value>7</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="RadLabel2.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>3, 33</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadLabel2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>103, 18</value>
|
||||||
|
</data>
|
||||||
<data name="RadLabel2.TabIndex" type="System.Int32, mscorlib">
|
<data name="RadLabel2.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>1</value>
|
<value>1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
|
<data name="RadLabel2.Text" xml:space="preserve">
|
||||||
<value>CenterParent</value>
|
<value>Webdav Username:</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadLabel2.Name" xml:space="preserve">
|
||||||
|
<value>RadLabel2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadLabel2.Type" xml:space="preserve">
|
||||||
|
<value>Telerik.WinControls.UI.RadLabel, Telerik.WinControls.UI, Culture=neutral, PublicKeyToken=5bb2a467cbec794e</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadLabel2.Parent" xml:space="preserve">
|
||||||
|
<value>Panel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadLabel2.ZOrder" xml:space="preserve">
|
||||||
|
<value>8</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadLabel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>3, 5</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadLabel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>73, 18</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadLabel1.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="RadLabel1.Text" xml:space="preserve">
|
||||||
|
<value>Webdav URL:</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadLabel1.Name" xml:space="preserve">
|
||||||
|
<value>RadLabel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadLabel1.Type" xml:space="preserve">
|
||||||
|
<value>Telerik.WinControls.UI.RadLabel, Telerik.WinControls.UI, Culture=neutral, PublicKeyToken=5bb2a467cbec794e</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadLabel1.Parent" xml:space="preserve">
|
||||||
|
<value>Panel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>RadLabel1.ZOrder" xml:space="preserve">
|
||||||
|
<value>9</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
<data name="Panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
<value>Fill</value>
|
<value>Fill</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Panel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>0, 0</value>
|
||||||
|
</data>
|
||||||
|
<data name="Panel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>510, 142</value>
|
||||||
|
</data>
|
||||||
|
<data name="Panel1.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>Panel1.Name" xml:space="preserve">
|
||||||
|
<value>Panel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>Panel1.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Panel, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>Panel1.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>Panel1.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>True</value>
|
||||||
|
</metadata>
|
||||||
|
<data name="$this.AutoScaleBaseSize" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>7, 15</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
||||||
|
<value>7, 15</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>510, 142</value>
|
||||||
|
</data>
|
||||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
AAABAAYAEBAAAAEAIABoBAAAZgAAACAgAAABACAAqBAAAM4EAAAwMAAAAQAgAKglAAB2FQAAQEAAAAEA
|
AAABAAYAEBAAAAEAIABoBAAAZgAAACAgAAABACAAqBAAAM4EAAAwMAAAAQAgAKglAAB2FQAAQEAAAAEA
|
||||||
@@ -1940,214 +2138,16 @@
|
|||||||
AAAAAAAAAAAAAAAAAAAAAAAA2Aul/h9Vn+BP9E5eXwAAAABJRU5ErkJggg==
|
AAAAAAAAAAAAAAAAAAAAAAAA2Aul/h9Vn+BP9E5eXwAAAABJRU5ErkJggg==
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Panel1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
|
||||||
<value>510, 114</value>
|
<value>CenterParent</value>
|
||||||
</data>
|
|
||||||
<data name=">>RadLabel3.Type" xml:space="preserve">
|
|
||||||
<value>Telerik.WinControls.UI.RadLabel, Telerik.WinControls.UI, Version=2022.2.510.40, Culture=neutral, PublicKeyToken=5bb2a467cbec794e</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadLabel1.Text" xml:space="preserve">
|
|
||||||
<value>Webdav URL:</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadTextBoxControl_WebdavUsername.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
|
||||||
<value>Top, Left, Right</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadButton_SaveAs.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>100, 24</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>RadLabel2.Parent" xml:space="preserve">
|
|
||||||
<value>Panel1</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadButton_SaveAndClose.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms">
|
|
||||||
<value>ImageBeforeText</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>Panel1.Parent" xml:space="preserve">
|
|
||||||
<value>$this</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadTextBoxControl_WebdavPassword.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>7</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadButton_SaveAndClose.ImageAlignment" type="System.Drawing.ContentAlignment, System.Drawing">
|
|
||||||
<value>MiddleRight</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadLabel2.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>3, 33</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>Panel1.Name" xml:space="preserve">
|
|
||||||
<value>Panel1</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadLabel1.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>3, 5</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>RadTextBoxControl_WebdavUsername.Parent" xml:space="preserve">
|
|
||||||
<value>Panel1</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadButton_SaveAndClose.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
|
||||||
<value>Bottom, Right</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>RadLabel1.Name" xml:space="preserve">
|
|
||||||
<value>RadLabel1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>RadLabel2.Name" xml:space="preserve">
|
|
||||||
<value>RadLabel2</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>RadButton_SaveAs.Parent" xml:space="preserve">
|
|
||||||
<value>Panel1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>RadButton_SaveAndClose.Type" xml:space="preserve">
|
|
||||||
<value>Telerik.WinControls.UI.RadButton, Telerik.WinControls.UI, Version=2022.2.510.40, Culture=neutral, PublicKeyToken=5bb2a467cbec794e</value>
|
|
||||||
</data>
|
|
||||||
<data name="Panel1.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>0, 0</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>RadTextBoxControl_WebdavPassword.ZOrder" xml:space="preserve">
|
|
||||||
<value>0</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>RadButton_SaveAndClose.ZOrder" xml:space="preserve">
|
|
||||||
<value>3</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadTextBoxControl_WebdavUsername.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>118, 31</value>
|
|
||||||
</data>
|
</data>
|
||||||
<data name="$this.Text" xml:space="preserve">
|
<data name="$this.Text" xml:space="preserve">
|
||||||
<value>Modpack Configs</value>
|
<value>Modpack Configs</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RadTextBoxControl_WebdavPassword.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
|
||||||
<value>Top, Left, Right</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadTextBoxControl_WebdavPassword.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>118, 59</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadLabel2.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>112, 19</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>RadButton_SaveAs.Name" xml:space="preserve">
|
|
||||||
<value>RadButton_SaveAs</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>RadButton_SaveAs.ZOrder" xml:space="preserve">
|
|
||||||
<value>4</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>RadTextBoxControl_WebdavURL.Type" xml:space="preserve">
|
|
||||||
<value>Telerik.WinControls.UI.RadTextBoxControl, Telerik.WinControls.UI, Version=2022.2.510.40, Culture=neutral, PublicKeyToken=5bb2a467cbec794e</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>RadTextBoxControl_WebdavURL.Parent" xml:space="preserve">
|
|
||||||
<value>Panel1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>RadLabel3.Name" xml:space="preserve">
|
|
||||||
<value>RadLabel3</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>RadLabel1.Parent" xml:space="preserve">
|
|
||||||
<value>Panel1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>RadTextBoxControl_WebdavUsername.Name" xml:space="preserve">
|
|
||||||
<value>RadTextBoxControl_WebdavUsername</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>RadTextBoxControl_WebdavPassword.Parent" xml:space="preserve">
|
|
||||||
<value>Panel1</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadButton_SaveAndClose.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>387, 87</value>
|
|
||||||
</data>
|
|
||||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>510, 114</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>RadButton_SaveAndClose.Name" xml:space="preserve">
|
|
||||||
<value>RadButton_SaveAndClose</value>
|
|
||||||
</data>
|
|
||||||
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
|
||||||
<value>6, 13</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadTextBoxControl_WebdavURL.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>389, 22</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadButton_SaveAndClose.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>120, 24</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadButton_SaveAs.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>3</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadLabel3.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>2</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>RadLabel1.Type" xml:space="preserve">
|
|
||||||
<value>Telerik.WinControls.UI.RadLabel, Telerik.WinControls.UI, Version=2022.2.510.40, Culture=neutral, PublicKeyToken=5bb2a467cbec794e</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadLabel1.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>79, 19</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadTextBoxControl_WebdavUsername.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>389, 22</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadTextBoxControl_WebdavURL.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>5</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>$this.Name" xml:space="preserve">
|
<data name=">>$this.Name" xml:space="preserve">
|
||||||
<value>FormSettings</value>
|
<value>FormSettings</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>RadLabel3.ZOrder" xml:space="preserve">
|
<data name=">>$this.Type" xml:space="preserve">
|
||||||
<value>5</value>
|
<value>Telerik.WinControls.UI.RadForm, Telerik.WinControls.UI, Culture=neutral, PublicKeyToken=5bb2a467cbec794e</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RadButton_SaveAs.TextAlignment" type="System.Drawing.ContentAlignment, System.Drawing">
|
|
||||||
<value>MiddleLeft</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadLabel3.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>109, 19</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadLabel3.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>3, 61</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadLabel1.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>0</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>RadTextBoxControl_WebdavUsername.ZOrder" xml:space="preserve">
|
|
||||||
<value>1</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadLabel3.Text" xml:space="preserve">
|
|
||||||
<value>Webdav Password:</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadButton_SaveAs.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>3, 87</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>RadTextBoxControl_WebdavURL.Name" xml:space="preserve">
|
|
||||||
<value>RadTextBoxControl_WebdavURL</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>RadLabel2.Type" xml:space="preserve">
|
|
||||||
<value>Telerik.WinControls.UI.RadLabel, Telerik.WinControls.UI, Version=2022.2.510.40, Culture=neutral, PublicKeyToken=5bb2a467cbec794e</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadTextBoxControl_WebdavURL.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
|
||||||
<value>Top, Left, Right</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>RadTextBoxControl_WebdavPassword.Type" xml:space="preserve">
|
|
||||||
<value>Telerik.WinControls.UI.RadTextBoxControl, Telerik.WinControls.UI, Version=2022.2.510.40, Culture=neutral, PublicKeyToken=5bb2a467cbec794e</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>Panel1.Type" xml:space="preserve">
|
|
||||||
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>RadButton_SaveAs.Type" xml:space="preserve">
|
|
||||||
<value>Telerik.WinControls.UI.RadButton, Telerik.WinControls.UI, Version=2022.2.510.40, Culture=neutral, PublicKeyToken=5bb2a467cbec794e</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadButton_SaveAndClose.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>4</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadTextBoxControl_WebdavUsername.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>6</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>Panel1.ZOrder" xml:space="preserve">
|
|
||||||
<value>0</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>RadLabel3.Parent" xml:space="preserve">
|
|
||||||
<value>Panel1</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadButton_SaveAs.ImageAlignment" type="System.Drawing.ContentAlignment, System.Drawing">
|
|
||||||
<value>MiddleRight</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadTextBoxControl_WebdavURL.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>118, 3</value>
|
|
||||||
</data>
|
|
||||||
<data name="RadLabel2.Text" xml:space="preserve">
|
|
||||||
<value>Webdav Username:</value>
|
|
||||||
</data>
|
|
||||||
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
|
||||||
<value>True</value>
|
|
||||||
</metadata>
|
|
||||||
</root>
|
</root>
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
Imports ModpackUpdater.My.Resources
|
Imports ModpackUpdater.Model
|
||||||
|
Imports ModpackUpdater.My.Resources
|
||||||
|
|
||||||
Imports Telerik.WinControls.UI
|
Imports Telerik.WinControls.UI
|
||||||
|
|
||||||
@@ -15,12 +16,14 @@ Public Class FormSettings
|
|||||||
RadTextBoxControl_WebdavURL.Text = updateConfig.WebdavURL
|
RadTextBoxControl_WebdavURL.Text = updateConfig.WebdavURL
|
||||||
RadTextBoxControl_WebdavUsername.Text = updateConfig.WebdavUsername
|
RadTextBoxControl_WebdavUsername.Text = updateConfig.WebdavUsername
|
||||||
RadTextBoxControl_WebdavPassword.Text = updateConfig.WebdavPassword
|
RadTextBoxControl_WebdavPassword.Text = updateConfig.WebdavPassword
|
||||||
|
RadTextBoxControl_UpdateUrl.Text = updateConfig.UpdateUrl
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub SaveConfig()
|
Private Sub SaveConfig()
|
||||||
updateConfig.WebdavURL = RadTextBoxControl_WebdavURL.Text.Trim
|
updateConfig.WebdavURL = RadTextBoxControl_WebdavURL.Text.Trim
|
||||||
updateConfig.WebdavUsername = RadTextBoxControl_WebdavUsername.Text.Trim
|
updateConfig.WebdavUsername = RadTextBoxControl_WebdavUsername.Text.Trim
|
||||||
updateConfig.WebdavPassword = RadTextBoxControl_WebdavPassword.Text
|
updateConfig.WebdavPassword = RadTextBoxControl_WebdavPassword.Text
|
||||||
|
updateConfig.UpdateUrl = RadTextBoxControl_UpdateUrl.Text
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub ButtonX_SaveAs_Click(sender As Object, e As EventArgs) Handles RadButton_SaveAs.Click
|
Private Sub ButtonX_SaveAs_Click(sender As Object, e As EventArgs) Handles RadButton_SaveAs.Click
|
||||||
|
|||||||
27
ModpackUpdater/LangRes.Designer.vb
generated
27
ModpackUpdater/LangRes.Designer.vb
generated
@@ -64,6 +64,24 @@ Namespace My.Resources
|
|||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
|
'''<summary>
|
||||||
|
''' Sucht eine lokalisierte Zeichenfolge, die A new version of this program is available. If you confirm, the update will be installed automatically. It takes just a few seconds. Continue? ähnelt.
|
||||||
|
'''</summary>
|
||||||
|
Friend Shared ReadOnly Property MsgBox_UpdateAvailable() As String
|
||||||
|
Get
|
||||||
|
Return ResourceManager.GetString("MsgBox_UpdateAvailable", resourceCulture)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
'''<summary>
|
||||||
|
''' Sucht eine lokalisierte Zeichenfolge, die New program version available ähnelt.
|
||||||
|
'''</summary>
|
||||||
|
Friend Shared ReadOnly Property MsgBox_UpdateAvailable_Title() As String
|
||||||
|
Get
|
||||||
|
Return ResourceManager.GetString("MsgBox_UpdateAvailable_Title", resourceCulture)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
'''<summary>
|
'''<summary>
|
||||||
''' Sucht eine lokalisierte Zeichenfolge, die Everything is right and up-to-date. ähnelt.
|
''' Sucht eine lokalisierte Zeichenfolge, die Everything is right and up-to-date. ähnelt.
|
||||||
'''</summary>
|
'''</summary>
|
||||||
@@ -109,6 +127,15 @@ Namespace My.Resources
|
|||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
|
'''<summary>
|
||||||
|
''' Sucht eine lokalisierte Zeichenfolge, die Downloading program update... ähnelt.
|
||||||
|
'''</summary>
|
||||||
|
Friend Shared ReadOnly Property StatusText_InstallingAppUpdate() As String
|
||||||
|
Get
|
||||||
|
Return ResourceManager.GetString("StatusText_InstallingAppUpdate", resourceCulture)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
'''<summary>
|
'''<summary>
|
||||||
''' Sucht eine lokalisierte Zeichenfolge, die Minecraft profile folder seems to be not valid. ähnelt.
|
''' Sucht eine lokalisierte Zeichenfolge, die Minecraft profile folder seems to be not valid. ähnelt.
|
||||||
'''</summary>
|
'''</summary>
|
||||||
|
|||||||
@@ -117,6 +117,12 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<data name="MsgBox_UpdateAvailable" xml:space="preserve">
|
||||||
|
<value>A new version of this program is available. If you confirm, the update will be installed automatically. It takes just a few seconds. Continue?</value>
|
||||||
|
</data>
|
||||||
|
<data name="MsgBox_UpdateAvailable_Title" xml:space="preserve">
|
||||||
|
<value>New program version available</value>
|
||||||
|
</data>
|
||||||
<data name="StatusTest_EverythingOk" xml:space="preserve">
|
<data name="StatusTest_EverythingOk" xml:space="preserve">
|
||||||
<value>Everything is right and up-to-date.</value>
|
<value>Everything is right and up-to-date.</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -132,6 +138,9 @@
|
|||||||
<data name="StatusText_Installing" xml:space="preserve">
|
<data name="StatusText_Installing" xml:space="preserve">
|
||||||
<value>Installing...</value>
|
<value>Installing...</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="StatusText_InstallingAppUpdate" xml:space="preserve">
|
||||||
|
<value>Downloading program update...</value>
|
||||||
|
</data>
|
||||||
<data name="StatusText_MinecraftProfileWarning" xml:space="preserve">
|
<data name="StatusText_MinecraftProfileWarning" xml:space="preserve">
|
||||||
<value>Minecraft profile folder seems to be not valid.</value>
|
<value>Minecraft profile folder seems to be not valid.</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>WinExe</OutputType>
|
<OutputType>WinExe</OutputType>
|
||||||
<TargetFramework>net6.0-windows</TargetFramework>
|
<TargetFramework>net8.0-windows</TargetFramework>
|
||||||
<StartupObject>Sub Main</StartupObject>
|
<StartupObject>Sub Main</StartupObject>
|
||||||
<UseWindowsForms>true</UseWindowsForms>
|
<UseWindowsForms>true</UseWindowsForms>
|
||||||
<MyType>WindowsForms</MyType>
|
<MyType>WindowsForms</MyType>
|
||||||
<ApplicationIcon>icons8_download_from_ftp.ico</ApplicationIcon>
|
<ApplicationIcon>icons8_download_from_ftp.ico</ApplicationIcon>
|
||||||
<AssemblyName>Minecraft Modpack Updater</AssemblyName>
|
<AssemblyName>Minecraft Modpack Updater</AssemblyName>
|
||||||
<IncludeAllContentForSelfExtract>true</IncludeAllContentForSelfExtract>
|
<IncludeAllContentForSelfExtract>true</IncludeAllContentForSelfExtract>
|
||||||
<Version>1.1.0.0</Version>
|
<Version>1.4.1.0</Version>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
@@ -71,15 +71,15 @@
|
|||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
||||||
<PackageReference Include="UI.for.WinForms.AllControls.Net60">
|
<PackageReference Include="Pilz.Cryptography" Version="2.0.1" />
|
||||||
<Version>2022.2.510</Version>
|
<PackageReference Include="Pilz.IO" Version="2.0.0" />
|
||||||
</PackageReference>
|
<PackageReference Include="Pilz.Win32" Version="2.0.0" />
|
||||||
<PackageReference Include="WebDav.Client" Version="2.8.0" />
|
<PackageReference Include="UI.for.WinForms.Common" Version="2024.2.514" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Pilz.Cryptography">
|
<ProjectReference Include="..\ModpackUpdater.GitLab\ModpackUpdater.GitLab.vbproj" />
|
||||||
<HintPath>..\SharedLibs\Pilz.Cryptography.dll</HintPath>
|
<ProjectReference Include="..\ModpackUpdater.Manager\ModpackUpdater.Manager.vbproj" />
|
||||||
</Reference>
|
<ProjectReference Include="..\ModpackUpdater.Model\ModpackUpdater.Model.vbproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
Public Class UpdateCheckResult
|
|
||||||
|
|
||||||
Public ReadOnly Property SyncFiles As New List(Of UpdateSyncFile)
|
|
||||||
|
|
||||||
Public ReadOnly Property HasUpdates As Boolean
|
|
||||||
Get
|
|
||||||
Return SyncFiles.Where(Function(n) n.SyncAction <> UpdateSyncAction.None).Any
|
|
||||||
End Get
|
|
||||||
End Property
|
|
||||||
|
|
||||||
End Class
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
Imports System.IO
|
|
||||||
|
|
||||||
Imports Newtonsoft.Json.Linq
|
|
||||||
|
|
||||||
Imports Pilz.Cryptography
|
|
||||||
|
|
||||||
Public Class UpdateConfig
|
|
||||||
|
|
||||||
Public Property WebdavURL As SecureString
|
|
||||||
Public Property WebdavUsername As SecureString
|
|
||||||
Public Property WebdavPassword As SecureString
|
|
||||||
|
|
||||||
Public Sub SaveToFile(filePath As string)
|
|
||||||
File.WriteAllText(filePath, JObject.FromObject(Me).ToString)
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Public Shared Function LoadFromFile(filePath As string)
|
|
||||||
Return JObject.Parse(File.ReadAllText(filePath)).ToObject(Of UpdateConfig)
|
|
||||||
End Function
|
|
||||||
|
|
||||||
End Class
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
Public Enum UpdateSyncAction
|
|
||||||
None
|
|
||||||
NewFile
|
|
||||||
RemovedFile
|
|
||||||
UpdatedFile = 4
|
|
||||||
End Enum
|
|
||||||
@@ -1,7 +1,3 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<configuration>
|
<configuration>
|
||||||
<packageSources>
|
|
||||||
<add key="Telerik UI for WinForms 2022.2.510.0" value="C:\Program Files (x86)\Progress\Telerik UI for WinForms R2 2022\Bin60\NuGet" />
|
|
||||||
<add key="Telerik UI for WinForms UI.for.WinForms.AllControls.Net60.2022.2.510" value="C:\Program Files (x86)\Progress\Telerik UI for WinForms R2 2022\Bin60\NuGet" />
|
|
||||||
</packageSources>
|
|
||||||
</configuration>
|
</configuration>
|
||||||
Binary file not shown.
Reference in New Issue
Block a user