ソースを参照

Make cover changes take effect immediately

- Book dialog Save sets ModalResult=mrOK; Cancel sets mrCancel\n- Ensure scaled cover and invalidate cover control after saving\n- Prevent SetFile from overriding a manually chosen cover
Codex CLI 4 ヶ月 前
コミット
ecfe81b77d
2 ファイル変更5 行追加3 行削除
  1. 3 0
      src/book.pas
  2. 2 3
      src/unitbookdialog.pas

+ 3 - 0
src/book.pas

@@ -97,7 +97,10 @@ begin
     try
       dlg.LoadBook(Self);
       if dlg.ShowModal = mrOK then
+      begin
         EnsureScaledToCoverSize;
+        if Assigned(mCover) then mCover.Invalidate;
+      end;
     finally
       dlg.Free;
     end;

+ 2 - 3
src/unitbookdialog.pas

@@ -264,13 +264,12 @@ begin
 
   // Ensure UI reflects any new cover choice
   mBook.EnsureScaledToCoverSize;
-
-  Close;
+  ModalResult := mrOK;
 End;
 
 procedure Tbookeditdialog.Buttoncancelclick(Sender: Tobject);
 begin
-  Close;
+  ModalResult := mrCancel;
 End;
 
 procedure Tbookeditdialog.Loadbook(Book: Tbook);