From 5ee55ef2ef27fd5f6882cabd62d069a407d365ca Mon Sep 17 00:00:00 2001 From: "Michael J. Seiferling" Date: Wed, 27 Feb 2019 19:39:05 -0600 Subject: [PATCH] Added setting to disable disk space check and text updates for #178 --- GBM/Forms/frmSettings.Designer.vb | 67 +++++++++++++++++----------- GBM/Forms/frmSettings.vb | 29 ++++++------ GBM/Managers/mgrBackup.vb | 8 ++-- GBM/Managers/mgrSQLite.vb | 5 ++- GBM/Managers/mgrSettings.vb | 14 +++++- GBM/My Project/Resources.Designer.vb | 33 +++++++++----- GBM/My Project/Resources.resx | 11 +++-- 7 files changed, 104 insertions(+), 63 deletions(-) diff --git a/GBM/Forms/frmSettings.Designer.vb b/GBM/Forms/frmSettings.Designer.vb index cdb6c0d..17af7cb 100644 --- a/GBM/Forms/frmSettings.Designer.vb +++ b/GBM/Forms/frmSettings.Designer.vb @@ -71,9 +71,10 @@ Partial Class frmSettings Me.pnlStartup = New System.Windows.Forms.Panel() Me.grpStartup = New System.Windows.Forms.GroupBox() Me.chkBackupOnLaunch = New System.Windows.Forms.CheckBox() - Me.chkStartWindows = New System.Windows.Forms.CheckBox() - Me.chkStartToTray = New System.Windows.Forms.CheckBox() + Me.chkAutoStart = New System.Windows.Forms.CheckBox() + Me.chkStartMinimized = New System.Windows.Forms.CheckBox() Me.chkMonitorOnStartup = New System.Windows.Forms.CheckBox() + Me.chkDisableDiskSpaceCheck = New System.Windows.Forms.CheckBox() Me.grpFolderOptions.SuspendLayout() Me.grp7zGeneral.SuspendLayout() Me.pnlBackup.SuspendLayout() @@ -318,11 +319,12 @@ Partial Class frmSettings ' 'grpBackupConfirmations ' + Me.grpBackupConfirmations.Controls.Add(Me.chkDisableDiskSpaceCheck) Me.grpBackupConfirmations.Controls.Add(Me.chkBackupConfirm) Me.grpBackupConfirmations.Controls.Add(Me.chkOverwriteWarning) Me.grpBackupConfirmations.Location = New System.Drawing.Point(6, 200) Me.grpBackupConfirmations.Name = "grpBackupConfirmations" - Me.grpBackupConfirmations.Size = New System.Drawing.Size(354, 65) + Me.grpBackupConfirmations.Size = New System.Drawing.Size(354, 90) Me.grpBackupConfirmations.TabIndex = 2 Me.grpBackupConfirmations.TabStop = False Me.grpBackupConfirmations.Text = "Backup Confirmations" @@ -340,10 +342,10 @@ Partial Class frmSettings 'chkOverwriteWarning ' Me.chkOverwriteWarning.AutoSize = True - Me.chkOverwriteWarning.Location = New System.Drawing.Point(9, 41) + Me.chkOverwriteWarning.Location = New System.Drawing.Point(9, 64) Me.chkOverwriteWarning.Name = "chkOverwriteWarning" Me.chkOverwriteWarning.Size = New System.Drawing.Size(139, 17) - Me.chkOverwriteWarning.TabIndex = 1 + Me.chkOverwriteWarning.TabIndex = 2 Me.chkOverwriteWarning.Text = "Show overwrite warning" Me.chkOverwriteWarning.UseVisualStyleBackColor = True ' @@ -560,8 +562,8 @@ Partial Class frmSettings 'grpStartup ' Me.grpStartup.Controls.Add(Me.chkBackupOnLaunch) - Me.grpStartup.Controls.Add(Me.chkStartWindows) - Me.grpStartup.Controls.Add(Me.chkStartToTray) + Me.grpStartup.Controls.Add(Me.chkAutoStart) + Me.grpStartup.Controls.Add(Me.chkStartMinimized) Me.grpStartup.Controls.Add(Me.chkMonitorOnStartup) Me.grpStartup.Location = New System.Drawing.Point(6, 12) Me.grpStartup.Name = "grpStartup" @@ -580,25 +582,25 @@ Partial Class frmSettings Me.chkBackupOnLaunch.Text = "Backup GBM data files on launch" Me.chkBackupOnLaunch.UseVisualStyleBackColor = True ' - 'chkStartWindows + 'chkAutoStart ' - Me.chkStartWindows.AutoSize = True - Me.chkStartWindows.Location = New System.Drawing.Point(6, 19) - Me.chkStartWindows.Name = "chkStartWindows" - Me.chkStartWindows.Size = New System.Drawing.Size(117, 17) - Me.chkStartWindows.TabIndex = 0 - Me.chkStartWindows.Text = "Start with Windows" - Me.chkStartWindows.UseVisualStyleBackColor = True + Me.chkAutoStart.AutoSize = True + Me.chkAutoStart.Location = New System.Drawing.Point(6, 19) + Me.chkAutoStart.Name = "chkAutoStart" + Me.chkAutoStart.Size = New System.Drawing.Size(155, 17) + Me.chkAutoStart.TabIndex = 0 + Me.chkAutoStart.Text = "Start automatically on log-in" + Me.chkAutoStart.UseVisualStyleBackColor = True ' - 'chkStartToTray + 'chkStartMinimized ' - Me.chkStartToTray.AutoSize = True - Me.chkStartToTray.Location = New System.Drawing.Point(6, 42) - Me.chkStartToTray.Name = "chkStartToTray" - Me.chkStartToTray.Size = New System.Drawing.Size(115, 17) - Me.chkStartToTray.TabIndex = 1 - Me.chkStartToTray.Text = "Start to system tray" - Me.chkStartToTray.UseVisualStyleBackColor = True + Me.chkStartMinimized.AutoSize = True + Me.chkStartMinimized.Location = New System.Drawing.Point(6, 42) + Me.chkStartMinimized.Name = "chkStartMinimized" + Me.chkStartMinimized.Size = New System.Drawing.Size(96, 17) + Me.chkStartMinimized.TabIndex = 1 + Me.chkStartMinimized.Text = "Start minimized" + Me.chkStartMinimized.UseVisualStyleBackColor = True ' 'chkMonitorOnStartup ' @@ -610,15 +612,25 @@ Partial Class frmSettings Me.chkMonitorOnStartup.Text = "Start monitoring on launch" Me.chkMonitorOnStartup.UseVisualStyleBackColor = True ' + 'chkDisableDiskSpaceCheck + ' + Me.chkDisableDiskSpaceCheck.AutoSize = True + Me.chkDisableDiskSpaceCheck.Location = New System.Drawing.Point(9, 41) + Me.chkDisableDiskSpaceCheck.Name = "chkDisableDiskSpaceCheck" + Me.chkDisableDiskSpaceCheck.Size = New System.Drawing.Size(222, 17) + Me.chkDisableDiskSpaceCheck.TabIndex = 1 + Me.chkDisableDiskSpaceCheck.Text = "Disable disk space check prior to backup" + Me.chkDisableDiskSpaceCheck.UseVisualStyleBackColor = True + ' 'frmSettings ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(554, 361) - Me.Controls.Add(Me.pnlGeneral) Me.Controls.Add(Me.pnlStartup) - Me.Controls.Add(Me.pnl7z) Me.Controls.Add(Me.pnlBackup) + Me.Controls.Add(Me.pnlGeneral) + Me.Controls.Add(Me.pnl7z) Me.Controls.Add(Me.btnResetMessages) Me.Controls.Add(Me.lstSettings) Me.Controls.Add(Me.btnDefaults) @@ -706,9 +718,10 @@ Partial Class frmSettings Friend WithEvents pnlStartup As Panel Friend WithEvents grpStartup As GroupBox Friend WithEvents chkBackupOnLaunch As CheckBox - Friend WithEvents chkStartWindows As CheckBox - Friend WithEvents chkStartToTray As CheckBox + Friend WithEvents chkAutoStart As CheckBox + Friend WithEvents chkStartMinimized As CheckBox Friend WithEvents chkMonitorOnStartup As CheckBox Friend WithEvents grpGameMonitoringOptions As GroupBox Friend WithEvents chkShowResolvedPaths As CheckBox + Friend WithEvents chkDisableDiskSpaceCheck As CheckBox End Class diff --git a/GBM/Forms/frmSettings.vb b/GBM/Forms/frmSettings.vb index 49a0443..f2cd1a4 100644 --- a/GBM/Forms/frmSettings.vb +++ b/GBM/Forms/frmSettings.vb @@ -35,23 +35,24 @@ Public Class frmSettings Private Function ValidateSettings() As Boolean 'Show Start with Windows warning if running as admin - If chkStartWindows.Checked And mgrCommon.IsElevated Then + If chkAutoStart.Checked And mgrCommon.IsElevated Then mgrCommon.ShowMessage(frmSettings_WarningAdminStart, MsgBoxStyle.Exclamation) End If 'Only modify registry key when the value changed - If chkStartWindows.Checked <> oSettings.StartWithWindows Then - HandleRegistryUpdate(chkStartWindows.Checked) + If chkAutoStart.Checked <> oSettings.StartWithWindows Then + HandleRegistryUpdate(chkAutoStart.Checked) End If - oSettings.StartWithWindows = chkStartWindows.Checked + oSettings.StartWithWindows = chkAutoStart.Checked oSettings.MonitorOnStartup = chkMonitorOnStartup.Checked - oSettings.StartToTray = chkStartToTray.Checked + oSettings.StartToTray = chkStartMinimized.Checked oSettings.BackupOnLaunch = chkBackupOnLaunch.Checked oSettings.ShowDetectionToolTips = chkShowDetectionTips.Checked oSettings.DisableSyncMessages = chkDisableSyncMessages.Checked oSettings.AutoSaveLog = chkAutoSaveLog.Checked oSettings.DisableConfirmation = chkBackupConfirm.Checked + oSettings.DisableDiskSpaceCheck = chkDisableDiskSpaceCheck.Checked oSettings.CreateSubFolder = chkCreateFolder.Checked oSettings.UseGameID = chkUseGameID.Checked oSettings.ShowOverwriteWarning = chkOverwriteWarning.Checked @@ -173,14 +174,15 @@ Public Class frmSettings End Sub Private Sub LoadSettings() - chkStartWindows.Checked = oSettings.StartWithWindows + chkAutoStart.Checked = oSettings.StartWithWindows chkMonitorOnStartup.Checked = oSettings.MonitorOnStartup - chkStartToTray.Checked = oSettings.StartToTray + chkStartMinimized.Checked = oSettings.StartToTray chkBackupOnLaunch.Checked = oSettings.BackupOnLaunch chkShowDetectionTips.Checked = oSettings.ShowDetectionToolTips chkDisableSyncMessages.Checked = oSettings.DisableSyncMessages chkAutoSaveLog.Checked = oSettings.AutoSaveLog chkBackupConfirm.Checked = oSettings.DisableConfirmation + chkDisableDiskSpaceCheck.Checked = oSettings.DisableDiskSpaceCheck chkCreateFolder.Checked = oSettings.CreateSubFolder chkUseGameID.Checked = oSettings.UseGameID chkOverwriteWarning.Checked = oSettings.ShowOverwriteWarning @@ -201,8 +203,8 @@ Public Class frmSettings 'Unix Handler If mgrCommon.IsUnix Then - chkStartToTray.Checked = False - chkStartWindows.Checked = False + chkStartMinimized.Checked = False + chkAutoStart.Checked = False End If 'Retrieve 7z Info @@ -305,10 +307,10 @@ Public Class frmSettings grpGameData.Text = frmSettings_grpGameData chkTimeTracking.Text = frmSettings_chkTimeTracking chkSessionTracking.Text = frmSettings_chkSessionTracking - chkStartWindows.Text = frmSettings_chkStartWindows + chkAutoStart.Text = frmSettings_chkAutoStart chkShowDetectionTips.Text = frmSettings_chkShowDetectionTips chkAutoSaveLog.Text = frmSettings_chkAutoSaveLog - chkStartToTray.Text = frmSettings_chkStartToTray + chkStartMinimized.Text = frmSettings_chkStartMinimized chkMonitorOnStartup.Text = frmSettings_chkMonitorOnStartup grp7zGeneral.Text = frmSettings_grp7zGeneral grp7zAdvanced.Text = frmSettings_grp7zAdvanced @@ -325,11 +327,12 @@ Public Class frmSettings chkDisableSyncMessages.Text = frmSettings_chkDisableSyncMessages grpGameMonitoringOptions.Text = frmSettings_grpGameMonitoringOptions chkShowResolvedPaths.Text = frmSettings_chkShowResolvedPaths + chkDisableDiskSpaceCheck.Text = frmSettings_chkDisableDiskSpaceCheck 'Unix Handler If mgrCommon.IsUnix Then - chkStartToTray.Enabled = False - chkStartWindows.Enabled = False + chkStartMinimized.Enabled = False + chkAutoStart.Enabled = False End If 'Handle Panels diff --git a/GBM/Managers/mgrBackup.vb b/GBM/Managers/mgrBackup.vb index fd52f59..511e5cf 100644 --- a/GBM/Managers/mgrBackup.vb +++ b/GBM/Managers/mgrBackup.vb @@ -127,8 +127,8 @@ Public Class mgrBackup 'Verify saved game path sSavePath = VerifySavePath(oGame) - 'When the backup folder is using a UNC path, skip the disk space check because we can't do it properly. - If Not mgrPath.IsPathUNC(oSettings.BackupFolder) Then + 'Check if disk space check should be disabled (UNC path or Setting) + If Not mgrPath.IsPathUNC(oSettings.BackupFolder) And Not Settings.DisableDiskSpaceCheck Then 'Calculate space lAvailableSpace = mgrCommon.GetAvailableDiskSpace(oSettings.BackupFolder) @@ -158,8 +158,8 @@ Public Class mgrBackup End If End If Else - 'Show that disk space check was skipped - RaiseEvent UpdateLog(mgrBackup_ErrorBackupPathIsUNC, False, ToolTipIcon.Info, True) + 'Show that disk space check was skipped due to UNC path + If Not Settings.DisableDiskSpaceCheck Then RaiseEvent UpdateLog(mgrBackup_ErrorBackupPathIsUNC, False, ToolTipIcon.Info, True) End If 'A manifest check is only required when "Save Multiple Backups" is disabled diff --git a/GBM/Managers/mgrSQLite.vb b/GBM/Managers/mgrSQLite.vb index 4ae6e63..3fbb0e7 100644 --- a/GBM/Managers/mgrSQLite.vb +++ b/GBM/Managers/mgrSQLite.vb @@ -75,8 +75,8 @@ Public Class mgrSQLite "BackupFolder TEXT NOT NULL, StartWithWindows BOOLEAN NOT NULL, TimeTracking BOOLEAN NOT NULL, " & "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, " & - "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);" 'Add Tables (SavedPath) sSql &= "CREATE TABLE savedpath (PathName TEXT NOT NULL PRIMARY KEY, Path TEXT NOT NULL);" @@ -930,6 +930,7 @@ Public Class mgrSQLite 'Add new field(s) 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;" '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);" diff --git a/GBM/Managers/mgrSettings.vb b/GBM/Managers/mgrSettings.vb index 8e3c596..de5f9ff 100644 --- a/GBM/Managers/mgrSettings.vb +++ b/GBM/Managers/mgrSettings.vb @@ -26,6 +26,7 @@ Public Class mgrSettings Private bUseGameID As Boolean = False Private bDisableSyncMessages As Boolean = True Private bShowResolvedPaths As Boolean = True + Private bDisableDiskSpaceCheck As Boolean = False Public Enum eSuppressMessages None = 0 @@ -308,6 +309,15 @@ Public Class mgrSettings End Set End Property + Property DisableDiskSpaceCheck As Boolean + Get + Return bDisableDiskSpaceCheck + End Get + Set(value As Boolean) + bDisableDiskSpaceCheck = value + End Set + End Property + Sub New() 'The GameIDsync message should be suppressed on all new databases SuppressMessages = SetMessageField(SuppressMessages, eSuppressMessages.GameIDSync) @@ -322,7 +332,7 @@ Public Class mgrSettings sSQL &= "@CreateSubFolder, @ShowOverwriteWarning, @RestoreOnLaunch, @BackupFolder, @StartWithWindows, " sSQL &= "@TimeTracking, @SuppressBackup, @SuppressBackupThreshold, @CompressionLevel, @Custom7zArguments, @Custom7zLocation, " sSQL &= "@SyncFields, @AutoSaveLog, @AutoRestore, @AutoMark, @SessionTracking, @SuppressMessages, @BackupOnLaunch, @UseGameID, " - sSQL &= "@DisableSyncMessages, @ShowResolvedPaths)" + sSQL &= "@DisableSyncMessages, @ShowResolvedPaths, @DisableDiskSpaceCheck)" hshParams.Add("MonitorOnStartup", MonitorOnStartup) hshParams.Add("StartToTray", StartToTray) @@ -349,6 +359,7 @@ Public Class mgrSettings hshParams.Add("UseGameID", UseGameID) hshParams.Add("DisableSyncMessages", DisableSyncMessages) hshParams.Add("ShowResolvedPaths", ShowResolvedPaths) + hshParams.Add("DisableDiskSpaceCheck", DisableDiskSpaceCheck) oDatabase.RunParamQuery(sSQL, hshParams) End Sub @@ -389,6 +400,7 @@ Public Class mgrSettings UseGameID = CBool(dr("UseGameID")) DisableSyncMessages = CBool(dr("DisableSyncMessages")) ShowResolvedPaths = CBool(dr("ShowResolvedPaths")) + DisableDiskSpaceCheck = CBool(dr("DisableDiskSpaceCheck")) Next oDatabase.Disconnect() diff --git a/GBM/My Project/Resources.Designer.vb b/GBM/My Project/Resources.Designer.vb index 5b0a353..d2684a1 100644 --- a/GBM/My Project/Resources.Designer.vb +++ b/GBM/My Project/Resources.Designer.vb @@ -4686,6 +4686,15 @@ Namespace My.Resources End Get End Property + ''' + ''' Looks up a localized string similar to Start automatically on log-in. + ''' + Friend ReadOnly Property frmSettings_chkAutoStart() As String + Get + Return ResourceManager.GetString("frmSettings_chkAutoStart", resourceCulture) + End Get + End Property + ''' ''' Looks up a localized string similar to Disable backup confirmation. ''' @@ -4713,6 +4722,15 @@ Namespace My.Resources End Get End Property + ''' + ''' Looks up a localized string similar to Disable disk space check prior to backup. + ''' + Friend ReadOnly Property frmSettings_chkDisableDiskSpaceCheck() As String + Get + Return ResourceManager.GetString("frmSettings_chkDisableDiskSpaceCheck", resourceCulture) + End Get + End Property + ''' ''' Looks up a localized string similar to Disable sync event messages. ''' @@ -4777,20 +4795,11 @@ Namespace My.Resources End Property ''' - ''' Looks up a localized string similar to Start to system tray. + ''' Looks up a localized string similar to Start minimized. ''' - Friend ReadOnly Property frmSettings_chkStartToTray() As String + Friend ReadOnly Property frmSettings_chkStartMinimized() As String Get - Return ResourceManager.GetString("frmSettings_chkStartToTray", resourceCulture) - End Get - End Property - - ''' - ''' Looks up a localized string similar to Start with Windows. - ''' - Friend ReadOnly Property frmSettings_chkStartWindows() As String - Get - Return ResourceManager.GetString("frmSettings_chkStartWindows", resourceCulture) + Return ResourceManager.GetString("frmSettings_chkStartMinimized", resourceCulture) End Get End Property diff --git a/GBM/My Project/Resources.resx b/GBM/My Project/Resources.resx index 0e28fb3..a1873cb 100644 --- a/GBM/My Project/Resources.resx +++ b/GBM/My Project/Resources.resx @@ -1069,11 +1069,11 @@ Show detection notifications - - Start to system tray + + Start minimized - - Start with Windows + + Start automatically on log-in Ignore sessions shorter than @@ -2338,4 +2338,7 @@ The backup folder is a UNC path. The disk space check has been skipped. + + Disable disk space check prior to backup + \ No newline at end of file