@@ -495,6 +495,7 @@ TMainForm = class(THelpAwareForm)
495495 // / position is permitted and blocks the move if not.</summary>
496496 procedure splitVertCanResize (Sender: TObject; var NewSize: Integer;
497497 var Accept: Boolean);
498+ procedure ActNonEmptyUserDBUpdate (Sender: TObject);
498499 strict private
499500 var
500501 // / <summary>Object that notifies user-initiated events by triggering
@@ -621,7 +622,10 @@ procedure TMainForm.actAddSnippetExecute(Sender: TObject);
621622
622623procedure TMainForm.actBackupDatabaseExecute (Sender: TObject);
623624begin
625+ if (Database as IDatabaseEdit).Updated then
626+ TUserDBMgr.Save(Self);
624627 TUserDBMgr.BackupDatabase(Self);
628+ fStatusBarMgr.Update;
625629end ;
626630
627631procedure TMainForm.actBugReportExecute (Sender: TObject);
@@ -721,8 +725,13 @@ procedure TMainForm.actDeleteSnippetExecute(Sender: TObject);
721725
722726procedure TMainForm.actDeleteUserDatabaseExecute (Sender: TObject);
723727begin
728+ if (Database as IDatabaseEdit).Updated then
729+ TUserDBMgr.Save(Self);
724730 if TUserDBMgr.DeleteDatabase then
731+ begin
725732 ReloadDatabase;
733+ fStatusBarMgr.Update;
734+ end ;
726735end ;
727736
728737procedure TMainForm.actDuplicateSnippetExecute (Sender: TObject);
@@ -902,6 +911,8 @@ procedure TMainForm.actLoadSelectionExecute(Sender: TObject);
902911
903912procedure TMainForm.actMoveUserDatabaseExecute (Sender: TObject);
904913begin
914+ if (Database as IDatabaseEdit).Updated then
915+ TUserDBMgr.Save(Self);
905916 TUserDBMgr.MoveDatabase;
906917end ;
907918
@@ -920,6 +931,11 @@ procedure TMainForm.ActNonEmptyDBUpdate(Sender: TObject);
920931 (Sender as TAction).Enabled := not Database.Snippets.IsEmpty;
921932end ;
922933
934+ procedure TMainForm.ActNonEmptyUserDBUpdate (Sender: TObject);
935+ begin
936+ (Sender as TAction).Enabled := not Database.Snippets.IsEmpty(True);
937+ end ;
938+
923939procedure TMainForm.ActOverviewTabExecute (Sender: TObject);
924940begin
925941 // Action's Tag property specifies index of tab being selected
@@ -979,7 +995,10 @@ procedure TMainForm.actRenameCategoryUpdate(Sender: TObject);
979995procedure TMainForm.actRestoreDatabaseExecute (Sender: TObject);
980996begin
981997 if TUserDBMgr.RestoreDatabase(Self) then
998+ begin
982999 ReloadDatabase;
1000+ fStatusBarMgr.Update;
1001+ end ;
9831002end ;
9841003
9851004procedure TMainForm.actSaveDatabaseExecute (Sender: TObject);
0 commit comments