34 Commits

Author SHA1 Message Date
07ed63d8df Merge branch 'master-origin' into autoupdater-origin 2019-06-09 11:46:11 +01:00
68dc0fcfc2 Merge branch 'master-mm' into master-origin 2019-06-09 10:29:07 +01:00
MikeMaximus
b8849f8d0c Updated readme.txt for release 2019-06-07 07:46:18 -06:00
MikeMaximus
23102a90eb Fixed a disk space check issue in Linux 2019-05-31 19:44:55 -06:00
3e21062508 Created Auto Updater component, initial GUI mocked-up. 2019-05-31 13:39:21 +01:00
MikeMaximus
e7e2e86a8e Start-Up Wizard Improvements 2019-05-16 15:49:58 -06:00
MikeMaximus
8d1396d992 Allow unlimited backups on Add Game Wizard 2019-05-15 16:40:32 -06:00
Michael J. Seiferling
afc89e8dfe Updated version and readme 2019-04-28 17:06:16 -06:00
Michael J. Seiferling
11db38108e Revert prior changes and fix #186 2019-04-27 12:44:27 -06:00
Michael J. Seiferling
b48be71acc Refined file system detection for #186 2019-04-27 10:57:33 -06:00
Michael J. Seiferling
aa37c6525d Changes for #186 2019-04-27 10:31:09 -06:00
Michael J. Seiferling
f77a900f56 Updated backup drive format property to handle Linux 2019-04-27 09:21:45 -06:00
Michael J. Seiferling
9b45ae7b1c Added backup drive format property to settings 2019-04-27 07:22:57 -06:00
Michael J. Seiferling
3a54cddf98 Fix #185 2019-04-13 20:06:42 -06:00
MikeMaximus
fa88d2b03d Fixed minor GUI issue in new sub-menu 2019-04-07 14:19:10 -06:00
MikeMaximus
7062f4b4ea Added "Open Backup Folder" to Game Manager 2019-04-07 14:16:47 -06:00
Michael J. Seiferling
076295069e Made copyright notice more appropriate for an open source project 2019-03-24 09:24:18 -06:00
2f141f9e31 Merge branch 'master' into dev 2019-03-24 12:52:41 +00:00
4de2aa527f Updated readme to show themes 2019-03-24 12:31:26 +00:00
92cf33d840 Merge branch 'master' of https://github.com/MikeMaximus/gbm into dev
# Conflicts:
#	GBM/Forms/frmMain.resx
#	GBM/Forms/frmSettings.Designer.vb
#	GBM/Managers/mgrSettings.vb
#	GBM/My Project/Resources.resx
2019-03-24 12:21:37 +00:00
bcd40eb55f Renamed various objects 2019-03-24 11:55:27 +00:00
8c3c6876eb Tweaked output log size for better padding 2019-03-19 23:32:52 +00:00
ab0c7a05af Theme selector now shows preview, refactored ThemeEngine 2019-03-16 10:17:38 +00:00
aff8059b5b Implemented persistent auto-hide log state, cleaned up code 2019-03-15 23:49:36 +00:00
db3670d7d7 GBM now respects user defined themes from settings 2019-03-15 22:06:02 +00:00
9349b7e0fd Corrected staging error with previous commit 2019-03-15 21:15:28 +00:00
b97139cd6d Added AutoHideLog and ThemeSelection to SQL settings database and wired to settings UI 2019-03-15 21:13:07 +00:00
5fbbfa97e3 Set theme jekyll-theme-cayman 2019-03-15 15:08:07 +00:00
88d97a6027 Started implementation of interface panel to settings window 2019-03-15 13:39:48 +00:00
f29a58329e Cleaned up code, also made output log fill window 2019-03-15 12:04:52 +00:00
d89b4fd824 Implemented light/default theme as well as refactored some code 2019-03-14 19:23:47 +00:00
c557b2554b Implemented basic theme engine as well as a dark theme. For time being, dark theme is the default theme. 2019-03-14 18:57:13 +00:00
edfcd5ebe9 Merge branch 'master' of https://github.com/MikeMaximus/gbm 2019-03-14 12:37:38 +00:00
b9104273c9 Merged new icons into master branch 2019-03-09 23:14:14 +00:00
69 changed files with 6426 additions and 3041 deletions
+125
View File
@@ -0,0 +1,125 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{C80205A3-10E1-4C93-9BCC-609DA2A6F6AD}</ProjectGuid>
<OutputType>WinExe</OutputType>
<StartupObject>Auto_Updater.My.MyApplication</StartupObject>
<RootNamespace>Auto_Updater</RootNamespace>
<AssemblyName>Auto Updater</AssemblyName>
<FileAlignment>512</FileAlignment>
<MyType>WindowsForms</MyType>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>Auto Updater.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>Auto Updater.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
<PropertyGroup>
<OptionCompare>Binary</OptionCompare>
</PropertyGroup>
<PropertyGroup>
<OptionStrict>Off</OptionStrict>
</PropertyGroup>
<PropertyGroup>
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Data" />
<Import Include="System.Drawing" />
<Import Include="System.Diagnostics" />
<Import Include="System.Windows.Forms" />
<Import Include="System.Linq" />
<Import Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Compile Include="Forms\frmMain.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\frmMain.Designer.vb">
<DependentUpon>frmMain.vb</DependentUpon>
<SubType>Form</SubType>
</Compile>
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
</Compile>
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="My Project\Settings.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Forms\frmMain.resx">
<DependentUpon>frmMain.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</None>
<None Include="My Project\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<CustomToolNamespace>My</CustomToolNamespace>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
</ItemGroup>
<ItemGroup>
<Content Include="Resources\gbm.ico" />
<None Include="Resources\Updated.png" />
<None Include="Resources\UpdateAvailable.png" />
<None Include="Resources\Update.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
</Project>
+161
View File
@@ -0,0 +1,161 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class frmMain
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMain))
Me.TextBox1 = New System.Windows.Forms.TextBox()
Me.lblCurrentVersion = New System.Windows.Forms.Label()
Me.lblLatestVersion = New System.Windows.Forms.Label()
Me.lblLatestVersionValue = New System.Windows.Forms.Label()
Me.lblCurrentVersionValue = New System.Windows.Forms.Label()
Me.grpVersion = New System.Windows.Forms.GroupBox()
Me.btnUpdate = New System.Windows.Forms.Button()
Me.picStatus = New System.Windows.Forms.PictureBox()
Me.picGBMIcon = New System.Windows.Forms.PictureBox()
Me.grpVersion.SuspendLayout()
CType(Me.picStatus, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.picGBMIcon, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'TextBox1
'
Me.TextBox1.Location = New System.Drawing.Point(146, 103)
Me.TextBox1.Multiline = True
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(327, 121)
Me.TextBox1.TabIndex = 0
'
'lblCurrentVersion
'
Me.lblCurrentVersion.AutoSize = True
Me.lblCurrentVersion.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblCurrentVersion.Location = New System.Drawing.Point(15, 25)
Me.lblCurrentVersion.Name = "lblCurrentVersion"
Me.lblCurrentVersion.Size = New System.Drawing.Size(98, 13)
Me.lblCurrentVersion.TabIndex = 1
Me.lblCurrentVersion.Text = "Current Version:"
'
'lblLatestVersion
'
Me.lblLatestVersion.AutoSize = True
Me.lblLatestVersion.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblLatestVersion.Location = New System.Drawing.Point(15, 52)
Me.lblLatestVersion.Name = "lblLatestVersion"
Me.lblLatestVersion.Size = New System.Drawing.Size(92, 13)
Me.lblLatestVersion.TabIndex = 2
Me.lblLatestVersion.Text = "Latest Version:"
'
'lblLatestVersionValue
'
Me.lblLatestVersionValue.AutoSize = True
Me.lblLatestVersionValue.Location = New System.Drawing.Point(119, 52)
Me.lblLatestVersionValue.Name = "lblLatestVersionValue"
Me.lblLatestVersionValue.Size = New System.Drawing.Size(40, 13)
Me.lblLatestVersionValue.TabIndex = 4
Me.lblLatestVersionValue.Text = "0.0.0.0"
'
'lblCurrentVersionValue
'
Me.lblCurrentVersionValue.AutoSize = True
Me.lblCurrentVersionValue.Location = New System.Drawing.Point(119, 25)
Me.lblCurrentVersionValue.Name = "lblCurrentVersionValue"
Me.lblCurrentVersionValue.Size = New System.Drawing.Size(40, 13)
Me.lblCurrentVersionValue.TabIndex = 3
Me.lblCurrentVersionValue.Text = "0.0.0.0"
'
'grpVersion
'
Me.grpVersion.Controls.Add(Me.picStatus)
Me.grpVersion.Controls.Add(Me.btnUpdate)
Me.grpVersion.Controls.Add(Me.lblCurrentVersionValue)
Me.grpVersion.Controls.Add(Me.lblLatestVersionValue)
Me.grpVersion.Controls.Add(Me.lblCurrentVersion)
Me.grpVersion.Controls.Add(Me.lblLatestVersion)
Me.grpVersion.Location = New System.Drawing.Point(145, 12)
Me.grpVersion.Name = "grpVersion"
Me.grpVersion.Size = New System.Drawing.Size(327, 85)
Me.grpVersion.TabIndex = 5
Me.grpVersion.TabStop = False
'
'btnUpdate
'
Me.btnUpdate.Location = New System.Drawing.Point(246, 34)
Me.btnUpdate.Name = "btnUpdate"
Me.btnUpdate.Size = New System.Drawing.Size(75, 23)
Me.btnUpdate.TabIndex = 5
Me.btnUpdate.Text = "Update"
Me.btnUpdate.UseVisualStyleBackColor = True
'
'picStatus
'
Me.picStatus.BackColor = System.Drawing.Color.Transparent
Me.picStatus.Image = Global.Auto_Updater.My.Resources.Resources.UpdateAvailable
Me.picStatus.Location = New System.Drawing.Point(212, 31)
Me.picStatus.Name = "picStatus"
Me.picStatus.Size = New System.Drawing.Size(28, 28)
Me.picStatus.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize
Me.picStatus.TabIndex = 6
Me.picStatus.TabStop = False
'
'picGBMIcon
'
Me.picGBMIcon.Image = CType(resources.GetObject("picGBMIcon.Image"), System.Drawing.Image)
Me.picGBMIcon.Location = New System.Drawing.Point(12, 96)
Me.picGBMIcon.Name = "picGBMIcon"
Me.picGBMIcon.Size = New System.Drawing.Size(128, 128)
Me.picGBMIcon.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
Me.picGBMIcon.TabIndex = 7
Me.picGBMIcon.TabStop = False
'
'frmMain
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(484, 261)
Me.Controls.Add(Me.grpVersion)
Me.Controls.Add(Me.TextBox1)
Me.Controls.Add(Me.picGBMIcon)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.Name = "frmMain"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Auto Updater"
Me.grpVersion.ResumeLayout(False)
Me.grpVersion.PerformLayout()
CType(Me.picStatus, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.picGBMIcon, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents TextBox1 As TextBox
Friend WithEvents lblCurrentVersion As Label
Friend WithEvents lblLatestVersion As Label
Friend WithEvents lblLatestVersionValue As Label
Friend WithEvents lblCurrentVersionValue As Label
Friend WithEvents grpVersion As GroupBox
Friend WithEvents btnUpdate As Button
Friend WithEvents picStatus As PictureBox
Friend WithEvents picGBMIcon As PictureBox
End Class
File diff suppressed because it is too large Load Diff
+2
View File
@@ -0,0 +1,2 @@
Public Class frmMain
End Class
+38
View File
@@ -0,0 +1,38 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
'NOTE: This file is auto-generated; do not modify it directly. To make changes,
' or if you encounter build errors in this file, go to the Project Designer
' (go to Project Properties or double-click the My Project node in
' Solution Explorer), and make changes on the Application tab.
'
Partial Friend Class MyApplication
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Public Sub New()
MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
Me.IsSingleInstance = false
Me.EnableVisualStyles = true
Me.SaveMySettingsOnExit = true
Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
End Sub
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Protected Overrides Sub OnCreateMainForm()
Me.MainForm = Global.Auto_Updater.frmMain
End Sub
End Class
End Namespace
+11
View File
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MySubMain>true</MySubMain>
<MainForm>Form1</MainForm>
<SingleInstance>false</SingleInstance>
<ShutdownMode>0</ShutdownMode>
<EnableVisualStyles>true</EnableVisualStyles>
<AuthenticationMode>0</AuthenticationMode>
<ApplicationType>0</ApplicationType>
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
</MyApplicationData>
+35
View File
@@ -0,0 +1,35 @@
Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices
' General Information about an assembly is controlled through the following
' set of attributes. Change these attribute values to modify the information
' associated with an assembly.
' Review the values of the assembly attributes
<Assembly: AssemblyTitle("Auto Updater")>
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("")>
<Assembly: AssemblyProduct("Auto Updater")>
<Assembly: AssemblyCopyright("Copyright © 2019")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)>
'The following GUID is for the ID of the typelib if this project is exposed to COM
<Assembly: Guid("f7d59718-dc0e-4a32-8e4c-bd66ba61a098")>
' Version information for an assembly consists of the following four values:
'
' Major Version
' Minor Version
' Build Number
' Revision
'
' You can specify all the values or you can default the Build and Revision Numbers
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.0.0.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")>
+93
View File
@@ -0,0 +1,93 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Imports System
Namespace My.Resources
'This class was auto-generated by the StronglyTypedResourceBuilder
'class via a tool like ResGen or Visual Studio.
'To add or remove a member, edit your .ResX file then rerun ResGen
'with the /str option, or rebuild your VS project.
'''<summary>
''' A strongly-typed resource class, for looking up localized strings, etc.
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
Friend Module Resources
Private resourceMan As Global.System.Resources.ResourceManager
Private resourceCulture As Global.System.Globalization.CultureInfo
'''<summary>
''' Returns the cached ResourceManager instance used by this class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
Get
If Object.ReferenceEquals(resourceMan, Nothing) Then
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("Auto_Updater.Resources", GetType(Resources).Assembly)
resourceMan = temp
End If
Return resourceMan
End Get
End Property
'''<summary>
''' Overrides the current thread's CurrentUICulture property for all
''' resource lookups using this strongly typed resource class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
Set
resourceCulture = value
End Set
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
'''</summary>
Friend ReadOnly Property GBM_Icon() As System.Drawing.Icon
Get
Dim obj As Object = ResourceManager.GetObject("GBM_Icon", resourceCulture)
Return CType(obj,System.Drawing.Icon)
End Get
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property UpdateAvailable() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("UpdateAvailable", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property Updated() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("Updated", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
End Module
End Namespace
+130
View File
@@ -0,0 +1,130 @@
<?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:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="GBM_Icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\gbm.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="UpdateAvailable" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\UpdateAvailable.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Updated" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Updated.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>
+73
View File
@@ -0,0 +1,73 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Partial Friend NotInheritable Class MySettings
Inherits Global.System.Configuration.ApplicationSettingsBase
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings)
#Region "My.Settings Auto-Save Functionality"
#If _MyType = "WindowsForms" Then
Private Shared addedHandler As Boolean
Private Shared addedHandlerLockObject As New Object
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
If My.Application.SaveMySettingsOnExit Then
My.Settings.Save()
End If
End Sub
#End If
#End Region
Public Shared ReadOnly Property [Default]() As MySettings
Get
#If _MyType = "WindowsForms" Then
If Not addedHandler Then
SyncLock addedHandlerLockObject
If Not addedHandler Then
AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
addedHandler = True
End If
End SyncLock
End If
#End If
Return defaultInstance
End Get
End Property
End Class
End Namespace
Namespace My
<Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
Friend Module MySettingsProperty
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
Friend ReadOnly Property Settings() As Global.Auto_Updater.My.MySettings
Get
Return Global.Auto_Updater.My.MySettings.Default
End Get
End Property
End Module
End Namespace
@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

+1 -1
View File
@@ -49,7 +49,7 @@
ReadOnly Property FileSafeName As String ReadOnly Property FileSafeName As String
Get Get
Return mgrPath.ValidateFileNameForOS(sName) Return mgrPath.ValidateFileName(sName)
End Get End Get
End Property End Property
+2 -2
View File
@@ -50,7 +50,7 @@ Public Class clsGame
Property ID As String Property ID As String
Set(value As String) Set(value As String)
If Not value Is Nothing Then If Not value Is Nothing Then
sGameID = mgrPath.ValidateFileNameForOS(value) sGameID = mgrPath.ValidateFileName(value)
End If End If
End Set End Set
Get Get
@@ -70,7 +70,7 @@ Public Class clsGame
ReadOnly Property FileSafeName As String ReadOnly Property FileSafeName As String
Get Get
Return mgrPath.ValidateFileNameForOS(sGameName) Return mgrPath.ValidateFileName(sGameName)
End Get End Get
End Property End Property
+2 -4
View File
@@ -228,19 +228,17 @@ Partial Class frmAddWizard
Me.lblLimit.AutoSize = True Me.lblLimit.AutoSize = True
Me.lblLimit.Location = New System.Drawing.Point(203, 109) Me.lblLimit.Location = New System.Drawing.Point(203, 109)
Me.lblLimit.Name = "lblLimit" Me.lblLimit.Name = "lblLimit"
Me.lblLimit.Size = New System.Drawing.Size(68, 13) Me.lblLimit.Size = New System.Drawing.Size(138, 13)
Me.lblLimit.TabIndex = 15 Me.lblLimit.TabIndex = 15
Me.lblLimit.Text = "Backup Limit" Me.lblLimit.Text = "Backup Limit (0 = Unlimited)"
Me.lblLimit.Visible = False Me.lblLimit.Visible = False
' '
'nudLimit 'nudLimit
' '
Me.nudLimit.Location = New System.Drawing.Point(157, 107) Me.nudLimit.Location = New System.Drawing.Point(157, 107)
Me.nudLimit.Minimum = New Decimal(New Integer() {2, 0, 0, 0})
Me.nudLimit.Name = "nudLimit" Me.nudLimit.Name = "nudLimit"
Me.nudLimit.Size = New System.Drawing.Size(40, 20) Me.nudLimit.Size = New System.Drawing.Size(40, 20)
Me.nudLimit.TabIndex = 14 Me.nudLimit.TabIndex = 14
Me.nudLimit.Value = New Decimal(New Integer() {2, 0, 0, 0})
Me.nudLimit.Visible = False Me.nudLimit.Visible = False
' '
'lblStep3Title 'lblStep3Title
+8 -6
View File
@@ -75,10 +75,8 @@ Public Class frmAddWizard
If chkTimeStamp.Checked Then If chkTimeStamp.Checked Then
nudLimit.Visible = True nudLimit.Visible = True
lblLimit.Visible = True lblLimit.Visible = True
nudLimit.Value = 5
Else Else
nudLimit.Visible = False nudLimit.Visible = False
nudLimit.Value = nudLimit.Minimum
lblLimit.Visible = False lblLimit.Visible = False
End If End If
End Sub End Sub
@@ -87,9 +85,13 @@ Public Class frmAddWizard
Dim sLimit As String = String.Empty Dim sLimit As String = String.Empty
If bTimeStamp Then If bTimeStamp Then
Return mgrCommon.BooleanYesNo(bTimeStamp) & " (" & iLimit & ")" If iLimit <> 0 Then
Return mgrCommon.BooleanYesNo(bTimeStamp) & " (" & iLimit & ")"
Else
Return mgrCommon.BooleanYesNo(bTimeStamp) & " (" & frmAddWizard_Summary_NoLimit & ")"
End If
Else Else
Return mgrCommon.BooleanYesNo(bTimeStamp) Return mgrCommon.BooleanYesNo(bTimeStamp)
End If End If
End Function End Function
@@ -208,7 +210,7 @@ Public Class frmAddWizard
End Function End Function
Private Function ValidateProcessPath(ByVal strPath As String, ByRef sErrorMessage As String) As Boolean Private Function ValidateProcessPath(ByVal strPath As String, ByRef sErrorMessage As String) As Boolean
strPath = mgrPath.ValidatePathForOS(strPath) strPath = mgrPath.ValidatePath(strPath)
If strPath.Trim = String.Empty Then If strPath.Trim = String.Empty Then
sErrorMessage = frmAddWizard_ErrorValidProcess sErrorMessage = frmAddWizard_ErrorValidProcess
@@ -325,7 +327,7 @@ Public Class frmAddWizard
End If End If
Case eSteps.Step3 Case eSteps.Step3
txtSavePath.Text = mgrPath.ValidatePathForOS(txtSavePath.Text) txtSavePath.Text = mgrPath.ValidatePath(txtSavePath.Text)
If ValidateSavePath(txtSavePath.Text, sErrorMessage) Then If ValidateSavePath(txtSavePath.Text, sErrorMessage) Then
lblIncludePath.Text = txtSavePath.Text lblIncludePath.Text = txtSavePath.Text
lblExcludePath.Text = txtSavePath.Text lblExcludePath.Text = txtSavePath.Text
+39 -12
View File
@@ -81,7 +81,7 @@ Partial Class frmGameManager
Me.lblLocalBackupData = New System.Windows.Forms.Label() Me.lblLocalBackupData = New System.Windows.Forms.Label()
Me.lblRestorePath = New System.Windows.Forms.Label() Me.lblRestorePath = New System.Windows.Forms.Label()
Me.btnOpenRestorePath = New System.Windows.Forms.Button() Me.btnOpenRestorePath = New System.Windows.Forms.Button()
Me.btnOpenBackupFile = New System.Windows.Forms.Button() Me.btnOpenBackup = New System.Windows.Forms.Button()
Me.btnDeleteBackup = New System.Windows.Forms.Button() Me.btnDeleteBackup = New System.Windows.Forms.Button()
Me.lblBackupFile = New System.Windows.Forms.Label() Me.lblBackupFile = New System.Windows.Forms.Label()
Me.lblRemote = New System.Windows.Forms.Label() Me.lblRemote = New System.Windows.Forms.Label()
@@ -111,6 +111,9 @@ Partial Class frmGameManager
Me.cmsDeleteAll = New System.Windows.Forms.ToolStripMenuItem() Me.cmsDeleteAll = New System.Windows.Forms.ToolStripMenuItem()
Me.btnProcesses = New System.Windows.Forms.Button() Me.btnProcesses = New System.Windows.Forms.Button()
Me.ttFullPath = New System.Windows.Forms.ToolTip(Me.components) Me.ttFullPath = New System.Windows.Forms.ToolTip(Me.components)
Me.cmsOpenBackup = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.cmsOpenBackupFile = New System.Windows.Forms.ToolStripMenuItem()
Me.cmsOpenBackupFolder = New System.Windows.Forms.ToolStripMenuItem()
Me.grpConfig.SuspendLayout() Me.grpConfig.SuspendLayout()
CType(Me.nudLimit, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.nudLimit, System.ComponentModel.ISupportInitialize).BeginInit()
Me.grpExtra.SuspendLayout() Me.grpExtra.SuspendLayout()
@@ -120,6 +123,7 @@ Partial Class frmGameManager
Me.grpFilter.SuspendLayout() Me.grpFilter.SuspendLayout()
Me.cmsImport.SuspendLayout() Me.cmsImport.SuspendLayout()
Me.cmsDeleteBackup.SuspendLayout() Me.cmsDeleteBackup.SuspendLayout()
Me.cmsOpenBackup.SuspendLayout()
Me.SuspendLayout() Me.SuspendLayout()
' '
'btnAdd 'btnAdd
@@ -309,9 +313,9 @@ Partial Class frmGameManager
Me.lblLimit.AutoSize = True Me.lblLimit.AutoSize = True
Me.lblLimit.Location = New System.Drawing.Point(376, 229) Me.lblLimit.Location = New System.Drawing.Point(376, 229)
Me.lblLimit.Name = "lblLimit" Me.lblLimit.Name = "lblLimit"
Me.lblLimit.Size = New System.Drawing.Size(68, 13) Me.lblLimit.Size = New System.Drawing.Size(138, 13)
Me.lblLimit.TabIndex = 23 Me.lblLimit.TabIndex = 23
Me.lblLimit.Text = "Backup Limit" Me.lblLimit.Text = "Backup Limit (0 = Unlimited)"
Me.lblLimit.Visible = False Me.lblLimit.Visible = False
' '
'nudLimit 'nudLimit
@@ -629,7 +633,7 @@ Partial Class frmGameManager
Me.grpStats.Controls.Add(Me.lblLocalBackupData) Me.grpStats.Controls.Add(Me.lblLocalBackupData)
Me.grpStats.Controls.Add(Me.lblRestorePath) Me.grpStats.Controls.Add(Me.lblRestorePath)
Me.grpStats.Controls.Add(Me.btnOpenRestorePath) Me.grpStats.Controls.Add(Me.btnOpenRestorePath)
Me.grpStats.Controls.Add(Me.btnOpenBackupFile) Me.grpStats.Controls.Add(Me.btnOpenBackup)
Me.grpStats.Controls.Add(Me.btnDeleteBackup) Me.grpStats.Controls.Add(Me.btnDeleteBackup)
Me.grpStats.Controls.Add(Me.lblBackupFile) Me.grpStats.Controls.Add(Me.lblBackupFile)
Me.grpStats.Controls.Add(Me.lblRemote) Me.grpStats.Controls.Add(Me.lblRemote)
@@ -711,14 +715,14 @@ Partial Class frmGameManager
Me.btnOpenRestorePath.Text = "O&pen Restore Path" Me.btnOpenRestorePath.Text = "O&pen Restore Path"
Me.btnOpenRestorePath.UseVisualStyleBackColor = True Me.btnOpenRestorePath.UseVisualStyleBackColor = True
' '
'btnOpenBackupFile 'btnOpenBackup
' '
Me.btnOpenBackupFile.Location = New System.Drawing.Point(249, 125) Me.btnOpenBackup.Location = New System.Drawing.Point(249, 125)
Me.btnOpenBackupFile.Name = "btnOpenBackupFile" Me.btnOpenBackup.Name = "btnOpenBackup"
Me.btnOpenBackupFile.Size = New System.Drawing.Size(114, 23) Me.btnOpenBackup.Size = New System.Drawing.Size(114, 23)
Me.btnOpenBackupFile.TabIndex = 10 Me.btnOpenBackup.TabIndex = 10
Me.btnOpenBackupFile.Text = "&Open Backup File" Me.btnOpenBackup.Text = "&Open Backup"
Me.btnOpenBackupFile.UseVisualStyleBackColor = True Me.btnOpenBackup.UseVisualStyleBackColor = True
' '
'btnDeleteBackup 'btnDeleteBackup
' '
@@ -972,6 +976,25 @@ Partial Class frmGameManager
Me.ttFullPath.InitialDelay = 300 Me.ttFullPath.InitialDelay = 300
Me.ttFullPath.ReshowDelay = 60 Me.ttFullPath.ReshowDelay = 60
' '
'cmsOpenBackup
'
Me.cmsOpenBackup.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cmsOpenBackupFile, Me.cmsOpenBackupFolder})
Me.cmsOpenBackup.Name = "cmsOpenBackup"
Me.cmsOpenBackup.ShowImageMargin = False
Me.cmsOpenBackup.Size = New System.Drawing.Size(83, 48)
'
'cmsOpenBackupFile
'
Me.cmsOpenBackupFile.Name = "cmsOpenBackupFile"
Me.cmsOpenBackupFile.Size = New System.Drawing.Size(82, 22)
Me.cmsOpenBackupFile.Text = "&File"
'
'cmsOpenBackupFolder
'
Me.cmsOpenBackupFolder.Name = "cmsOpenBackupFolder"
Me.cmsOpenBackupFolder.Size = New System.Drawing.Size(82, 22)
Me.cmsOpenBackupFolder.Text = "F&older"
'
'frmGameManager 'frmGameManager
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -1017,6 +1040,7 @@ Partial Class frmGameManager
Me.grpFilter.PerformLayout() Me.grpFilter.PerformLayout()
Me.cmsImport.ResumeLayout(False) Me.cmsImport.ResumeLayout(False)
Me.cmsDeleteBackup.ResumeLayout(False) Me.cmsDeleteBackup.ResumeLayout(False)
Me.cmsOpenBackup.ResumeLayout(False)
Me.ResumeLayout(False) Me.ResumeLayout(False)
Me.PerformLayout() Me.PerformLayout()
@@ -1065,7 +1089,7 @@ Partial Class frmGameManager
Friend WithEvents btnMarkAsRestored As System.Windows.Forms.Button Friend WithEvents btnMarkAsRestored As System.Windows.Forms.Button
Friend WithEvents btnRestore As System.Windows.Forms.Button Friend WithEvents btnRestore As System.Windows.Forms.Button
Friend WithEvents btnDeleteBackup As System.Windows.Forms.Button Friend WithEvents btnDeleteBackup As System.Windows.Forms.Button
Friend WithEvents btnOpenBackupFile As System.Windows.Forms.Button Friend WithEvents btnOpenBackup As System.Windows.Forms.Button
Friend WithEvents grpFilter As System.Windows.Forms.GroupBox Friend WithEvents grpFilter As System.Windows.Forms.GroupBox
Friend WithEvents optPendingRestores As System.Windows.Forms.RadioButton Friend WithEvents optPendingRestores As System.Windows.Forms.RadioButton
Friend WithEvents optAllGames As System.Windows.Forms.RadioButton Friend WithEvents optAllGames As System.Windows.Forms.RadioButton
@@ -1109,4 +1133,7 @@ Partial Class frmGameManager
Friend WithEvents lblOS As Label Friend WithEvents lblOS As Label
Friend WithEvents cboOS As ComboBox Friend WithEvents cboOS As ComboBox
Friend WithEvents btnWineConfig As Button Friend WithEvents btnWineConfig As Button
Friend WithEvents cmsOpenBackup As ContextMenuStrip
Friend WithEvents cmsOpenBackupFile As ToolStripMenuItem
Friend WithEvents cmsOpenBackupFolder As ToolStripMenuItem
End Class End Class
+3
View File
@@ -126,4 +126,7 @@
<metadata name="ttFullPath.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="ttFullPath.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>275, 17</value> <value>275, 17</value>
</metadata> </metadata>
<metadata name="cmsOpenBackup.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>378, 17</value>
</metadata>
</root> </root>
+35 -47
View File
@@ -535,24 +535,15 @@ Public Class frmGameManager
End Sub End Sub
Private Sub OpenBackupFile() Private Sub OpenBackupFile()
Dim sFileName As String Dim sFileName As String = BackupFolder & CurrentBackupItem.FileName
Dim oProcessStartInfo As ProcessStartInfo
sFileName = BackupFolder & CurrentBackupItem.FileName mgrCommon.OpenInOS(sFileName, frmGameManager_ErrorNoBackupFileExists)
End Sub
If File.Exists(sFileName) Then Private Sub OpenBackupFolder()
Try Dim sFileName As String = BackupFolder & Path.GetDirectoryName(CurrentBackupItem.FileName)
oProcessStartInfo = New ProcessStartInfo
oProcessStartInfo.FileName = sFileName mgrCommon.OpenInOS(sFileName, frmGameManager_ErrorNoBackupFolderExists)
oProcessStartInfo.UseShellExecute = True
oProcessStartInfo.Verb = "open"
Process.Start(oProcessStartInfo)
Catch ex As Exception
mgrCommon.ShowMessage(App_ErrorLaunchExternal, ex.Message, MsgBoxStyle.Exclamation)
End Try
Else
mgrCommon.ShowMessage(frmGameManager_ErrorNoBackupExists, MsgBoxStyle.Exclamation)
End If
End Sub End Sub
Private Sub UpdateBuilderButtonLabel(ByVal sBuilderString As String, ByVal sLabel As String, ByVal btn As Button, ByVal bDirty As Boolean) Private Sub UpdateBuilderButtonLabel(ByVal sBuilderString As String, ByVal sLabel As String, ByVal btn As Button, ByVal bDirty As Boolean)
@@ -583,7 +574,7 @@ Public Class frmGameManager
Private Function GetBuilderRoot() As String Private Function GetBuilderRoot() As String
Dim sRoot As String = String.Empty Dim sRoot As String = String.Empty
Dim sPath As String = mgrPath.ValidatePathForOS(txtSavePath.Text) Dim sPath As String = mgrPath.ValidatePath(txtSavePath.Text)
If Not Settings.ShowResolvedPaths Then sPath = mgrPath.ReplaceSpecialPaths(sPath) If Not Settings.ShowResolvedPaths Then sPath = mgrPath.ReplaceSpecialPaths(sPath)
@@ -642,7 +633,6 @@ Public Class frmGameManager
Private Sub OpenRestorePath() Private Sub OpenRestorePath()
Dim sPath As String = String.Empty Dim sPath As String = String.Empty
Dim oProcessStartInfo As ProcessStartInfo
If CurrentBackupItem.AbsolutePath Then If CurrentBackupItem.AbsolutePath Then
sPath = CurrentBackupItem.RestorePath sPath = CurrentBackupItem.RestorePath
@@ -652,19 +642,7 @@ Public Class frmGameManager
End If End If
End If End If
If Directory.Exists(sPath) Then mgrCommon.OpenInOS(sPath, frmGameManager_ErrorNoRestorePathExists)
Try
oProcessStartInfo = New ProcessStartInfo
oProcessStartInfo.FileName = sPath
oProcessStartInfo.UseShellExecute = True
oProcessStartInfo.Verb = "open"
Process.Start(oProcessStartInfo)
Catch ex As Exception
mgrCommon.ShowMessage(App_ErrorLaunchExternal, ex.Message, MsgBoxStyle.Exclamation)
End Try
Else
mgrCommon.ShowMessage(frmGameManager_ErrorNoRestorePathExists, MsgBoxStyle.Exclamation)
End If
End Sub End Sub
Private Sub OpenProcesses() Private Sub OpenProcesses()
@@ -822,7 +800,7 @@ Public Class frmGameManager
sFileName = BackupFolder & CurrentBackupItem.FileName sFileName = BackupFolder & CurrentBackupItem.FileName
btnOpenBackupFile.Enabled = True btnOpenBackup.Enabled = True
btnOpenRestorePath.Enabled = True btnOpenRestorePath.Enabled = True
btnRestore.Enabled = True btnRestore.Enabled = True
btnDeleteBackup.Enabled = True btnDeleteBackup.Enabled = True
@@ -830,7 +808,7 @@ Public Class frmGameManager
If File.Exists(sFileName) Then If File.Exists(sFileName) Then
lblBackupFileData.Text = Path.GetFileName(CurrentBackupItem.FileName) & " (" & mgrCommon.FormatDiskSpace(mgrCommon.GetFileSize(sFileName)) & ")" lblBackupFileData.Text = Path.GetFileName(CurrentBackupItem.FileName) & " (" & mgrCommon.FormatDiskSpace(mgrCommon.GetFileSize(sFileName)) & ")"
Else Else
lblBackupFileData.Text = frmGameManager_ErrorNoBackupExists lblBackupFileData.Text = frmGameManager_ErrorNoBackupFileExists
End If End If
SetBackupRestorePath(oApp) SetBackupRestorePath(oApp)
@@ -838,7 +816,7 @@ Public Class frmGameManager
oComboItems.Add(New KeyValuePair(Of String, String)(String.Empty, frmGameManager_None)) oComboItems.Add(New KeyValuePair(Of String, String)(String.Empty, frmGameManager_None))
lblBackupFileData.Text = String.Empty lblBackupFileData.Text = String.Empty
lblRestorePathData.Text = String.Empty lblRestorePathData.Text = String.Empty
btnOpenBackupFile.Enabled = False btnOpenBackup.Enabled = False
btnOpenRestorePath.Enabled = False btnOpenRestorePath.Enabled = False
btnRestore.Enabled = False btnRestore.Enabled = False
btnDeleteBackup.Enabled = False btnDeleteBackup.Enabled = False
@@ -876,7 +854,7 @@ Public Class frmGameManager
If mgrPath.IsSupportedRegistryPath(oApp.TruePath) Then If mgrPath.IsSupportedRegistryPath(oApp.TruePath) Then
btnImportBackup.Enabled = False btnImportBackup.Enabled = False
btnOpenBackupFile.Enabled = False btnOpenBackup.Enabled = False
btnOpenRestorePath.Enabled = False btnOpenRestorePath.Enabled = False
End If End If
@@ -893,7 +871,7 @@ Public Class frmGameManager
If File.Exists(sFileName) Then If File.Exists(sFileName) Then
lblBackupFileData.Text = Path.GetFileName(CurrentBackupItem.FileName) & " (" & mgrCommon.FormatDiskSpace(mgrCommon.GetFileSize(sFileName)) & ")" lblBackupFileData.Text = Path.GetFileName(CurrentBackupItem.FileName) & " (" & mgrCommon.FormatDiskSpace(mgrCommon.GetFileSize(sFileName)) & ")"
Else Else
lblBackupFileData.Text = frmGameManager_ErrorNoBackupExists lblBackupFileData.Text = frmGameManager_ErrorNoBackupFileExists
End If End If
SetBackupRestorePath(CurrentGame) SetBackupRestorePath(CurrentGame)
@@ -1081,7 +1059,7 @@ Public Class frmGameManager
btnRestore.Enabled = False btnRestore.Enabled = False
btnImportBackup.Enabled = False btnImportBackup.Enabled = False
btnDeleteBackup.Enabled = False btnDeleteBackup.Enabled = False
btnOpenBackupFile.Enabled = False btnOpenBackup.Enabled = False
btnOpenRestorePath.Enabled = False btnOpenRestorePath.Enabled = False
chkEnabled.Checked = True chkEnabled.Checked = True
chkMonitorOnly.Checked = False chkMonitorOnly.Checked = False
@@ -1115,7 +1093,7 @@ Public Class frmGameManager
btnRestore.Enabled = False btnRestore.Enabled = False
btnImportBackup.Enabled = False btnImportBackup.Enabled = False
btnDeleteBackup.Enabled = False btnDeleteBackup.Enabled = False
btnOpenBackupFile.Enabled = False btnOpenBackup.Enabled = False
btnOpenRestorePath.Enabled = False btnOpenRestorePath.Enabled = False
btnTags.Enabled = True btnTags.Enabled = True
btnProcesses.Enabled = True btnProcesses.Enabled = True
@@ -1257,7 +1235,6 @@ Public Class frmGameManager
btnInclude.Enabled = False btnInclude.Enabled = False
btnExclude.Enabled = False btnExclude.Enabled = False
Else Else
chkFolderSave.Checked = False
chkFolderSave.Enabled = True chkFolderSave.Enabled = True
btnInclude.Enabled = True btnInclude.Enabled = True
btnExclude.Enabled = True btnExclude.Enabled = True
@@ -1384,7 +1361,7 @@ Public Class frmGameManager
oApp.IsRegEx = chkRegEx.Checked oApp.IsRegEx = chkRegEx.Checked
If Not oApp.IsRegEx Then If Not oApp.IsRegEx Then
txtProcess.Text = mgrPath.ValidateFileNameForOS(txtProcess.Text) txtProcess.Text = mgrPath.ValidateFileName(txtProcess.Text)
If Path.HasExtension(txtProcess.Text) Then If Path.HasExtension(txtProcess.Text) Then
If txtProcess.Text.ToLower.EndsWith(".exe") Then If txtProcess.Text.ToLower.EndsWith(".exe") Then
txtProcess.Text = Path.GetFileNameWithoutExtension(txtProcess.Text) txtProcess.Text = Path.GetFileNameWithoutExtension(txtProcess.Text)
@@ -1395,7 +1372,7 @@ Public Class frmGameManager
oApp.ProcessName = txtProcess.Text oApp.ProcessName = txtProcess.Text
oApp.Parameter = txtParameter.Text oApp.Parameter = txtParameter.Text
oApp.OS = CType(cboOS.SelectedValue, clsGame.eOS) oApp.OS = CType(cboOS.SelectedValue, clsGame.eOS)
oApp.Path = mgrPath.ValidatePathForOS(txtSavePath.Text) oApp.Path = mgrPath.ValidatePath(txtSavePath.Text)
'If we have a registry path, trim any trailing backslashes because they cause export failures 'If we have a registry path, trim any trailing backslashes because they cause export failures
If mgrPath.IsSupportedRegistryPath(oApp.Path) Then If mgrPath.IsSupportedRegistryPath(oApp.Path) Then
@@ -1420,7 +1397,7 @@ Public Class frmGameManager
oApp.Comments = txtComments.Text oApp.Comments = txtComments.Text
oApp.Enabled = chkEnabled.Checked oApp.Enabled = chkEnabled.Checked
oApp.MonitorOnly = chkMonitorOnly.Checked oApp.MonitorOnly = chkMonitorOnly.Checked
oApp.ProcessPath = mgrPath.ValidatePathForOS(txtAppPath.Text) oApp.ProcessPath = mgrPath.ValidatePath(txtAppPath.Text)
oApp.Company = txtCompany.Text oApp.Company = txtCompany.Text
oApp.Version = txtVersion.Text oApp.Version = txtVersion.Text
oApp.Icon = txtIcon.Text oApp.Icon = txtIcon.Text
@@ -1818,7 +1795,7 @@ Public Class frmGameManager
btnSave.Text = frmGameManager_btnSave btnSave.Text = frmGameManager_btnSave
lblRestorePath.Text = frmGameManager_lblRestorePath lblRestorePath.Text = frmGameManager_lblRestorePath
btnOpenRestorePath.Text = frmGameManager_btnOpenRestorePath btnOpenRestorePath.Text = frmGameManager_btnOpenRestorePath
btnOpenBackupFile.Text = frmGameManager_btnOpenBackupFile btnOpenBackup.Text = frmGameManager_btnOpenBackup
btnDeleteBackup.Text = frmGameManager_btnDeleteBackup btnDeleteBackup.Text = frmGameManager_btnDeleteBackup
lblBackupFile.Text = frmGameManager_lblBackupFile lblBackupFile.Text = frmGameManager_lblBackupFile
lblRemote.Text = frmGameManager_lblRemote lblRemote.Text = frmGameManager_lblRemote
@@ -1860,6 +1837,8 @@ Public Class frmGameManager
btnProcesses.Text = frmGameManager_btnProcesses btnProcesses.Text = frmGameManager_btnProcesses
lblOS.Text = frmGameManager_lblOS lblOS.Text = frmGameManager_lblOS
btnWineConfig.Text = frmGameManager_btnWineConfig btnWineConfig.Text = frmGameManager_btnWineConfig
cmsOpenBackupFile.Text = frmGameManager_cmsOpenBackupFile
cmsOpenBackupFolder.Text = frmGameManager_cmsOpenBackupFolder
'Init Combos 'Init Combos
Dim oComboItems As New List(Of KeyValuePair(Of Integer, String)) Dim oComboItems As New List(Of KeyValuePair(Of Integer, String))
@@ -1902,8 +1881,9 @@ Public Class frmGameManager
btnRestore.Visible = False btnRestore.Visible = False
btnMarkAsRestored.Visible = False btnMarkAsRestored.Visible = False
btnDeleteBackup.Visible = False btnDeleteBackup.Visible = False
btnOpenBackupFile.Visible = False btnOpenBackup.Visible = False
btnOpenRestorePath.Visible = False btnOpenRestorePath.Visible = False
btnImportBackup.Visible = False
End If End If
LoadBackupData() LoadBackupData()
@@ -1984,10 +1964,18 @@ Public Class frmGameManager
IconBrowse() IconBrowse()
End Sub End Sub
Private Sub btnOpenBackupFile_Click(sender As Object, e As EventArgs) Handles btnOpenBackupFile.Click Private Sub btnOpenBackup_Click(sender As Object, e As EventArgs) Handles btnOpenBackup.Click
mgrCommon.OpenButtonSubMenu(cmsOpenBackup, btnOpenBackup)
End Sub
Private Sub cmsOpenBackupFile_Click(sender As Object, e As EventArgs) Handles cmsOpenBackupFile.Click
OpenBackupFile() OpenBackupFile()
End Sub End Sub
Private Sub cmsOpenBackupFolder_Click(sender As Object, e As EventArgs) Handles cmsOpenBackupFolder.Click
OpenBackupFolder()
End Sub
Private Sub btnOpenRestorePath_Click(sender As Object, e As EventArgs) Handles btnOpenRestorePath.Click Private Sub btnOpenRestorePath_Click(sender As Object, e As EventArgs) Handles btnOpenRestorePath.Click
OpenRestorePath() OpenRestorePath()
End Sub End Sub
@@ -2006,7 +1994,7 @@ Public Class frmGameManager
Private Sub btnDeleteBackup_Click(sender As Object, e As EventArgs) Handles btnDeleteBackup.Click Private Sub btnDeleteBackup_Click(sender As Object, e As EventArgs) Handles btnDeleteBackup.Click
If cboRemoteBackup.Items.Count > 1 Then If cboRemoteBackup.Items.Count > 1 Then
cmsDeleteBackup.Show(btnDeleteBackup, New Drawing.Point(btnDeleteBackup.Size.Width - Math.Floor(btnDeleteBackup.Size.Width * 0.1), btnDeleteBackup.Size.Height - Math.Floor(btnDeleteBackup.Size.Height * 0.5)), ToolStripDropDownDirection.AboveRight) mgrCommon.OpenButtonSubMenu(cmsDeleteBackup, btnDeleteBackup)
Else Else
DeleteBackup() DeleteBackup()
End If End If
@@ -2076,7 +2064,7 @@ Public Class frmGameManager
End Sub End Sub
Private Sub btnImport_Click(sender As Object, e As EventArgs) Handles btnImport.Click Private Sub btnImport_Click(sender As Object, e As EventArgs) Handles btnImport.Click
cmsImport.Show(btnImport, New Drawing.Point(btnImport.Size.Width - Math.Floor(btnImport.Size.Width * 0.1), btnImport.Size.Height - Math.Floor(btnImport.Size.Height * 0.5)), ToolStripDropDownDirection.AboveRight) mgrCommon.OpenButtonSubMenu(cmsImport, btnImport)
End Sub End Sub
Private Sub cmsOfficialWindows_Click(sender As Object, e As EventArgs) Handles cmsOfficialWindows.Click, cmsOfficial.Click Private Sub cmsOfficialWindows_Click(sender As Object, e As EventArgs) Handles cmsOfficialWindows.Click, cmsOfficial.Click
+5 -3
View File
@@ -258,19 +258,21 @@ Partial Class frmMain
Me.txtLog.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ Me.txtLog.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.txtLog.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.txtLog.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.txtLog.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.txtLog.Location = New System.Drawing.Point(12, 184) Me.txtLog.Location = New System.Drawing.Point(-1, 184)
Me.txtLog.MaxLength = 524288 Me.txtLog.MaxLength = 524288
Me.txtLog.Multiline = True Me.txtLog.Multiline = True
Me.txtLog.Name = "txtLog" Me.txtLog.Name = "txtLog"
Me.txtLog.ReadOnly = True Me.txtLog.ReadOnly = True
Me.txtLog.ScrollBars = System.Windows.Forms.ScrollBars.Vertical Me.txtLog.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
Me.txtLog.Size = New System.Drawing.Size(500, 186) Me.txtLog.Size = New System.Drawing.Size(525, 195)
Me.txtLog.TabIndex = 10 Me.txtLog.TabIndex = 10
Me.txtLog.TabStop = False Me.txtLog.TabStop = False
' '
'gMonStatusStrip 'gMonStatusStrip
' '
Me.gMonStatusStrip.BackColor = System.Drawing.Color.Transparent
Me.gMonStatusStrip.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.gMonStatusStrip.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.gMonStatusStrip.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.gMonStripAdminButton, Me.gMonStripTxtStatus, Me.gMonStripStatusButton}) Me.gMonStatusStrip.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.gMonStripAdminButton, Me.gMonStripTxtStatus, Me.gMonStripStatusButton})
Me.gMonStatusStrip.Location = New System.Drawing.Point(0, 379) Me.gMonStatusStrip.Location = New System.Drawing.Point(0, 379)
@@ -309,7 +311,7 @@ Partial Class frmMain
Me.gMonMainMenu.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.gMonFile, Me.gMonSetup, Me.gMonTools, Me.gMonHelp, Me.gMonNotification}) Me.gMonMainMenu.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.gMonFile, Me.gMonSetup, Me.gMonTools, Me.gMonHelp, Me.gMonNotification})
Me.gMonMainMenu.Location = New System.Drawing.Point(0, 0) Me.gMonMainMenu.Location = New System.Drawing.Point(0, 0)
Me.gMonMainMenu.Name = "gMonMainMenu" Me.gMonMainMenu.Name = "gMonMainMenu"
Me.gMonMainMenu.RenderMode = System.Windows.Forms.ToolStripRenderMode.System Me.gMonMainMenu.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
Me.gMonMainMenu.Size = New System.Drawing.Size(524, 24) Me.gMonMainMenu.Size = New System.Drawing.Size(524, 24)
Me.gMonMainMenu.TabIndex = 0 Me.gMonMainMenu.TabIndex = 0
Me.gMonMainMenu.Text = "MenuStrip1" Me.gMonMainMenu.Text = "MenuStrip1"
+3087 -2869
View File
File diff suppressed because it is too large Load Diff
+46 -10
View File
@@ -968,6 +968,7 @@ Public Class frmMain
mgrPath.RemoteDatabaseLocation = oSettings.BackupFolder mgrPath.RemoteDatabaseLocation = oSettings.BackupFolder
SetupSyncWatcher() SetupSyncWatcher()
LoadGameSettings() LoadGameSettings()
LoadCustomUISettings()
End If End If
ResumeScan() ResumeScan()
End Sub End Sub
@@ -1007,12 +1008,9 @@ Public Class frmMain
Private Sub OpenStartupWizard() Private Sub OpenStartupWizard()
Dim frm As New frmStartUpWizard() Dim frm As New frmStartUpWizard()
frm.Settings = oSettings frm.Settings = New mgrSettings
PauseScan()
frm.ShowDialog() frm.ShowDialog()
LoadAndVerify()
bFirstRun = False bFirstRun = False
ResumeScan()
End Sub End Sub
Private Sub OpenWebSite() Private Sub OpenWebSite()
@@ -1565,6 +1563,9 @@ Public Class frmMain
pbTime.Image = Icon_Clock pbTime.Image = Icon_Clock
AddHandler mgrMonitorList.UpdateLog, AddressOf UpdateLog AddHandler mgrMonitorList.UpdateLog, AddressOf UpdateLog
ResetGameInfo() ResetGameInfo()
'Initialise and sets interface customizations
LoadCustomUISettings()
End Sub End Sub
Private Function BuildChildProcesses() As Integer Private Function BuildChildProcesses() As Integer
@@ -1628,6 +1629,44 @@ Public Class frmMain
End Try End Try
End Sub End Sub
Private Sub LoadCustomUISettings()
#Region "Auto-hide log"
If oSettings.AutoHideLog Then
Size = New Size(0, 0)
Else
Size = New Size(0, 440)
End If
#End Region
#Region "Set application theme"
Dim oThemeEngine As New mgrThemeEngine()
oThemeEngine.SetTheme(oSettings.ThemeSelection)
'Base Theme
BackColor = oThemeEngine.ColorBase
'Menu/Status Bars
gMonMainMenu.BackColor = oThemeEngine.ColorBase
gMonMainMenu.ForeColor = oThemeEngine.ColorHighlightSecondary
gMonStatusStrip.BackColor = oThemeEngine.ColorBase
gMonStripTxtStatus.ForeColor = oThemeEngine.ColorHighlight
gMonStripStatusButton.ForeColor = oThemeEngine.ColorHighlight
'Text Labels
lblGameTitle.ForeColor = oThemeEngine.ColorHighlight
lblStatus1.ForeColor = oThemeEngine.ColorHighlight
lblStatus2.ForeColor = oThemeEngine.ColorHighlight
lblStatus3.ForeColor = oThemeEngine.ColorHighlight
lblTimeSpent.ForeColor = oThemeEngine.ColorHighlight
lblLastActionTitle.ForeColor = oThemeEngine.ColorHighlight
lblLastAction.ForeColor = oThemeEngine.ColorHighlight
'Output Log
txtLog.BackColor = oThemeEngine.ColorBaseSecondary
txtLog.ForeColor = oThemeEngine.ColorHighlight
#End Region
End Sub
'Functions that control the scanning for games 'Functions that control the scanning for games
Private Sub StartScan() Private Sub StartScan()
tmScanTimer.Interval = 5000 tmScanTimer.Interval = 5000
@@ -1715,8 +1754,8 @@ Public Class frmMain
Private Sub VerifyGameDataPath() Private Sub VerifyGameDataPath()
'Important: This function cannot access mgrPath for settings, as that will trigger a database creation and destroy the reason for this function 'Important: This function cannot access mgrPath for settings, as that will trigger a database creation and destroy the reason for this function
Dim sSettingsRoot As String = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) & "/gbm" Dim sSettingsRoot As String = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) & Path.DirectorySeparatorChar & "gbm"
Dim sDBLocation As String = sSettingsRoot & "/gbm.s3db" Dim sDBLocation As String = sSettingsRoot & Path.DirectorySeparatorChar & "gbm.s3db"
If Not Directory.Exists(sSettingsRoot) Then If Not Directory.Exists(sSettingsRoot) Then
Try Try
@@ -2166,6 +2205,7 @@ Public Class frmMain
If bInitialLoad Then If bInitialLoad Then
Try Try
VerifyGameDataPath() VerifyGameDataPath()
If bFirstRun Then OpenStartupWizard()
LoadAndVerify() LoadAndVerify()
Catch ex As Exception Catch ex As Exception
If mgrCommon.ShowMessage(frmMain_ErrorInitFailure, ex.Message & vbCrLf & ex.StackTrace, MsgBoxStyle.YesNo) = MsgBoxResult.No Then If mgrCommon.ShowMessage(frmMain_ErrorInitFailure, ex.Message & vbCrLf & ex.StackTrace, MsgBoxStyle.YesNo) = MsgBoxResult.No Then
@@ -2204,10 +2244,6 @@ Public Class frmMain
CheckForNewBackups() CheckForNewBackups()
End If End If
If bFirstRun And Not bShutdown Then
OpenStartupWizard()
End If
bInitialLoad = False bInitialLoad = False
Else Else
txtLog.Select(txtLog.TextLength, 0) txtLog.Select(txtLog.TextLength, 0)
+116
View File
@@ -75,6 +75,15 @@ Partial Class frmSettings
Me.chkAutoStart = New System.Windows.Forms.CheckBox() Me.chkAutoStart = New System.Windows.Forms.CheckBox()
Me.chkStartMinimized = New System.Windows.Forms.CheckBox() Me.chkStartMinimized = New System.Windows.Forms.CheckBox()
Me.chkMonitorOnStartup = New System.Windows.Forms.CheckBox() Me.chkMonitorOnStartup = New System.Windows.Forms.CheckBox()
Me.pnlInterface = New System.Windows.Forms.Panel()
Me.grpInterfaceOptions = New System.Windows.Forms.GroupBox()
Me.btnPreviewTheme_HighlightSec = New System.Windows.Forms.Button()
Me.btnPreviewTheme_Highlight = New System.Windows.Forms.Button()
Me.btnPreviewTheme_BaseSec = New System.Windows.Forms.Button()
Me.btnPreviewTheme_Base = New System.Windows.Forms.Button()
Me.chkAutoHideLog = New System.Windows.Forms.CheckBox()
Me.cboThemeSelection = New System.Windows.Forms.ComboBox()
Me.lblThemeSelection = New System.Windows.Forms.Label()
Me.grpFolderOptions.SuspendLayout() Me.grpFolderOptions.SuspendLayout()
Me.grp7zGeneral.SuspendLayout() Me.grp7zGeneral.SuspendLayout()
Me.pnlBackup.SuspendLayout() Me.pnlBackup.SuspendLayout()
@@ -90,6 +99,8 @@ Partial Class frmSettings
Me.grpGameData.SuspendLayout() Me.grpGameData.SuspendLayout()
Me.pnlStartup.SuspendLayout() Me.pnlStartup.SuspendLayout()
Me.grpStartup.SuspendLayout() Me.grpStartup.SuspendLayout()
Me.pnlInterface.SuspendLayout()
Me.grpInterfaceOptions.SuspendLayout()
Me.SuspendLayout() Me.SuspendLayout()
' '
'chkAutoSaveLog 'chkAutoSaveLog
@@ -622,11 +633,104 @@ Partial Class frmSettings
Me.chkMonitorOnStartup.Text = "Start monitoring on launch" Me.chkMonitorOnStartup.Text = "Start monitoring on launch"
Me.chkMonitorOnStartup.UseVisualStyleBackColor = True Me.chkMonitorOnStartup.UseVisualStyleBackColor = True
' '
'pnlInterface
'
Me.pnlInterface.Controls.Add(Me.grpInterfaceOptions)
Me.pnlInterface.Location = New System.Drawing.Point(180, 0)
Me.pnlInterface.Name = "pnlInterface"
Me.pnlInterface.Size = New System.Drawing.Size(367, 314)
Me.pnlInterface.TabIndex = 9
'
'grpInterfaceOptions
'
Me.grpInterfaceOptions.Controls.Add(Me.btnPreviewTheme_HighlightSec)
Me.grpInterfaceOptions.Controls.Add(Me.btnPreviewTheme_Highlight)
Me.grpInterfaceOptions.Controls.Add(Me.btnPreviewTheme_BaseSec)
Me.grpInterfaceOptions.Controls.Add(Me.btnPreviewTheme_Base)
Me.grpInterfaceOptions.Controls.Add(Me.chkAutoHideLog)
Me.grpInterfaceOptions.Controls.Add(Me.cboThemeSelection)
Me.grpInterfaceOptions.Controls.Add(Me.lblThemeSelection)
Me.grpInterfaceOptions.Location = New System.Drawing.Point(6, 12)
Me.grpInterfaceOptions.Name = "grpInterfaceOptions"
Me.grpInterfaceOptions.Size = New System.Drawing.Size(354, 82)
Me.grpInterfaceOptions.TabIndex = 1
Me.grpInterfaceOptions.TabStop = False
Me.grpInterfaceOptions.Text = "Interface Options"
'
'btnPreviewTheme_HighlightSec
'
Me.btnPreviewTheme_HighlightSec.Enabled = False
Me.btnPreviewTheme_HighlightSec.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnPreviewTheme_HighlightSec.Location = New System.Drawing.Point(312, 23)
Me.btnPreviewTheme_HighlightSec.Name = "btnPreviewTheme_HighlightSec"
Me.btnPreviewTheme_HighlightSec.Size = New System.Drawing.Size(21, 21)
Me.btnPreviewTheme_HighlightSec.TabIndex = 7
Me.btnPreviewTheme_HighlightSec.UseVisualStyleBackColor = True
'
'btnPreviewTheme_Highlight
'
Me.btnPreviewTheme_Highlight.Enabled = False
Me.btnPreviewTheme_Highlight.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnPreviewTheme_Highlight.Location = New System.Drawing.Point(285, 23)
Me.btnPreviewTheme_Highlight.Name = "btnPreviewTheme_Highlight"
Me.btnPreviewTheme_Highlight.Size = New System.Drawing.Size(21, 21)
Me.btnPreviewTheme_Highlight.TabIndex = 6
Me.btnPreviewTheme_Highlight.UseVisualStyleBackColor = True
'
'btnPreviewTheme_BaseSec
'
Me.btnPreviewTheme_BaseSec.Enabled = False
Me.btnPreviewTheme_BaseSec.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnPreviewTheme_BaseSec.Location = New System.Drawing.Point(258, 23)
Me.btnPreviewTheme_BaseSec.Name = "btnPreviewTheme_BaseSec"
Me.btnPreviewTheme_BaseSec.Size = New System.Drawing.Size(21, 21)
Me.btnPreviewTheme_BaseSec.TabIndex = 5
Me.btnPreviewTheme_BaseSec.UseVisualStyleBackColor = True
'
'btnPreviewTheme_Base
'
Me.btnPreviewTheme_Base.Enabled = False
Me.btnPreviewTheme_Base.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnPreviewTheme_Base.Location = New System.Drawing.Point(230, 23)
Me.btnPreviewTheme_Base.Name = "btnPreviewTheme_Base"
Me.btnPreviewTheme_Base.Size = New System.Drawing.Size(21, 21)
Me.btnPreviewTheme_Base.TabIndex = 4
Me.btnPreviewTheme_Base.UseVisualStyleBackColor = True
'
'chkAutoHideLog
'
Me.chkAutoHideLog.AutoSize = True
Me.chkAutoHideLog.Location = New System.Drawing.Point(9, 56)
Me.chkAutoHideLog.Name = "chkAutoHideLog"
Me.chkAutoHideLog.Size = New System.Drawing.Size(167, 17)
Me.chkAutoHideLog.TabIndex = 3
Me.chkAutoHideLog.Text = "Automatically hide backup log"
Me.chkAutoHideLog.UseVisualStyleBackColor = True
'
'cboThemeSelection
'
Me.cboThemeSelection.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.cboThemeSelection.FormattingEnabled = True
Me.cboThemeSelection.Location = New System.Drawing.Point(110, 23)
Me.cboThemeSelection.Name = "cboThemeSelection"
Me.cboThemeSelection.Size = New System.Drawing.Size(114, 21)
Me.cboThemeSelection.TabIndex = 1
'
'lblThemeSelection
'
Me.lblThemeSelection.AutoSize = True
Me.lblThemeSelection.Location = New System.Drawing.Point(9, 27)
Me.lblThemeSelection.Name = "lblThemeSelection"
Me.lblThemeSelection.Size = New System.Drawing.Size(90, 13)
Me.lblThemeSelection.TabIndex = 0
Me.lblThemeSelection.Text = "Theme Selection:"
'
'frmSettings 'frmSettings
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(554, 361) Me.ClientSize = New System.Drawing.Size(554, 361)
Me.Controls.Add(Me.pnlInterface)
Me.Controls.Add(Me.pnlStartup) Me.Controls.Add(Me.pnlStartup)
Me.Controls.Add(Me.pnlBackup) Me.Controls.Add(Me.pnlBackup)
Me.Controls.Add(Me.pnlGeneral) Me.Controls.Add(Me.pnlGeneral)
@@ -666,6 +770,9 @@ Partial Class frmSettings
Me.pnlStartup.ResumeLayout(False) Me.pnlStartup.ResumeLayout(False)
Me.grpStartup.ResumeLayout(False) Me.grpStartup.ResumeLayout(False)
Me.grpStartup.PerformLayout() Me.grpStartup.PerformLayout()
Me.pnlInterface.ResumeLayout(False)
Me.grpInterfaceOptions.ResumeLayout(False)
Me.grpInterfaceOptions.PerformLayout()
Me.ResumeLayout(False) Me.ResumeLayout(False)
End Sub End Sub
@@ -722,4 +829,13 @@ Partial Class frmSettings
Friend WithEvents grpGameMonitoringOptions As GroupBox Friend WithEvents grpGameMonitoringOptions As GroupBox
Friend WithEvents chkShowResolvedPaths As CheckBox Friend WithEvents chkShowResolvedPaths As CheckBox
Friend WithEvents chkDisableDiskSpaceCheck As CheckBox Friend WithEvents chkDisableDiskSpaceCheck As CheckBox
Friend WithEvents pnlInterface As Panel
Friend WithEvents grpInterfaceOptions As GroupBox
Friend WithEvents chkAutoHideLog As CheckBox
Friend WithEvents cboThemeSelection As ComboBox
Friend WithEvents lblThemeSelection As Label
Friend WithEvents btnPreviewTheme_Base As Button
Friend WithEvents btnPreviewTheme_HighlightSec As Button
Friend WithEvents btnPreviewTheme_Highlight As Button
Friend WithEvents btnPreviewTheme_BaseSec As Button
End Class End Class
+45
View File
@@ -5,6 +5,7 @@ Public Class frmSettings
Dim bShutdown As Boolean = False Dim bShutdown As Boolean = False
Dim bSyncSettingsChanged As Boolean = False Dim bSyncSettingsChanged As Boolean = False
Dim eCurrentSyncFields As clsGame.eOptionalSyncFields Dim eCurrentSyncFields As clsGame.eOptionalSyncFields
Private oSettings As mgrSettings Private oSettings As mgrSettings
Property Settings As mgrSettings Property Settings As mgrSettings
@@ -99,6 +100,8 @@ Public Class frmSettings
oSettings.SuppressBackup = chkSuppressBackup.Checked oSettings.SuppressBackup = chkSuppressBackup.Checked
oSettings.SuppressBackupThreshold = nudSuppressBackupThreshold.Value oSettings.SuppressBackupThreshold = nudSuppressBackupThreshold.Value
oSettings.CompressionLevel = cboCompression.SelectedValue oSettings.CompressionLevel = cboCompression.SelectedValue
oSettings.ThemeSelection = cboThemeSelection.SelectedValue
oSettings.AutoHideLog = chkAutoHideLog.Checked
If oSettings.Custom7zArguments <> txt7zArguments.Text.Trim And txt7zArguments.Text.Trim <> String.Empty Then If oSettings.Custom7zArguments <> txt7zArguments.Text.Trim And txt7zArguments.Text.Trim <> String.Empty Then
mgrCommon.ShowMessage(frmSettings_WarningArguments, MsgBoxStyle.Exclamation) mgrCommon.ShowMessage(frmSettings_WarningArguments, MsgBoxStyle.Exclamation)
@@ -234,6 +237,8 @@ Public Class frmSettings
txt7zArguments.Text = oSettings.Custom7zArguments txt7zArguments.Text = oSettings.Custom7zArguments
txt7zLocation.Text = oSettings.Custom7zLocation txt7zLocation.Text = oSettings.Custom7zLocation
eCurrentSyncFields = oSettings.SyncFields eCurrentSyncFields = oSettings.SyncFields
cboThemeSelection.SelectedIndex = oSettings.ThemeSelection
chkAutoHideLog.Checked = oSettings.AutoHideLog
'Retrieve 7z Info 'Retrieve 7z Info
GetUtilityInfo(oSettings.Custom7zLocation) GetUtilityInfo(oSettings.Custom7zLocation)
@@ -243,6 +248,7 @@ Public Class frmSettings
Private Sub LoadCombos() Private Sub LoadCombos()
Dim oComboItems As New List(Of KeyValuePair(Of Integer, String)) Dim oComboItems As New List(Of KeyValuePair(Of Integer, String))
Dim oSettingsItems As New List(Of KeyValuePair(Of Integer, String)) Dim oSettingsItems As New List(Of KeyValuePair(Of Integer, String))
Dim oThemeItems As New List(Of KeyValuePair(Of Integer, String))
'cboCompression 'cboCompression
cboCompression.ValueMember = "Key" cboCompression.ValueMember = "Key"
@@ -257,6 +263,15 @@ Public Class frmSettings
cboCompression.DataSource = oComboItems cboCompression.DataSource = oComboItems
'cboThemes
cboThemeSelection.ValueMember = "Key"
cboThemeSelection.DisplayMember = "Value"
oThemeItems.Add(New KeyValuePair(Of Integer, String)(0, frmSettings_cboThemeSelection_Light))
oThemeItems.Add(New KeyValuePair(Of Integer, String)(1, frmSettings_cboThemeSelection_Dark))
cboThemeSelection.DataSource = oThemeItems
'lstSettings 'lstSettings
lstSettings.ValueMember = "Key" lstSettings.ValueMember = "Key"
lstSettings.DisplayMember = "Value" lstSettings.DisplayMember = "Value"
@@ -265,6 +280,7 @@ Public Class frmSettings
oSettingsItems.Add(New KeyValuePair(Of Integer, String)(1, frmSettings_lstSettings_BackupRestore)) oSettingsItems.Add(New KeyValuePair(Of Integer, String)(1, frmSettings_lstSettings_BackupRestore))
oSettingsItems.Add(New KeyValuePair(Of Integer, String)(2, frmSettings_lstSettings_Startup)) oSettingsItems.Add(New KeyValuePair(Of Integer, String)(2, frmSettings_lstSettings_Startup))
oSettingsItems.Add(New KeyValuePair(Of Integer, String)(3, frmSettings_lstSettings_7z)) oSettingsItems.Add(New KeyValuePair(Of Integer, String)(3, frmSettings_lstSettings_7z))
oSettingsItems.Add(New KeyValuePair(Of Integer, String)(4, frmSettings_lstSettings_Interface))
lstSettings.DataSource = oSettingsItems lstSettings.DataSource = oSettingsItems
@@ -291,22 +307,32 @@ Public Class frmSettings
pnlStartup.Visible = False pnlStartup.Visible = False
pnlBackup.Visible = False pnlBackup.Visible = False
pnl7z.Visible = False pnl7z.Visible = False
pnlInterface.Visible = False
Case 1 Case 1
pnlGeneral.Visible = False pnlGeneral.Visible = False
pnlBackup.Visible = True pnlBackup.Visible = True
pnlStartup.Visible = False pnlStartup.Visible = False
pnl7z.Visible = False pnl7z.Visible = False
pnlInterface.Visible = False
Case 2 Case 2
pnlGeneral.Visible = False pnlGeneral.Visible = False
pnlBackup.Visible = False pnlBackup.Visible = False
pnlStartup.Visible = True pnlStartup.Visible = True
pnl7z.Visible = False pnl7z.Visible = False
pnlInterface.Visible = False
Case 3 Case 3
pnlGeneral.Visible = False pnlGeneral.Visible = False
pnlBackup.Visible = False pnlBackup.Visible = False
pnlStartup.Visible = False pnlStartup.Visible = False
pnl7z.Visible = True pnl7z.Visible = True
pnlInterface.Visible = False
Case 4
pnlGeneral.Visible = False
pnlBackup.Visible = False
pnlStartup.Visible = False
pnl7z.Visible = False
pnlInterface.Visible = True
End Select End Select
End If End If
End Sub End Sub
@@ -427,4 +453,23 @@ Public Class frmSettings
Private Sub lstSettings_SelectedValueChanged(sender As Object, e As EventArgs) Handles lstSettings.SelectedValueChanged Private Sub lstSettings_SelectedValueChanged(sender As Object, e As EventArgs) Handles lstSettings.SelectedValueChanged
ChangePanel() ChangePanel()
End Sub End Sub
Private Sub cboThemeSelection_SelectedValueChanged(sender As Object, e As EventArgs) Handles cboThemeSelection.SelectedValueChanged
'Previews theme based on current combo-box selection.
Dim oThemeEngine As New mgrThemeEngine()
If cboThemeSelection.SelectedIndex = 0 Then
oThemeEngine.SetTheme(cboThemeSelection.SelectedIndex)
ElseIf cboThemeSelection.SelectedIndex = 1 Then
oThemeEngine.SetTheme(cboThemeSelection.SelectedIndex)
End If
'Only set the theme once it has been defined.
If oThemeEngine.bThemeHasBeenDefined Then
btnPreviewTheme_Base.BackColor = oThemeEngine.ColorBase
btnPreviewTheme_BaseSec.BackColor = oThemeEngine.ColorBaseSecondary
btnPreviewTheme_Highlight.BackColor = oThemeEngine.ColorHighlight
btnPreviewTheme_HighlightSec.BackColor = oThemeEngine.ColorHighlightSecondary
End If
End Sub
End Class End Class
+13 -1
View File
@@ -49,6 +49,7 @@ Partial Class frmStartUpWizard
Me.lblStep4Instructions = New System.Windows.Forms.Label() Me.lblStep4Instructions = New System.Windows.Forms.Label()
Me.btnNext = New System.Windows.Forms.Button() Me.btnNext = New System.Windows.Forms.Button()
Me.btnBack = New System.Windows.Forms.Button() Me.btnBack = New System.Windows.Forms.Button()
Me.lblStep2Warning = New System.Windows.Forms.Label()
Me.tabWizard.SuspendLayout() Me.tabWizard.SuspendLayout()
Me.tbPage1.SuspendLayout() Me.tbPage1.SuspendLayout()
Me.tbPage2.SuspendLayout() Me.tbPage2.SuspendLayout()
@@ -125,6 +126,7 @@ Partial Class frmStartUpWizard
'tbPage2 'tbPage2
' '
Me.tbPage2.BackColor = System.Drawing.SystemColors.Control Me.tbPage2.BackColor = System.Drawing.SystemColors.Control
Me.tbPage2.Controls.Add(Me.lblStep2Warning)
Me.tbPage2.Controls.Add(Me.chkCreateFolder) Me.tbPage2.Controls.Add(Me.chkCreateFolder)
Me.tbPage2.Controls.Add(Me.lblStep2Title) Me.tbPage2.Controls.Add(Me.lblStep2Title)
Me.tbPage2.Controls.Add(Me.lblStep2Instructions) Me.tbPage2.Controls.Add(Me.lblStep2Instructions)
@@ -162,7 +164,7 @@ Partial Class frmStartUpWizard
' '
Me.lblStep2Instructions.Location = New System.Drawing.Point(14, 103) Me.lblStep2Instructions.Location = New System.Drawing.Point(14, 103)
Me.lblStep2Instructions.Name = "lblStep2Instructions" Me.lblStep2Instructions.Name = "lblStep2Instructions"
Me.lblStep2Instructions.Size = New System.Drawing.Size(335, 50) Me.lblStep2Instructions.Size = New System.Drawing.Size(335, 44)
Me.lblStep2Instructions.TabIndex = 6 Me.lblStep2Instructions.TabIndex = 6
Me.lblStep2Instructions.Text = "GBM will store all your backup files along with a manifest database (gbm.s3db) in" & Me.lblStep2Instructions.Text = "GBM will store all your backup files along with a manifest database (gbm.s3db) in" &
" this location. Any existing GBM data in this folder will be automatically impo" & " this location. Any existing GBM data in this folder will be automatically impo" &
@@ -318,6 +320,15 @@ Partial Class frmStartUpWizard
Me.btnBack.TabIndex = 1 Me.btnBack.TabIndex = 1
Me.btnBack.Text = "&Back" Me.btnBack.Text = "&Back"
Me.btnBack.UseVisualStyleBackColor = True Me.btnBack.UseVisualStyleBackColor = True
'
'lblStep2Warning
'
Me.lblStep2Warning.Location = New System.Drawing.Point(14, 147)
Me.lblStep2Warning.Name = "lblStep2Warning"
Me.lblStep2Warning.Size = New System.Drawing.Size(335, 33)
Me.lblStep2Warning.TabIndex = 7
Me.lblStep2Warning.Text = "You cannot return to this step after clicking Next. The Backup Location can be c" &
"hanged any time once Setup is complete."
' '
'frmStartUpWizard 'frmStartUpWizard
' '
@@ -371,4 +382,5 @@ Partial Class frmStartUpWizard
Friend WithEvents lblStep4Instructions2 As System.Windows.Forms.Label Friend WithEvents lblStep4Instructions2 As System.Windows.Forms.Label
Friend WithEvents lblStep1Instructions2 As System.Windows.Forms.Label Friend WithEvents lblStep1Instructions2 As System.Windows.Forms.Label
Friend WithEvents llbManual As System.Windows.Forms.LinkLabel Friend WithEvents llbManual As System.Windows.Forms.LinkLabel
Friend WithEvents lblStep2Warning As Label
End Class End Class
+13 -9
View File
@@ -42,6 +42,7 @@ Public Class frmStartUpWizard
chkCreateFolder.Text = frmStartUpWizard_chkCreateFolder chkCreateFolder.Text = frmStartUpWizard_chkCreateFolder
lblStep2Title.Text = frmStartUpWizard_lblStep2Title lblStep2Title.Text = frmStartUpWizard_lblStep2Title
lblStep2Instructions.Text = frmStartUpWizard_lblStep2Instructions lblStep2Instructions.Text = frmStartUpWizard_lblStep2Instructions
lblStep2Warning.Text = frmStartUpWizard_lblStep2Warning
btnFolderBrowse.Text = frmStartUpWizard_btnFolderBrowse btnFolderBrowse.Text = frmStartUpWizard_btnFolderBrowse
lblStep2Intro.Text = frmStartUpWizard_lblStep2Intro lblStep2Intro.Text = frmStartUpWizard_lblStep2Intro
btnOpenWizard.Text = frmStartUpWizard_btnOpenWizard btnOpenWizard.Text = frmStartUpWizard_btnOpenWizard
@@ -55,7 +56,8 @@ Public Class frmStartUpWizard
lblStep4Instructions.Text = frmStartUpWizard_lblStep4Instructions lblStep4Instructions.Text = frmStartUpWizard_lblStep4Instructions
llbManual.Links.Add(0, 26, App_URLManual) llbManual.Links.Add(0, 26, App_URLManual)
LoadGameSettings() txtBackupPath.Text = oSettings.BackupFolder
StepHandler() StepHandler()
End Sub End Sub
@@ -78,8 +80,6 @@ Public Class frmStartUpWizard
btnNext.Enabled = True btnNext.Enabled = True
tabWizard.SelectTab(0) tabWizard.SelectTab(0)
Case eSteps.Step2 Case eSteps.Step2
txtBackupPath.Text = oSettings.BackupFolder
chkCreateFolder.Checked = oSettings.CreateSubFolder
btnBack.Enabled = True btnBack.Enabled = True
btnNext.Enabled = True btnNext.Enabled = True
tabWizard.SelectTab(1) tabWizard.SelectTab(1)
@@ -141,18 +141,22 @@ Public Class frmStartUpWizard
Return False Return False
End If End If
If Not Directory.Exists(strPath) Then
sErrorMessage = frmStartUpWizard_ErrorNoFolderExists
txtBackupPath.Focus()
Return False
End If
If Not Path.IsPathRooted(strPath) Then If Not Path.IsPathRooted(strPath) Then
sErrorMessage = frmStartUpWizard_ErrorBadFolder sErrorMessage = frmStartUpWizard_ErrorBadFolder
txtBackupPath.Focus() txtBackupPath.Focus()
Return False Return False
End If End If
If Not Directory.Exists(strPath) Then
Try
Directory.CreateDirectory(strPath)
Catch ex As Exception
sErrorMessage = frmStartUpWizard_ErrorNoFolderExists
txtBackupPath.Focus()
Return False
End Try
End If
Return True Return True
End Function End Function
+1
View File
@@ -123,6 +123,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Classes\clsGameProcess.vb" /> <Compile Include="Classes\clsGameProcess.vb" />
<Compile Include="Managers\mgrThemeEngine.vb" />
<Compile Include="Classes\clsWineData.vb" /> <Compile Include="Classes\clsWineData.vb" />
<Compile Include="Classes\clsProcess.vb" /> <Compile Include="Classes\clsProcess.vb" />
<Compile Include="Classes\clsGameFilter.vb" /> <Compile Include="Classes\clsGameFilter.vb" />
+2 -2
View File
@@ -1,5 +1,5 @@
GBM - Game Backup Monitor Game Backup Monitor
Copyright (C) 2019 Michael J. Seiferling Copyright (C) 2014 - 2019 Michael J. Seiferling and Game Backup Monitor contributors
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
+29 -1
View File
@@ -451,7 +451,7 @@ Public Class mgrCommon
Try Try
prsdf = New Process prsdf = New Process
prsdf.StartInfo.FileName = "/bin/df" prsdf.StartInfo.FileName = "/bin/df"
prsdf.StartInfo.Arguments = sPath prsdf.StartInfo.Arguments = """" & sPath & """"
prsdf.StartInfo.UseShellExecute = False prsdf.StartInfo.UseShellExecute = False
prsdf.StartInfo.RedirectStandardOutput = True prsdf.StartInfo.RedirectStandardOutput = True
prsdf.StartInfo.CreateNoWindow = True prsdf.StartInfo.CreateNoWindow = True
@@ -529,6 +529,29 @@ Public Class mgrCommon
End If End If
End Sub End Sub
'Opens a file or folder in default application determined by the OS
Public Shared Function OpenInOS(ByVal sFileName As String, ByVal sNotFoundError As String) As Boolean
Dim oProcessStartInfo As ProcessStartInfo
If File.Exists(sFileName) Or Directory.Exists(sFileName) Then
Try
oProcessStartInfo = New ProcessStartInfo
oProcessStartInfo.FileName = sFileName
oProcessStartInfo.UseShellExecute = True
oProcessStartInfo.Verb = "open"
Process.Start(oProcessStartInfo)
Catch ex As Exception
mgrCommon.ShowMessage(App_ErrorLaunchExternal, ex.Message, MsgBoxStyle.Exclamation)
Return False
End Try
Else
mgrCommon.ShowMessage(sNotFoundError, MsgBoxStyle.Exclamation)
Return False
End If
Return True
End Function
'Delete a sub-folder based on the provided backup information 'Delete a sub-folder based on the provided backup information
Public Shared Sub DeleteDirectoryByBackup(ByVal sBackupFolder As String, ByVal oBackup As clsBackup) Public Shared Sub DeleteDirectoryByBackup(ByVal sBackupFolder As String, ByVal oBackup As clsBackup)
Dim oDir As DirectoryInfo Dim oDir As DirectoryInfo
@@ -569,6 +592,11 @@ Public Class mgrCommon
End Try End Try
End Sub End Sub
'Open a nice button sub-menu
Public Shared Sub OpenButtonSubMenu(ByRef cms As ContextMenuStrip, ByRef btn As Button)
cms.Show(btn, New Drawing.Point(btn.Size.Width - Math.Floor(btn.Size.Width * 0.1), btn.Size.Height - Math.Floor(btn.Size.Height * 0.5)), ToolStripDropDownDirection.AboveRight)
End Sub
'Configure a fake form to trigger focus for priority messages 'Configure a fake form to trigger focus for priority messages
Private Shared Sub ConfigureFakeForm(ByRef frm As Form) Private Shared Sub ConfigureFakeForm(ByRef frm As Form)
frm.FormBorderStyle = FormBorderStyle.None frm.FormBorderStyle = FormBorderStyle.None
+10 -6
View File
@@ -101,8 +101,10 @@ Public Class mgrPath
End Set End Set
End Property End Property
Public Shared Function ValidatePathForOS(ByVal sCheckString As String) As String Public Shared Function ValidatePath(ByVal sCheckString As String) As String
Dim cInvalidCharacters As Char() = Path.GetInvalidPathChars Dim cInvalidCharacters As Char() = {Chr(0), Chr(1), Chr(2), Chr(3), Chr(4), Chr(5), Chr(6), Chr(7), Chr(8), Chr(9), Chr(10), Chr(11), Chr(12), Chr(13), Chr(14), Chr(15),
Chr(16), Chr(17), Chr(18), Chr(19), Chr(20), Chr(21), Chr(22), Chr(23), Chr(24), Chr(25), Chr(26), Chr(27), Chr(28), Chr(29), Chr(30),
Chr(31), Chr(34), Chr(60), Chr(62), Chr(124)}
For Each c As Char In cInvalidCharacters For Each c As Char In cInvalidCharacters
sCheckString = sCheckString.Replace(c, "") sCheckString = sCheckString.Replace(c, "")
@@ -111,15 +113,17 @@ Public Class mgrPath
Return sCheckString.Trim Return sCheckString.Trim
End Function End Function
Public Shared Function ValidateFileNameForOS(ByVal sCheckString As String) As String Public Shared Function ValidateFileName(ByVal sCheckString As String) As String
Dim cInvalidCharacters As Char() = Path.GetInvalidFileNameChars Dim cInvalidCharacters As Char() = {Chr(0), Chr(1), Chr(2), Chr(3), Chr(4), Chr(5), Chr(6), Chr(7), Chr(8), Chr(9), Chr(10), Chr(11), Chr(12), Chr(13), Chr(14), Chr(15),
Chr(16), Chr(17), Chr(18), Chr(19), Chr(20), Chr(21), Chr(22), Chr(23), Chr(24), Chr(25), Chr(26), Chr(27), Chr(28), Chr(29), Chr(30),
Chr(31), Chr(34), Chr(42), Chr(47), Chr(58), Chr(60), Chr(62), Chr(63), Chr(92), Chr(124)}
For Each c As Char In cInvalidCharacters For Each c As Char In cInvalidCharacters
sCheckString = sCheckString.Replace(c, "") sCheckString = sCheckString.Replace(c, "")
Next Next
If sCheckString.Length > 257 Then If sCheckString.Length > 255 Then
sCheckString = sCheckString.Substring(0, 257) sCheckString = sCheckString.Substring(0, 255)
End If End If
Return sCheckString.Trim Return sCheckString.Trim
+3 -1
View File
@@ -76,7 +76,7 @@ Public Class mgrSQLite
"SuppressBackup BOOLEAN NOT NULL, SuppressBackupThreshold INTEGER NOT NULL, CompressionLevel INTEGER NOT NULL, Custom7zArguments TEXT, " & "SuppressBackup BOOLEAN NOT NULL, SuppressBackupThreshold INTEGER NOT NULL, CompressionLevel INTEGER NOT NULL, Custom7zArguments TEXT, " &
"Custom7zLocation TEXT, SyncFields INTEGER NOT NULL, AutoSaveLog BOOLEAN NOT NULL, AutoRestore BOOLEAN NOT NULL, AutoMark BOOLEAN NOT NULL, SessionTracking BOOLEAN NOT NULL, " & "Custom7zLocation TEXT, SyncFields INTEGER NOT NULL, AutoSaveLog BOOLEAN NOT NULL, AutoRestore BOOLEAN NOT NULL, AutoMark BOOLEAN NOT NULL, SessionTracking BOOLEAN NOT NULL, " &
"SuppressMessages INTEGER NOT NULL, BackupOnLaunch BOOLEAN NOT NULL, UseGameID BOOLEAN NOT NULL, DisableSyncMessages BOOLEAN NOT NULL, ShowResolvedPaths BOOLEAN NOT NULL, " & "SuppressMessages INTEGER NOT NULL, BackupOnLaunch BOOLEAN NOT NULL, UseGameID BOOLEAN NOT NULL, DisableSyncMessages BOOLEAN NOT NULL, ShowResolvedPaths BOOLEAN NOT NULL, " &
"DisableDiskSpaceCheck BOOLEAN NOT NULL);" "DisableDiskSpaceCheck BOOLEAN NOT NULL, ThemeSelection INTEGER NOT NULL, AutoHideLog BOOLEAN NOT NULL);"
'Add Tables (SavedPath) 'Add Tables (SavedPath)
sSql &= "CREATE TABLE savedpath (PathName TEXT NOT NULL PRIMARY KEY, Path TEXT NOT NULL);" sSql &= "CREATE TABLE savedpath (PathName TEXT NOT NULL PRIMARY KEY, Path TEXT NOT NULL);"
@@ -931,6 +931,8 @@ Public Class mgrSQLite
'Add new field(s) 'Add new field(s)
sSQL = "ALTER TABLE monitorlist ADD COLUMN OS INTEGER NOT NULL DEFAULT " & mgrCommon.GetCurrentOS & ";" sSQL = "ALTER TABLE monitorlist ADD COLUMN OS INTEGER NOT NULL DEFAULT " & mgrCommon.GetCurrentOS & ";"
sSQL &= "ALTER TABLE settings ADD COLUMN DisableDiskSpaceCheck BOOLEAN NOT NULL DEFAULT 0;" sSQL &= "ALTER TABLE settings ADD COLUMN DisableDiskSpaceCheck BOOLEAN NOT NULL DEFAULT 0;"
sSQL &= "ALTER TABLE settings ADD COLUMN ThemeSelection INTEGER NOT NULL DEFAULT 0;"
sSQL &= "ALTER TABLE settings ADD COLUMN AutoHideLog BOOLEAN NOT NULL DEFAULT 0;"
'Add Tables (Wine Data) 'Add Tables (Wine Data)
sSQL &= "CREATE TABLE winedata (MonitorID TEXT NOT NULL PRIMARY KEY, Prefix TEXT NOT NULL, SavePath TEXT NOT NULL, BinaryPath TEXT NOT NULL);" sSQL &= "CREATE TABLE winedata (MonitorID TEXT NOT NULL PRIMARY KEY, Prefix TEXT NOT NULL, SavePath TEXT NOT NULL, BinaryPath TEXT NOT NULL);"
+33 -4
View File
@@ -1,4 +1,5 @@
Imports System.IO Imports System.IO
Imports GBM.My.Resources
Public Class mgrSettings Public Class mgrSettings
Private bStartWithWindows As Boolean = False Private bStartWithWindows As Boolean = False
@@ -18,7 +19,7 @@ Public Class mgrSettings
Private iCompressionLevel As Integer = 5 Private iCompressionLevel As Integer = 5
Private s7zArguments As String = String.Empty Private s7zArguments As String = String.Empty
Private s7zLocation As String = String.Empty Private s7zLocation As String = String.Empty
Private sBackupFolder As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments).TrimEnd(New Char() {"\", "/"}) Private sBackupFolder As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & Path.DirectorySeparatorChar & App_NameLong
Private eSyncFields As clsGame.eOptionalSyncFields = clsGame.eOptionalSyncFields.None Private eSyncFields As clsGame.eOptionalSyncFields = clsGame.eOptionalSyncFields.None
Private eMessages As eSuppressMessages = eSuppressMessages.None Private eMessages As eSuppressMessages = eSuppressMessages.None
Private bAutoSaveLog As Boolean = False Private bAutoSaveLog As Boolean = False
@@ -27,10 +28,12 @@ Public Class mgrSettings
Private bDisableSyncMessages As Boolean = True Private bDisableSyncMessages As Boolean = True
Private bShowResolvedPaths As Boolean = True Private bShowResolvedPaths As Boolean = True
Private bDisableDiskSpaceCheck As Boolean = False Private bDisableDiskSpaceCheck As Boolean = False
Private eThemeSelection As mgrThemeEngine.eBaseTheme = mgrThemeEngine.eBaseTheme.Light
Private bAutoHideLog As Boolean = False
<Flags()> Public Enum eSuppressMessages <Flags()> Public Enum eSuppressMessages
None = 0 None = 0
Unused = 1 'Do not remove to maintain compatability, re-use for a future field. GameIDSync = 1
BackupImport = 2 BackupImport = 2
WinConfigsInLinux = 4 WinConfigsInLinux = 4
WineConfig = 16 WineConfig = 16
@@ -318,6 +321,29 @@ Public Class mgrSettings
End Set End Set
End Property End Property
Property ThemeSelection As mgrThemeEngine.eBaseTheme
Get
Return eThemeSelection
End Get
Set(value As mgrThemeEngine.eBaseTheme)
eThemeSelection = value
End Set
End Property
Property AutoHideLog As Boolean
Get
Return bAutoHideLog
End Get
Set(value As Boolean)
bAutoHideLog = value
End Set
End Property
Sub New()
'The GameIDsync message should be suppressed on all new databases
SuppressMessages = SetMessageField(SuppressMessages, eSuppressMessages.GameIDSync)
End Sub
Private Sub SaveFromClass() Private Sub SaveFromClass()
Dim oDatabase As New mgrSQLite(mgrSQLite.Database.Local) Dim oDatabase As New mgrSQLite(mgrSQLite.Database.Local)
Dim sSQL As String Dim sSQL As String
@@ -327,7 +353,7 @@ Public Class mgrSettings
sSQL &= "@CreateSubFolder, @ShowOverwriteWarning, @RestoreOnLaunch, @BackupFolder, @StartWithWindows, " sSQL &= "@CreateSubFolder, @ShowOverwriteWarning, @RestoreOnLaunch, @BackupFolder, @StartWithWindows, "
sSQL &= "@TimeTracking, @SuppressBackup, @SuppressBackupThreshold, @CompressionLevel, @Custom7zArguments, @Custom7zLocation, " sSQL &= "@TimeTracking, @SuppressBackup, @SuppressBackupThreshold, @CompressionLevel, @Custom7zArguments, @Custom7zLocation, "
sSQL &= "@SyncFields, @AutoSaveLog, @AutoRestore, @AutoMark, @SessionTracking, @SuppressMessages, @BackupOnLaunch, @UseGameID, " sSQL &= "@SyncFields, @AutoSaveLog, @AutoRestore, @AutoMark, @SessionTracking, @SuppressMessages, @BackupOnLaunch, @UseGameID, "
sSQL &= "@DisableSyncMessages, @ShowResolvedPaths, @DisableDiskSpaceCheck)" sSQL &= "@DisableSyncMessages, @ShowResolvedPaths, @DisableDiskSpaceCheck, @ThemeSelection, @AutoHideLog)"
hshParams.Add("MonitorOnStartup", MonitorOnStartup) hshParams.Add("MonitorOnStartup", MonitorOnStartup)
hshParams.Add("StartToTray", StartToTray) hshParams.Add("StartToTray", StartToTray)
@@ -355,7 +381,8 @@ Public Class mgrSettings
hshParams.Add("DisableSyncMessages", DisableSyncMessages) hshParams.Add("DisableSyncMessages", DisableSyncMessages)
hshParams.Add("ShowResolvedPaths", ShowResolvedPaths) hshParams.Add("ShowResolvedPaths", ShowResolvedPaths)
hshParams.Add("DisableDiskSpaceCheck", DisableDiskSpaceCheck) hshParams.Add("DisableDiskSpaceCheck", DisableDiskSpaceCheck)
hshParams.Add("ThemeSelection", ThemeSelection)
hshParams.Add("AutoHideLog", AutoHideLog)
oDatabase.RunParamQuery(sSQL, hshParams) oDatabase.RunParamQuery(sSQL, hshParams)
End Sub End Sub
@@ -396,6 +423,8 @@ Public Class mgrSettings
DisableSyncMessages = CBool(dr("DisableSyncMessages")) DisableSyncMessages = CBool(dr("DisableSyncMessages"))
ShowResolvedPaths = CBool(dr("ShowResolvedPaths")) ShowResolvedPaths = CBool(dr("ShowResolvedPaths"))
DisableDiskSpaceCheck = CBool(dr("DisableDiskSpaceCheck")) DisableDiskSpaceCheck = CBool(dr("DisableDiskSpaceCheck"))
ThemeSelection = CInt(dr("ThemeSelection"))
AutoHideLog = CBool(dr("AutoHideLog"))
Next Next
oDatabase.Disconnect() oDatabase.Disconnect()
+112
View File
@@ -0,0 +1,112 @@
Imports GBM.My.Resources
Public Class mgrThemeEngine
Private _ColorBase As Color
Public Property ColorBase() As Color
Get
If _ColorBase = Nothing Then
Throw New NullReferenceException
End If
Return _ColorBase
End Get
Private Set(ByVal value As Color)
_ColorBase = value
End Set
End Property
Private _ColorBaseSecondary As Color
Public Property ColorBaseSecondary() As Color
Get
If _ColorBaseSecondary = Nothing Then
Throw New NullReferenceException
End If
Return _ColorBaseSecondary
End Get
Private Set(ByVal value As Color)
_ColorBaseSecondary = value
End Set
End Property
Private _ColorHighlight As Color
Public Property ColorHighlight() As Color
Get
If _ColorHighlight = Nothing Then
Throw New NullReferenceException
End If
Return _ColorHighlight
End Get
Private Set(ByVal value As Color)
_ColorHighlight = value
End Set
End Property
Private _ColorHighlightSecondary As Color
Public Property ColorHighlightSecondary() As Color
Get
If _ColorHighlightSecondary = Nothing Then
Throw New NullReferenceException
End If
Return _ColorHighlightSecondary
End Get
Private Set(ByVal value As Color)
_ColorHighlightSecondary = value
End Set
End Property
Private _bThemeHasBeenDefined As Boolean
Public Property bThemeHasBeenDefined() As Boolean
Get
Return _bThemeHasBeenDefined
End Get
Private Set(ByVal value As Boolean)
_bThemeHasBeenDefined = value
End Set
End Property
''' <summary>
''' Supported themes.
''' </summary>
Public Enum eBaseTheme
Light = 0
Dark = 1
End Enum
''' <summary>
''' Configures the base colors for the overall theme based on input.
''' </summary>
''' <param name="_eBaseTheme"></param>
Public Sub SetTheme(_eBaseTheme As eBaseTheme)
Select Case _eBaseTheme
Case eBaseTheme.Dark
_ColorBase = New ColorConverter().ConvertFromString(
mgrThemeEngine_RGB_Dark_Base)
_ColorBaseSecondary = New ColorConverter().ConvertFromString(
mgrThemeEngine_RGB_Dark_BaseSecondary)
_ColorHighlight = New ColorConverter().ConvertFromString(
mgrThemeEngine_RGB_Dark_Highlight)
_ColorHighlightSecondary = New ColorConverter().ConvertFromString(
mgrThemeEngine_RGB_Dark_HighlightSecondary)
_bThemeHasBeenDefined = True
Case eBaseTheme.Light
_ColorBase = New ColorConverter().ConvertFromString(
mgrThemeEngine_RGB_Light_Base)
_ColorBaseSecondary = New ColorConverter().ConvertFromString(
mgrThemeEngine_RGB_Light_BaseSecondary)
_ColorHighlight = New ColorConverter().ConvertFromString(
mgrThemeEngine_RGB_Light_Highlight)
_ColorHighlightSecondary = New ColorConverter().ConvertFromString(
mgrThemeEngine_RGB_Light_HighlightSecondary)
_bThemeHasBeenDefined = True
End Select
End Sub
End Class
+3 -3
View File
@@ -14,7 +14,7 @@ Imports System.Runtime.InteropServices
<Assembly: AssemblyDescription("Game Backup Monitor")> <Assembly: AssemblyDescription("Game Backup Monitor")>
<Assembly: AssemblyCompany("Michael J. Seiferling")> <Assembly: AssemblyCompany("Michael J. Seiferling")>
<Assembly: AssemblyProduct("Game Backup Monitor")> <Assembly: AssemblyProduct("Game Backup Monitor")>
<Assembly: AssemblyCopyright("Copyright © 2018 Michael J. Seiferling")> <Assembly: AssemblyCopyright("© 2014 - 2019 Michael J. Seiferling and Game Backup Monitor contributors")>
<Assembly: AssemblyTrademark("")> <Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)> <Assembly: ComVisible(False)>
@@ -33,7 +33,7 @@ Imports System.Runtime.InteropServices
' by using the '*' as shown below: ' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.1.8.*")> <Assembly: AssemblyVersion("1.1.9.*")>
<Assembly: AssemblyFileVersion("1.1.8.0")> <Assembly: AssemblyFileVersion("1.1.9.0")>
<Assembly: NeutralResourcesLanguageAttribute("en")> <Assembly: NeutralResourcesLanguageAttribute("en")>
+153 -9
View File
@@ -79,7 +79,7 @@ Namespace My.Resources
End Property End Property
'''<summary> '''<summary>
''' Looks up a localized string similar to [PARAM] Michael J. Seiferling. ''' Looks up a localized string similar to 2014 - [PARAM] Michael J. Seiferling and Game Backup Monitor contributors.
'''</summary> '''</summary>
Friend ReadOnly Property App_Copyright() As String Friend ReadOnly Property App_Copyright() As String
Get Get
@@ -547,7 +547,7 @@ Namespace My.Resources
End Property End Property
'''<summary> '''<summary>
''' Looks up a localized string similar to Backup Limit. ''' Looks up a localized string similar to Backup Limit (0 = Unlimited).
'''</summary> '''</summary>
Friend ReadOnly Property frmAddWizard_lblLimit() As String Friend ReadOnly Property frmAddWizard_lblLimit() As String
Get Get
@@ -744,6 +744,15 @@ Namespace My.Resources
End Get End Get
End Property End Property
'''<summary>
''' Looks up a localized string similar to Unlimited.
'''</summary>
Friend ReadOnly Property frmAddWizard_Summary_NoLimit() As String
Get
Return ResourceManager.GetString("frmAddWizard_Summary_NoLimit", resourceCulture)
End Get
End Property
'''<summary> '''<summary>
''' Looks up a localized string similar to Process. ''' Looks up a localized string similar to Process.
'''</summary> '''</summary>
@@ -1654,11 +1663,11 @@ Namespace My.Resources
End Property End Property
'''<summary> '''<summary>
''' Looks up a localized string similar to &amp;Open Backup File. ''' Looks up a localized string similar to &amp;Open Backup.
'''</summary> '''</summary>
Friend ReadOnly Property frmGameManager_btnOpenBackupFile() As String Friend ReadOnly Property frmGameManager_btnOpenBackup() As String
Get Get
Return ResourceManager.GetString("frmGameManager_btnOpenBackupFile", resourceCulture) Return ResourceManager.GetString("frmGameManager_btnOpenBackup", resourceCulture)
End Get End Get
End Property End Property
@@ -1905,6 +1914,24 @@ Namespace My.Resources
End Get End Get
End Property End Property
'''<summary>
''' Looks up a localized string similar to &amp;File.
'''</summary>
Friend ReadOnly Property frmGameManager_cmsOpenBackupFile() As String
Get
Return ResourceManager.GetString("frmGameManager_cmsOpenBackupFile", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to F&amp;older.
'''</summary>
Friend ReadOnly Property frmGameManager_cmsOpenBackupFolder() As String
Get
Return ResourceManager.GetString("frmGameManager_cmsOpenBackupFolder", resourceCulture)
End Get
End Property
'''<summary> '''<summary>
''' Looks up a localized string similar to Are you sure you want to run a backup for [PARAM]? This will close the form.. ''' Looks up a localized string similar to Are you sure you want to run a backup for [PARAM]? This will close the form..
'''</summary> '''</summary>
@@ -2106,9 +2133,18 @@ Namespace My.Resources
'''<summary> '''<summary>
''' Looks up a localized string similar to The backup file does not exist.. ''' Looks up a localized string similar to The backup file does not exist..
'''</summary> '''</summary>
Friend ReadOnly Property frmGameManager_ErrorNoBackupExists() As String Friend ReadOnly Property frmGameManager_ErrorNoBackupFileExists() As String
Get Get
Return ResourceManager.GetString("frmGameManager_ErrorNoBackupExists", resourceCulture) Return ResourceManager.GetString("frmGameManager_ErrorNoBackupFileExists", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to The backup folder does not exist..
'''</summary>
Friend ReadOnly Property frmGameManager_ErrorNoBackupFolderExists() As String
Get
Return ResourceManager.GetString("frmGameManager_ErrorNoBackupFolderExists", resourceCulture)
End Get End Get
End Property End Property
@@ -2383,7 +2419,7 @@ Namespace My.Resources
End Property End Property
'''<summary> '''<summary>
''' Looks up a localized string similar to Backup Limit. ''' Looks up a localized string similar to Backup Limit (0 = Unlimited).
'''</summary> '''</summary>
Friend ReadOnly Property frmGameManager_lblLimit() As String Friend ReadOnly Property frmGameManager_lblLimit() As String
Get Get
@@ -4695,6 +4731,24 @@ Namespace My.Resources
End Get End Get
End Property End Property
'''<summary>
''' Looks up a localized string similar to Dark.
'''</summary>
Friend ReadOnly Property frmSettings_cboThemeSelection_Dark() As String
Get
Return ResourceManager.GetString("frmSettings_cboThemeSelection_Dark", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Light.
'''</summary>
Friend ReadOnly Property frmSettings_cboThemeSelection_Light() As String
Get
Return ResourceManager.GetString("frmSettings_cboThemeSelection_Light", resourceCulture)
End Get
End Property
'''<summary> '''<summary>
''' Looks up a localized string similar to Automatically mark new backups as restored when appropriate. ''' Looks up a localized string similar to Automatically mark new backups as restored when appropriate.
'''</summary> '''</summary>
@@ -5082,6 +5136,15 @@ Namespace My.Resources
End Get End Get
End Property End Property
'''<summary>
''' Looks up a localized string similar to Interface.
'''</summary>
Friend ReadOnly Property frmSettings_lstSettings_Interface() As String
Get
Return ResourceManager.GetString("frmSettings_lstSettings_Interface", resourceCulture)
End Get
End Property
'''<summary> '''<summary>
''' Looks up a localized string similar to Startup. ''' Looks up a localized string similar to Startup.
'''</summary> '''</summary>
@@ -5227,7 +5290,7 @@ Namespace My.Resources
End Property End Property
'''<summary> '''<summary>
''' Looks up a localized string similar to The folder you selected does not exist or is not a valid folder.. ''' Looks up a localized string similar to The selected backup location does not exist and could not be created.[BR][BR][PARAM].
'''</summary> '''</summary>
Friend ReadOnly Property frmStartUpWizard_ErrorNoFolderExists() As String Friend ReadOnly Property frmStartUpWizard_ErrorNoFolderExists() As String
Get Get
@@ -5307,6 +5370,15 @@ Namespace My.Resources
End Get End Get
End Property End Property
'''<summary>
''' Looks up a localized string similar to You cannot return to this step after clicking Next. The Backup Location can be changed any time once Setup is complete..
'''</summary>
Friend ReadOnly Property frmStartUpWizard_lblStep2Warning() As String
Get
Return ResourceManager.GetString("frmStartUpWizard_lblStep2Warning", resourceCulture)
End Get
End Property
'''<summary> '''<summary>
''' Looks up a localized string similar to Before you can start monitoring for games, they need to be configured so GBM knows what to look for and how to handle them. You can download pre-made configurations from the official list or add them all yourself using the tools below. You can also skip this step for now!. ''' Looks up a localized string similar to Before you can start monitoring for games, they need to be configured so GBM knows what to look for and how to handle them. You can download pre-made configurations from the official list or add them all yourself using the tools below. You can also skip this step for now!.
'''</summary> '''</summary>
@@ -6844,6 +6916,78 @@ Namespace My.Resources
End Get End Get
End Property End Property
'''<summary>
''' Looks up a localized string similar to 25,25,25.
'''</summary>
Friend ReadOnly Property mgrThemeEngine_RGB_Dark_Base() As String
Get
Return ResourceManager.GetString("mgrThemeEngine_RGB_Dark_Base", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to 0,0,0.
'''</summary>
Friend ReadOnly Property mgrThemeEngine_RGB_Dark_BaseSecondary() As String
Get
Return ResourceManager.GetString("mgrThemeEngine_RGB_Dark_BaseSecondary", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to 255,255,255.
'''</summary>
Friend ReadOnly Property mgrThemeEngine_RGB_Dark_Highlight() As String
Get
Return ResourceManager.GetString("mgrThemeEngine_RGB_Dark_Highlight", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to 0,131,255.
'''</summary>
Friend ReadOnly Property mgrThemeEngine_RGB_Dark_HighlightSecondary() As String
Get
Return ResourceManager.GetString("mgrThemeEngine_RGB_Dark_HighlightSecondary", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to 240,240,240.
'''</summary>
Friend ReadOnly Property mgrThemeEngine_RGB_Light_Base() As String
Get
Return ResourceManager.GetString("mgrThemeEngine_RGB_Light_Base", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to 255,255,255.
'''</summary>
Friend ReadOnly Property mgrThemeEngine_RGB_Light_BaseSecondary() As String
Get
Return ResourceManager.GetString("mgrThemeEngine_RGB_Light_BaseSecondary", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to 0,0,0.
'''</summary>
Friend ReadOnly Property mgrThemeEngine_RGB_Light_Highlight() As String
Get
Return ResourceManager.GetString("mgrThemeEngine_RGB_Light_Highlight", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to 0,0,0.
'''</summary>
Friend ReadOnly Property mgrThemeEngine_RGB_Light_HighlightSecondary() As String
Get
Return ResourceManager.GetString("mgrThemeEngine_RGB_Light_HighlightSecondary", resourceCulture)
End Get
End Property
'''<summary> '''<summary>
''' Looks up a localized string similar to An error occured exporting the XML data.[BR][BR][PARAM]. ''' Looks up a localized string similar to An error occured exporting the XML data.[BR][BR][PARAM].
'''</summary> '''</summary>
+55 -7
View File
@@ -137,7 +137,7 @@
<value>This will rebuild all databases and shrink them to an optimal size.[BR]This should only be used if your gbm.s3db files are becoming very large.[BR][BR]Do you wish to continue?</value> <value>This will rebuild all databases and shrink them to an optimal size.[BR]This should only be used if your gbm.s3db files are becoming very large.[BR][BR]Do you wish to continue?</value>
</data> </data>
<data name="App_Copyright" xml:space="preserve"> <data name="App_Copyright" xml:space="preserve">
<value>[PARAM] Michael J. Seiferling</value> <value> 2014 - [PARAM] Michael J. Seiferling and Game Backup Monitor contributors</value>
</data> </data>
<data name="frmMain_Exit" xml:space="preserve"> <data name="frmMain_Exit" xml:space="preserve">
<value>Are you sure you want to exit? Your games will no longer be monitored.</value> <value>Are you sure you want to exit? Your games will no longer be monitored.</value>
@@ -460,8 +460,8 @@
<data name="frmGameManager_btnMarkAsRestored" xml:space="preserve"> <data name="frmGameManager_btnMarkAsRestored" xml:space="preserve">
<value>&amp;Mark as Restored</value> <value>&amp;Mark as Restored</value>
</data> </data>
<data name="frmGameManager_btnOpenBackupFile" xml:space="preserve"> <data name="frmGameManager_btnOpenBackup" xml:space="preserve">
<value>&amp;Open Backup File</value> <value>&amp;Open Backup</value>
</data> </data>
<data name="frmGameManager_btnOpenRestorePath" xml:space="preserve"> <data name="frmGameManager_btnOpenRestorePath" xml:space="preserve">
<value>O&amp;pen Restore Path</value> <value>O&amp;pen Restore Path</value>
@@ -553,7 +553,7 @@
<data name="frmGameManager_ErrorNoBackupData" xml:space="preserve"> <data name="frmGameManager_ErrorNoBackupData" xml:space="preserve">
<value>The selected game(s) have no backup data or can't be restored with their current configuration.</value> <value>The selected game(s) have no backup data or can't be restored with their current configuration.</value>
</data> </data>
<data name="frmGameManager_ErrorNoBackupExists" xml:space="preserve"> <data name="frmGameManager_ErrorNoBackupFileExists" xml:space="preserve">
<value>The backup file does not exist.</value> <value>The backup file does not exist.</value>
</data> </data>
<data name="frmGameManager_ErrorNoItems" xml:space="preserve"> <data name="frmGameManager_ErrorNoItems" xml:space="preserve">
@@ -1136,7 +1136,7 @@
<value>You must select a backup path to continue.</value> <value>You must select a backup path to continue.</value>
</data> </data>
<data name="frmStartUpWizard_ErrorNoFolderExists" xml:space="preserve"> <data name="frmStartUpWizard_ErrorNoFolderExists" xml:space="preserve">
<value>The folder you selected does not exist or is not a valid folder.</value> <value>The selected backup location does not exist and could not be created.[BR][BR][PARAM]</value>
</data> </data>
<data name="frmStartUpWizard_ExistingData" xml:space="preserve"> <data name="frmStartUpWizard_ExistingData" xml:space="preserve">
<value>Existing data was detected in the backup folder and has been imported.</value> <value>Existing data was detected in the backup folder and has been imported.</value>
@@ -1682,7 +1682,7 @@
<value>You cannot choose a file located outside the current [PARAM] backup folder.</value> <value>You cannot choose a file located outside the current [PARAM] backup folder.</value>
</data> </data>
<data name="frmGameManager_lblLimit" xml:space="preserve"> <data name="frmGameManager_lblLimit" xml:space="preserve">
<value>Backup Limit</value> <value>Backup Limit (0 = Unlimited)</value>
</data> </data>
<data name="mgrBackup_BackupLimitExceeded" xml:space="preserve"> <data name="mgrBackup_BackupLimitExceeded" xml:space="preserve">
<value>[PARAM] was automatically removed.</value> <value>[PARAM] was automatically removed.</value>
@@ -1697,7 +1697,7 @@
<value>This will delete all backup files for [PARAM]. This cannot be undone. [BR][BR]Do you want to continue?</value> <value>This will delete all backup files for [PARAM]. This cannot be undone. [BR][BR]Do you want to continue?</value>
</data> </data>
<data name="frmAddWizard_lblLimit" xml:space="preserve"> <data name="frmAddWizard_lblLimit" xml:space="preserve">
<value>Backup Limit</value> <value>Backup Limit (0 = Unlimited)</value>
</data> </data>
<data name="frmGameManager_Unknown" xml:space="preserve"> <data name="frmGameManager_Unknown" xml:space="preserve">
<value>Unknown</value> <value>Unknown</value>
@@ -2374,10 +2374,58 @@
<data name="frmChooseGame_ColumnName" xml:space="preserve"> <data name="frmChooseGame_ColumnName" xml:space="preserve">
<value>Name</value> <value>Name</value>
</data> </data>
<data name="mgrThemeEngine_RGB_Dark_BaseSecondary" xml:space="preserve">
<value>0,0,0</value>
</data>
<data name="frmChooseGame_ColumnTags" xml:space="preserve"> <data name="frmChooseGame_ColumnTags" xml:space="preserve">
<value>Tags</value> <value>Tags</value>
</data> </data>
<data name="mgrThemeEngine_RGB_Dark_HighlightSecondary" xml:space="preserve">
<value>0,131,255</value>
</data>
<data name="mgrThemeEngine_RGB_Dark_Base" xml:space="preserve">
<value>25,25,25</value>
</data>
<data name="mgrThemeEngine_RGB_Dark_Highlight" xml:space="preserve">
<value>255,255,255</value>
</data>
<data name="mgrThemeEngine_RGB_Light_Base" xml:space="preserve">
<value>240,240,240</value>
</data>
<data name="mgrThemeEngine_RGB_Light_BaseSecondary" xml:space="preserve">
<value>255,255,255</value>
</data>
<data name="mgrThemeEngine_RGB_Light_Highlight" xml:space="preserve">
<value>0,0,0</value>
</data>
<data name="mgrThemeEngine_RGB_Light_HighlightSecondary" xml:space="preserve">
<value>0,0,0</value>
</data>
<data name="frmSettings_lstSettings_Interface" xml:space="preserve">
<value>Interface</value>
</data>
<data name="frmSettings_cboThemeSelection_Dark" xml:space="preserve">
<value>Dark</value>
</data>
<data name="frmSettings_cboThemeSelection_Light" xml:space="preserve">
<value>Light</value>
</data>
<data name="GBM_Icon" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="GBM_Icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\resources\gbm.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\resources\gbm.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="frmGameManager_cmsOpenBackupFile" xml:space="preserve">
<value>&amp;File</value>
</data>
<data name="frmGameManager_cmsOpenBackupFolder" xml:space="preserve">
<value>F&amp;older</value>
</data>
<data name="frmGameManager_ErrorNoBackupFolderExists" xml:space="preserve">
<value>The backup folder does not exist.</value>
</data>
<data name="frmAddWizard_Summary_NoLimit" xml:space="preserve">
<value>Unlimited</value>
</data>
<data name="frmStartUpWizard_lblStep2Warning" xml:space="preserve">
<value>You cannot return to this step after clicking Next. The Backup Location can be changed any time once Setup is complete.</value>
</data>
</root> </root>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 184 KiB

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 KiB

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 183 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 926 B

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 891 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 545 B

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 KiB

After

Width:  |  Height:  |  Size: 91 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 358 KiB

After

Width:  |  Height:  |  Size: 91 KiB

+17 -41
View File
@@ -1,52 +1,28 @@
Game Backup Monitor v1.1.8 Readme Game Backup Monitor v1.1.9 Readme
http://mikemaximus.github.io/gbm-web/ http://mikemaximus.github.io/gbm-web/
gamebackupmonitor@gmail.com gamebackupmonitor@gmail.com
March 22, 2019 June 7, 2019
New in 1.1.8 New in 1.1.9
All Platforms: All Platforms:
- Added the ability to backup and restore saved games that are stored in the Windows registry: - Fixed a bug on the Game Manager that caused the "Save Entire Folder" checkbox to be unchecked anytime the "Save Path" field was changed.
- This feature is also supported in Linux for Windows games running in Wine/Proton. - The "Add Game Wizard" now allows you to set an unlimited number of backups.
- Please see the online manual for more details on how to use this feature. - The "Backup Limit" label has been updated to indicate that 0 means unlimited.
- On startup, GBM now waits up to one minute for the current backup location to become available before displaying an error message. - The "Open Backup File" button on the Game Manager is now called "Open Backup". It now gives a choice between opening the backup file or the folder containing the file.
- The error message can now be canceled to continue waiting. - Set rules are now used for backup folder and file names, regardless of the operating system GBM is running on.
- This is useful for delayed network shares on startup or if you forgot to plug in an external backup drive. - GBM now always filters out NTFS reserved characters and allows a maximum file name length of 255.
- The "Choose Game" window now displays tags in addition to the game name when multiple configurations are detected. - This will prevent various problems when using a backup drive with a non-standard file system in Linux or Windows.
- The "Backup Confirmation" window should now always get top focus after a gaming session ends. - These rules will be applied to new backup files or folders, existing backups not be modified.
- This fix has also been applied to other important messages to make sure they don't get hidden behind other windows. - Made improvements to the Start-Up Wizard.
- The Game Manager and Custom Variable Manager now use a different folder browser where applicable. - The default backup location now includes a "Game Backup Monitor" sub-folder.
- The new browser provides better usability for power users, other areas of the app will still use the classic folder browser. - The wizard will now automatically create the backup location if it doesn't exist.
- The new browser allows Linux users to "Show Hidden Folders", which can't be done using the classic Folder Browser. - You can no longer attempt to Import Backup Files during the Start-Up Wizard.
- When a UNC path is used for the backup folder, the disk space check prior to backups will be automatically disabled because it cannot be done.
- The disk space check prior to backups can now be disabled in the "Backup and Restore" settings.
- Added "Operating System" field to game configurations:
- "Windows" and "Linux" are the only valid choices at this time and only Linux users are allowed to change this field.
- Changed how GBM initilizes on startup to fix some long standing issues.
- Fixed some inconsistencies with form icons and when forms are shown in the task bar.
- GBM no longer provides a warning about "Syncing Game IDs" when importing configurations in the Game Manager.
- The warning was very confusing and is no longer relevant to most users.
- The "Sync Game IDs" Tool will continue to be available for now, but the messaging has been changed warning not to use it without reading the manual first.
Windows:
- Updated SQLite to 3.27.2
- Updated 7-Zip to 19.00
Linux: Linux:
- You can now set GBM to automatically start on log-in via the "Startup" settings. - Fixed a bug that caused the "Available Disk Space" check to fail if the backup folder contained one or more spaces.
- This requires that GBM be installed via a package manager or the makefile, so any required files are in a known location. The option will be disabled otherwise.
- The "Start Minimized" option is now available in "Startup" settings.
- GBM now stores all Wine configuration data seperately from the core game configuration:
- The core configuration is no longer altered in any way when a game is detected running in Wine or Proton.
- The Wine configuration data is now automatically updated each time a game is detected, such as when running the game from a new prefix.
- This data can be viewed and manually modified on the Game Manager.
- Fixed the handling of Wine/Proton games when multiple configurations are detected.
- Fixed a crash when using "Backup Only" and "New Backups Pending" filters on the Game Manager.
- The Mono and GBM process will now exit cleanly if a critical error occurs during startup.
- GBM will no longer show the exit dialog when a critical error occurs.
The entire version history of GBM releases is available at http://mikemaximus.github.io/gbm-web/versionhistory.html The entire version history of GBM releases is available at http://mikemaximus.github.io/gbm-web/versionhistory.html
+23 -2
View File
@@ -1,27 +1,48 @@
Microsoft Visual Studio Solution File, Format Version 12.00 Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Express 14 for Windows Desktop # Visual Studio Version 16
VisualStudioVersion = 14.0.23107.0 VisualStudioVersion = 16.0.28803.156
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Game Backup Monitor", "GBM\Game Backup Monitor.vbproj", "{729EC23B-F5F3-464A-B357-F235362CB8C5}" Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Game Backup Monitor", "GBM\Game Backup Monitor.vbproj", "{729EC23B-F5F3-464A-B357-F235362CB8C5}"
EndProject EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Auto Updater", "Auto Updater\Auto Updater.vbproj", "{C80205A3-10E1-4C93-9BCC-609DA2A6F6AD}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64 Debug|x64 = Debug|x64
Debug|x86 = Debug|x86 Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64 Release|x64 = Release|x64
Release|x86 = Release|x86 Release|x86 = Release|x86
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{729EC23B-F5F3-464A-B357-F235362CB8C5}.Debug|Any CPU.ActiveCfg = Debug|x86
{729EC23B-F5F3-464A-B357-F235362CB8C5}.Debug|x64.ActiveCfg = Debug|x64 {729EC23B-F5F3-464A-B357-F235362CB8C5}.Debug|x64.ActiveCfg = Debug|x64
{729EC23B-F5F3-464A-B357-F235362CB8C5}.Debug|x64.Build.0 = Debug|x64 {729EC23B-F5F3-464A-B357-F235362CB8C5}.Debug|x64.Build.0 = Debug|x64
{729EC23B-F5F3-464A-B357-F235362CB8C5}.Debug|x86.ActiveCfg = Debug|x86 {729EC23B-F5F3-464A-B357-F235362CB8C5}.Debug|x86.ActiveCfg = Debug|x86
{729EC23B-F5F3-464A-B357-F235362CB8C5}.Debug|x86.Build.0 = Debug|x86 {729EC23B-F5F3-464A-B357-F235362CB8C5}.Debug|x86.Build.0 = Debug|x86
{729EC23B-F5F3-464A-B357-F235362CB8C5}.Release|Any CPU.ActiveCfg = Release|x86
{729EC23B-F5F3-464A-B357-F235362CB8C5}.Release|x64.ActiveCfg = Release|x64 {729EC23B-F5F3-464A-B357-F235362CB8C5}.Release|x64.ActiveCfg = Release|x64
{729EC23B-F5F3-464A-B357-F235362CB8C5}.Release|x64.Build.0 = Release|x64 {729EC23B-F5F3-464A-B357-F235362CB8C5}.Release|x64.Build.0 = Release|x64
{729EC23B-F5F3-464A-B357-F235362CB8C5}.Release|x86.ActiveCfg = Release|x86 {729EC23B-F5F3-464A-B357-F235362CB8C5}.Release|x86.ActiveCfg = Release|x86
{729EC23B-F5F3-464A-B357-F235362CB8C5}.Release|x86.Build.0 = Release|x86 {729EC23B-F5F3-464A-B357-F235362CB8C5}.Release|x86.Build.0 = Release|x86
{C80205A3-10E1-4C93-9BCC-609DA2A6F6AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C80205A3-10E1-4C93-9BCC-609DA2A6F6AD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C80205A3-10E1-4C93-9BCC-609DA2A6F6AD}.Debug|x64.ActiveCfg = Debug|Any CPU
{C80205A3-10E1-4C93-9BCC-609DA2A6F6AD}.Debug|x64.Build.0 = Debug|Any CPU
{C80205A3-10E1-4C93-9BCC-609DA2A6F6AD}.Debug|x86.ActiveCfg = Debug|Any CPU
{C80205A3-10E1-4C93-9BCC-609DA2A6F6AD}.Debug|x86.Build.0 = Debug|Any CPU
{C80205A3-10E1-4C93-9BCC-609DA2A6F6AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C80205A3-10E1-4C93-9BCC-609DA2A6F6AD}.Release|Any CPU.Build.0 = Release|Any CPU
{C80205A3-10E1-4C93-9BCC-609DA2A6F6AD}.Release|x64.ActiveCfg = Release|Any CPU
{C80205A3-10E1-4C93-9BCC-609DA2A6F6AD}.Release|x64.Build.0 = Release|Any CPU
{C80205A3-10E1-4C93-9BCC-609DA2A6F6AD}.Release|x86.ActiveCfg = Release|Any CPU
{C80205A3-10E1-4C93-9BCC-609DA2A6F6AD}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
EndGlobalSection EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {0A063D64-F16B-484E-B1DA-9A36DA8FEAA7}
EndGlobalSection
EndGlobal EndGlobal
+9 -1
View File
@@ -1,6 +1,14 @@
***dunestorm333:*** My branch simply contains an updated icon set, I plan to make a couple other UI changes in the future.
# [Game Backup Monitor](http://mikemaximus.github.io/gbm-web/) # [Game Backup Monitor](http://mikemaximus.github.io/gbm-web/)
![Screenshot](http://mikemaximus.github.io/gbm-web/images/manual/manual_01.jpg) Light Theme:
![Screenshot](https://i.imgur.com/VgREJks.png)
Dark Theme:
![Screnshot](https://i.imgur.com/worTQ3W.png)
Game Backup Monitor is a simple, but flexible application that detects games as you play them. Once you finish playing a game, a backup of the saved games will be made automatically using 7-Zip compression. GBM can be used on a single computer, or on multiple computers to effectively add cloud support to any game or application. Game Backup Monitor is a simple, but flexible application that detects games as you play them. Once you finish playing a game, a backup of the saved games will be made automatically using 7-Zip compression. GBM can be used on a single computer, or on multiple computers to effectively add cloud support to any game or application.
+1
View File
@@ -0,0 +1 @@
theme: jekyll-theme-cayman