Browse Source

Choosing right color for background of calculated checksum on Properties dialog

Source commit: 90a99a56093bf7f64310d6797326de730f43afc0
Martin Prikryl 7 years ago
parent
commit
c3407e7112
3 changed files with 14 additions and 4 deletions
  1. 6 4
      source/forms/Properties.cpp
  2. 7 0
      source/forms/Properties.dfm
  3. 1 0
      source/forms/Properties.h

+ 6 - 4
source/forms/Properties.cpp

@@ -71,6 +71,8 @@ __fastcall TPropertiesDialog::TPropertiesDialog(TComponent* AOwner,
   FUserList = UserList;
   FChecksumAlgs = ChecksumAlgs;
 
+  ReadOnlyControl(ChecksumEdit);
+  ChecksumUnknownLabel->Caption = LoadStr(PROPERTIES_CHECKSUM_UNKNOWN);
   LoadInfo();
 
   UseSystemSettings(this);
@@ -553,9 +555,8 @@ void __fastcall TPropertiesDialog::UpdateControls()
   EnableControl(ChecksumSheet, ChecksumSupported());
   EnableControl(ChecksumButton, ChecksumSheet->Enabled &&
     !ChecksumAlgEdit->Text.IsEmpty());
-  // hide checksum edit at least if it is disabled to get rid of ugly
-  // visage on XP
-  ChecksumEdit->Visible = ChecksumEdit->Enabled;
+  ChecksumEdit->Visible = !ChecksumEdit->Text.IsEmpty();
+  ChecksumUnknownLabel->Visible = !ChecksumEdit->Visible;
 
   DefaultButton(ChecksumButton, ChecksumAlgEdit->Focused());
   DefaultButton(OkButton, !ChecksumAlgEdit->Focused());
@@ -603,7 +604,7 @@ void __fastcall TPropertiesDialog::HelpButtonClick(TObject * /*Sender*/)
 void __fastcall TPropertiesDialog::ResetChecksum()
 {
   ChecksumView->Items->Clear();
-  ChecksumEdit->Text = LoadStr(PROPERTIES_CHECKSUM_UNKNOWN);
+  ChecksumEdit->Text = UnicodeString();
   AutoSizeListColumnsWidth(ChecksumView);
 }
 //---------------------------------------------------------------------------
@@ -661,6 +662,7 @@ void __fastcall TPropertiesDialog::CalculatedChecksum(
     ChecksumEdit->Text = Hash;
   }
   FAlgUsed = Alg;
+  UpdateControls();
 }
 //---------------------------------------------------------------------------
 void __fastcall TPropertiesDialog::NeedChecksum()

+ 7 - 0
source/forms/Properties.dfm

@@ -308,6 +308,13 @@ object PropertiesDialog: TPropertiesDialog
         DesignSize = (
           326
           41)
+        object ChecksumUnknownLabel: TLabel
+          Left = 10
+          Top = 18
+          Width = 117
+          Height = 13
+          Caption = 'ChecksumUnknownLabel'
+        end
         object ChecksumEdit: TEdit
           Left = 10
           Top = 18

+ 1 - 0
source/forms/Properties.h

@@ -57,6 +57,7 @@ __published:
   TEdit *ChecksumEdit;
   TPopupMenu *ListViewMenu;
   TMenuItem *Copy;
+  TLabel *ChecksumUnknownLabel;
   void __fastcall ControlChange(TObject *Sender);
   void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
   void __fastcall CalculateSizeButtonClick(TObject *Sender);