Ignore:
Timestamp:
Mar 29, 2018, 10:11:06 AM (6 years ago)
Author:
chronos
Message:
  • Modified: Update Common package.
  • Added: Support for color theme.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • ProjectTemplates/FileMenuProject/UCore.pas

    r499 r507  
    88  Classes, SysUtils, FileUtil, Controls, ActnList, Forms, Dialogs,
    99  ULastOpenedList, UApplicationInfo, UPersistentForm, UScaleDPI, UCommon,
    10   UCoolTranslator, UDataFile, Menus, URegistry, Registry;
     10  UCoolTranslator, UDataFile, Menus, URegistry, UTheme, Registry;
    1111
    1212type
     
    3434    SaveDialog1: TSaveDialog;
    3535    ScaleDPI1: TScaleDPI;
     36    ThemeManager1: TThemeManager;
    3637    procedure AAboutExecute(Sender: TObject);
    3738    procedure AExitExecute(Sender: TObject);
     
    5758  public
    5859    DataFile: TDataFile;
     60    DataFileClass: TDataFileClass;
     61
    5962    FileClosed: Boolean;
    6063    ReopenLastFileOnStart: Boolean;
     
    6467    procedure FileClose;
    6568    procedure Initialize;
     69    procedure Finalize;
    6670    procedure UpdateInterface;
    6771  end;
     
    130134
    131135procedure TCore.AFileOpenExecute(Sender: TObject);
     136var
     137  TempFile: TDataFile;
    132138begin
    133139  OpenDialog1.DefaultExt := '';
     140  TempFile := DataFileClass.Create;
     141  try
     142    OpenDialog1.Filter := TempFile.GetFileDialogFilter;
     143    OpenDialog1.DefaultExt := TempFile.GetFileExt;
     144  finally
     145    TempFile.Free;
     146  end;
    134147  if Assigned(DataFile) then begin
    135148    OpenDialog1.InitialDir := ExtractFileDir(DataFile.FileName);
     
    153166  SaveDialog1.InitialDir := ExtractFileDir(DataFile.FileName);
    154167  SaveDialog1.FileName := ExtractFileName(DataFile.FileName);
     168  SaveDialog1.Filter := DataFile.GetFileDialogFilter;
    155169  if SaveDialog1.Execute then begin
    156170    DataFile.SaveToFile(SaveDialog1.FileName);
     
    173187  DataFile := nil;
    174188  FileClosed := True;
     189  DataFileClass := TDataFile;
    175190end;
    176191
    177192procedure TCore.DataModuleDestroy(Sender: TObject);
    178193begin
    179   SaveConfig;
    180194end;
    181195
     
    255269    FormMain.MenuItemToolbar.Checked := ReadBoolWithDefault('ToolBarVisible', True);
    256270    ReopenLastFileOnStart := ReadBoolWithDefault('ReopenLastFileOnStart', True);
     271    ThemeManager1.Theme := ThemeManager1.Themes.FindByName(ReadStringWithDefault('Theme', 'System'));
    257272  finally
    258273    Free;
     
    273288    WriteBool('ToolBarVisible', FormMain.MenuItemToolbar.Checked);
    274289    WriteBool('ReopenLastFileOnStart', ReopenLastFileOnStart);
     290    WriteString('Theme', ThemeManager1.Theme.Name);
    275291  finally
    276292    Free;
     
    311327end;
    312328
     329procedure TCore.Finalize;
     330begin
     331  SaveConfig;
     332end;
     333
    313334function TCore.FindFirstNonOption: string;
    314335var
Note: See TracChangeset for help on using the changeset viewer.