Changeset 243


Ignore:
Timestamp:
Sep 21, 2018, 2:09:10 PM (6 years ago)
Author:
chronos
Message:
  • Added: Support for color themes.
  • Added: Remember dimensions for more forms.
Location:
trunk
Files:
25 edited

Legend:

Unmodified
Added
Removed
  • trunk/Forms/UFormAbout.pas

    r115 r243  
    4949procedure TFormAbout.FormShow(Sender: TObject);
    5050begin
     51  Core.ThemeManager1.UseTheme(Self);
    5152  with Core do begin
    5253    LabelAppName.Caption := ApplicationInfo.AppName;
  • trunk/Forms/UFormCharts.pas

    r231 r243  
    5959begin
    6060  Core.PersistentForm.Load(Self);
     61  Core.ThemeManager1.UseTheme(Self);
    6162  Redraw;
    6263  Translate;
  • trunk/Forms/UFormChat.pas

    r212 r243  
    5353procedure TFormChat.FormShow(Sender: TObject);
    5454begin
    55 
     55  Core.ThemeManager1.UseTheme(Self);
    5656end;
    5757
  • trunk/Forms/UFormClient.pas

    r241 r243  
    498498  LoadConfig(Core.XMLConfig1, 'FormClient');
    499499  Core.PersistentForm.Load(Self);
     500  Core.ThemeManager1.UseTheme(Self);
    500501  UpdateInterface;
    501502  Redraw;
  • trunk/Forms/UFormHelp.lfm

    r135 r243  
    99  Constraints.MinHeight = 223
    1010  Constraints.MinWidth = 424
     11  DesignTimePPI = 120
     12  OnClose = FormClose
    1113  OnCreate = FormCreate
     14  OnShow = FormShow
    1215  Position = poMainFormCenter
    13   LCLVersion = '1.6.4.0'
     16  LCLVersion = '1.8.2.0'
    1417  object Memo1: TMemo
    1518    Left = 6
  • trunk/Forms/UFormHelp.pas

    r136 r243  
    1414  TFormHelp = class(TForm)
    1515    Memo1: TMemo;
     16    procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
    1617    procedure FormCreate(Sender: TObject);
     18    procedure FormShow(Sender: TObject);
    1719  private
    1820    { private declarations }
     
    6264end;
    6365
     66procedure TFormHelp.FormClose(Sender: TObject; var CloseAction: TCloseAction);
     67begin
     68  Core.PersistentForm.Save(Self);
     69end;
     70
     71procedure TFormHelp.FormShow(Sender: TObject);
     72begin
     73  Core.PersistentForm.Load(Self);
     74  Core.ThemeManager1.UseTheme(Self);
     75end;
     76
    6477end.
    6578
  • trunk/Forms/UFormKeyShortcuts.pas

    r206 r243  
    4343begin
    4444  Core.PersistentForm.Load(Self);
     45  Core.ThemeManager1.UseTheme(Self);
    4546  try
    4647    ListView1.BeginUpdate;
  • trunk/Forms/UFormMain.lfm

    r227 r243  
    55  Width = 775
    66  Caption = 'xTactics'
    7   ClientHeight = 587
     7  ClientHeight = 596
    88  ClientWidth = 775
    9   DesignTimePPI = 144
     9  DesignTimePPI = 120
    1010  Menu = MainMenu1
    1111  OnActivate = FormActivate
     
    1515  OnKeyUp = FormKeyUp
    1616  OnShow = FormShow
    17   LCLVersion = '1.8.4.0'
     17  LCLVersion = '1.8.2.0'
    1818  WindowState = wsMaximized
    1919  object ToolBar1: TToolBar
     
    7979  object PanelMain: TPanel
    8080    Left = 0
    81     Height = 547
     81    Height = 556
    8282    Top = 40
    8383    Width = 775
  • trunk/Forms/UFormMain.pas

    r227 r243  
    213213  Core.ScaleDPI;
    214214  Core.PersistentForm.Load(Self, True);
     215  Core.ThemeManager1.UseTheme(Self);
    215216  Core.Init;
    216217  LoadConfig(Core.XMLConfig1, 'FormMain');
  • trunk/Forms/UFormMove.lfm

    r189 r243  
    1010  Constraints.MinHeight = 257
    1111  Constraints.MinWidth = 367
     12  DesignTimePPI = 120
     13  OnClose = FormClose
    1214  OnCreate = FormCreate
    1315  OnKeyPress = FormKeyPress
    1416  OnShow = FormShow
    1517  Position = poMainFormCenter
    16   LCLVersion = '1.8.0.4'
     18  LCLVersion = '1.8.2.0'
    1719  object SpinEditOnce: TSpinEdit
    1820    Left = 208
    19     Height = 36
     21    Height = 28
    2022    Top = 40
    2123    Width = 98
     
    2628  object Label1: TLabel
    2729    Left = 16
    28     Height = 26
     30    Height = 20
    2931    Top = 40
    30     Width = 49
     32    Width = 37
    3133    Caption = 'Once:'
    3234    ParentColor = False
     
    5355  object Label2: TLabel
    5456    Left = 24
    55     Height = 26
     57    Height = 20
    5658    Top = 136
    57     Width = 91
     59    Width = 68
    5860    Caption = 'Every turn:'
    5961    ParentColor = False
     
    6163  object SpinEditRepeat: TSpinEdit
    6264    Left = 208
    63     Height = 36
     65    Height = 28
    6466    Top = 128
    6567    Width = 98
     
    134136  object Label3: TLabel
    135137    Left = 16
    136     Height = 26
     138    Height = 20
    137139    Top = 8
    138     Width = 135
     140    Width = 106
    139141    Caption = 'Win probability:'
    140142    ParentColor = False
     
    142144  object LabelWinProbability: TLabel
    143145    Left = 264
    144     Height = 26
     146    Height = 20
    145147    Top = 8
    146     Width = 15
     148    Width = 12
    147149    Caption = '   '
    148150    ParentColor = False
  • trunk/Forms/UFormMove.pas

    r189 r243  
    3030    procedure ButtonOnceMaxClick(Sender: TObject);
    3131    procedure ButtonRepeatMinClick(Sender: TObject);
     32    procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
    3233    procedure FormCreate(Sender: TObject);
    3334    procedure ButtonOnceMinClick(Sender: TObject);
     
    9091procedure TFormMove.FormShow(Sender: TObject);
    9192begin
     93  Core.PersistentForm.Load(Self);
     94  Core.ThemeManager1.UseTheme(Self);
    9295  if SpinEditOnce.MaxValue < SpinEditOnce.Value then begin
    9396    SpinEditOnce.Enabled := False;
     
    112115begin
    113116  TrackBarRepeat.Position := TrackBarRepeat.Min;
     117end;
     118
     119procedure TFormMove.FormClose(Sender: TObject; var CloseAction: TCloseAction);
     120begin
     121  Core.PersistentForm.Save(Self);
    114122end;
    115123
  • trunk/Forms/UFormNew.lfm

    r229 r243  
    2121    Top = 4
    2222    Width = 749
    23     ActivePage = TabSheetMap
     23    ActivePage = TabSheetRules
    2424    Align = alClient
    2525    BorderSpacing.Around = 4
    26     TabIndex = 2
     26    TabIndex = 3
    2727    TabOrder = 0
    2828    object TabSheetMode: TTabSheet
     
    3030      ClientHeight = 662
    3131      ClientWidth = 741
    32       object RadioButtonModeLocal: TRadioButton
    33         Left = 10
    34         Height = 24
    35         Top = 14
    36         Width = 59
    37         Caption = 'Local'
    38         Checked = True
    39         OnChange = RadioButtonModeLocalChange
     32      object Panel3: TPanel
     33        Left = 0
     34        Height = 662
     35        Top = 0
     36        Width = 741
     37        Align = alClient
     38        BevelOuter = bvNone
     39        ClientHeight = 662
     40        ClientWidth = 741
    4041        TabOrder = 0
    41         TabStop = True
    42       end
    43       object RadioButtonModeNetworkServer: TRadioButton
    44         Left = 10
    45         Height = 24
    46         Top = 48
    47         Width = 123
    48         Caption = 'Network server'
    49         OnChange = RadioButtonModeLocalChange
    50         TabOrder = 1
    51       end
    52       object RadioButtonModeNetworkClient: TRadioButton
    53         Left = 10
    54         Height = 24
    55         Top = 152
    56         Width = 120
    57         Caption = 'Network client'
    58         OnChange = RadioButtonModeLocalChange
    59         TabOrder = 2
    60       end
    61       object EditServerAddress: TEdit
    62         Left = 24
    63         Height = 28
    64         Top = 112
    65         Width = 220
    66         TabOrder = 3
    67       end
    68       object SpinEditServerPort: TSpinEdit
    69         Left = 256
    70         Height = 28
    71         Top = 112
    72         Width = 79
    73         MaxValue = 65535
    74         TabOrder = 4
    75       end
    76       object Label11: TLabel
    77         Left = 256
    78         Height = 20
    79         Top = 88
    80         Width = 30
    81         Caption = 'Port:'
    82         ParentColor = False
    83       end
    84       object Label12: TLabel
    85         Left = 24
    86         Height = 20
    87         Top = 88
    88         Width = 56
    89         Caption = 'Address:'
    90         ParentColor = False
    91       end
    92       object ListViewServers: TListView
    93         Left = 26
    94         Height = 430
    95         Top = 181
    96         Width = 334
    97         Anchors = [akTop, akLeft, akBottom]
    98         Columns = <       
    99           item
    100             Caption = 'Name'
    101             Width = 100
    102           end       
    103           item
    104             Caption = 'Address'
    105             Width = 214
    106           end>
    107         MultiSelect = True
    108         OwnerData = True
    109         PopupMenu = PopupMenuServers
    110         ReadOnly = True
    111         RowSelect = True
    112         TabOrder = 5
    113         ViewStyle = vsReport
    114         OnData = ListViewServersData
    115         OnDblClick = AServerModifyExecute
    116         OnKeyPress = ListViewServersKeyPress
    117         OnSelectItem = ListViewServersSelectItem
    118       end
    119       object Button1: TButton
    120         Left = 27
    121         Height = 31
    122         Top = 623
    123         Width = 94
    124         Action = AServerAdd
    125         Anchors = [akLeft, akBottom]
    126         TabOrder = 6
    127       end
    128       object Button2: TButton
    129         Left = 240
    130         Height = 31
    131         Top = 623
    132         Width = 94
    133         Action = AServerRemove
    134         Anchors = [akLeft, akBottom]
    135         TabOrder = 7
    136       end
    137       object Button3: TButton
    138         Left = 136
    139         Height = 30
    140         Top = 623
    141         Width = 94
    142         Action = AServerModify
    143         Anchors = [akLeft, akBottom]
    144         TabOrder = 8
     42        object RadioButtonModeLocal: TRadioButton
     43          Left = 10
     44          Height = 24
     45          Top = 14
     46          Width = 59
     47          Caption = 'Local'
     48          Checked = True
     49          OnChange = RadioButtonModeLocalChange
     50          TabOrder = 0
     51          TabStop = True
     52        end
     53        object RadioButtonModeNetworkServer: TRadioButton
     54          Left = 10
     55          Height = 24
     56          Top = 48
     57          Width = 123
     58          Caption = 'Network server'
     59          OnChange = RadioButtonModeLocalChange
     60          TabOrder = 1
     61        end
     62        object RadioButtonModeNetworkClient: TRadioButton
     63          Left = 10
     64          Height = 24
     65          Top = 152
     66          Width = 120
     67          Caption = 'Network client'
     68          OnChange = RadioButtonModeLocalChange
     69          TabOrder = 2
     70        end
     71        object EditServerAddress: TEdit
     72          Left = 24
     73          Height = 28
     74          Top = 112
     75          Width = 220
     76          TabOrder = 3
     77        end
     78        object SpinEditServerPort: TSpinEdit
     79          Left = 256
     80          Height = 28
     81          Top = 112
     82          Width = 79
     83          MaxValue = 65535
     84          TabOrder = 4
     85        end
     86        object Label11: TLabel
     87          Left = 256
     88          Height = 20
     89          Top = 88
     90          Width = 30
     91          Caption = 'Port:'
     92          ParentColor = False
     93        end
     94        object Label12: TLabel
     95          Left = 24
     96          Height = 20
     97          Top = 88
     98          Width = 56
     99          Caption = 'Address:'
     100          ParentColor = False
     101        end
     102        object ListViewServers: TListView
     103          Left = 26
     104          Height = 430
     105          Top = 181
     106          Width = 334
     107          Anchors = [akTop, akLeft, akBottom]
     108          Columns = <         
     109            item
     110              Caption = 'Name'
     111              Width = 100
     112            end         
     113            item
     114              Caption = 'Address'
     115              Width = 214
     116            end>
     117          MultiSelect = True
     118          OwnerData = True
     119          ReadOnly = True
     120          RowSelect = True
     121          TabOrder = 5
     122          ViewStyle = vsReport
     123          OnData = ListViewServersData
     124          OnDblClick = AServerModifyExecute
     125          OnKeyPress = ListViewServersKeyPress
     126          OnSelectItem = ListViewServersSelectItem
     127        end
     128        object Button1: TButton
     129          Left = 27
     130          Height = 31
     131          Top = 623
     132          Width = 94
     133          Anchors = [akLeft, akBottom]
     134          Caption = 'Add'
     135          TabOrder = 6
     136        end
     137        object Button2: TButton
     138          Left = 240
     139          Height = 31
     140          Top = 623
     141          Width = 94
     142          Anchors = [akLeft, akBottom]
     143          Caption = 'Remove'
     144          TabOrder = 7
     145        end
     146        object Button3: TButton
     147          Left = 136
     148          Height = 30
     149          Top = 623
     150          Width = 94
     151          Anchors = [akLeft, akBottom]
     152          Caption = 'Modify'
     153          TabOrder = 8
     154        end
    145155      end
    146156    end
     
    149159      ClientHeight = 662
    150160      ClientWidth = 741
    151       object ListViewPlayers: TListView
    152         Left = 4
    153         Height = 612
    154         Top = 4
    155         Width = 733
    156         Align = alTop
    157         Anchors = [akTop, akLeft, akRight, akBottom]
    158         BorderSpacing.Around = 4
    159         Columns = <       
    160           item
    161             Caption = 'Name'
    162             Width = 200
    163           end       
    164           item
    165             Caption = 'Type'
    166             Width = 100
    167           end       
    168           item
    169             Caption = 'Color'
    170             Width = 100
    171           end       
    172           item
    173             Caption = 'Start units'
    174             Width = 790
    175           end>
    176         MultiSelect = True
    177         OwnerData = True
    178         PopupMenu = PopupMenuPlayers
    179         ReadOnly = True
    180         RowSelect = True
     161      object Panel2: TPanel
     162        Left = 0
     163        Height = 662
     164        Top = 0
     165        Width = 741
     166        Align = alClient
     167        BevelOuter = bvNone
     168        ClientHeight = 662
     169        ClientWidth = 741
    181170        TabOrder = 0
    182         ViewStyle = vsReport
    183         OnCustomDrawSubItem = ListViewPlayersCustomDrawSubItem
    184         OnData = ListViewPlayersData
    185         OnDblClick = ListViewPlayersDblClick
    186         OnKeyPress = ListViewPlayersKeyPress
    187         OnKeyUp = ListViewPlayersKeyUp
    188         OnSelectItem = ListViewPlayersSelectItem
    189       end
    190       object ButtonPlayerRemove: TButton
    191         Left = 224
    192         Height = 25
    193         Top = 624
    194         Width = 83
    195         Action = APlayerRemove
    196         Anchors = [akLeft, akBottom]
    197         TabOrder = 1
    198       end
    199       object ButtonPlayerAdd: TButton
    200         Left = 16
    201         Height = 25
    202         Top = 624
    203         Width = 83
    204         Action = APlayerAdd
    205         Anchors = [akLeft, akBottom]
    206         TabOrder = 2
    207       end
    208       object ButtonPlayerModify: TButton
    209         Left = 120
    210         Height = 25
    211         Top = 624
    212         Width = 83
    213         Action = APlayerModify
    214         Anchors = [akLeft, akBottom]
    215         Caption = 'Modify'
    216         TabOrder = 3
     171        object ListViewPlayers: TListView
     172          Left = 4
     173          Height = 612
     174          Top = 4
     175          Width = 733
     176          Align = alTop
     177          Anchors = [akTop, akLeft, akRight, akBottom]
     178          BorderSpacing.Around = 4
     179          Columns = <         
     180            item
     181              Caption = 'Name'
     182              Width = 200
     183            end         
     184            item
     185              Caption = 'Type'
     186              Width = 100
     187            end         
     188            item
     189              Caption = 'Color'
     190              Width = 100
     191            end         
     192            item
     193              Caption = 'Start units'
     194              Width = 790
     195            end>
     196          MultiSelect = True
     197          OwnerData = True
     198          ReadOnly = True
     199          RowSelect = True
     200          TabOrder = 0
     201          ViewStyle = vsReport
     202          OnCustomDrawSubItem = ListViewPlayersCustomDrawSubItem
     203          OnData = ListViewPlayersData
     204          OnDblClick = ListViewPlayersDblClick
     205          OnKeyPress = ListViewPlayersKeyPress
     206          OnKeyUp = ListViewPlayersKeyUp
     207          OnSelectItem = ListViewPlayersSelectItem
     208        end
     209        object ButtonPlayerAdd: TButton
     210          Left = 16
     211          Height = 25
     212          Top = 624
     213          Width = 83
     214          Anchors = [akLeft, akBottom]
     215          Caption = 'Add'
     216          TabOrder = 1
     217        end
     218        object ButtonPlayerModify: TButton
     219          Left = 120
     220          Height = 25
     221          Top = 624
     222          Width = 83
     223          Anchors = [akLeft, akBottom]
     224          Caption = 'Modify'
     225          TabOrder = 2
     226        end
     227        object ButtonPlayerRemove: TButton
     228          Left = 224
     229          Height = 25
     230          Top = 624
     231          Width = 83
     232          Anchors = [akLeft, akBottom]
     233          Caption = 'Remove'
     234          TabOrder = 3
     235        end
    217236      end
    218237    end
     
    221240      ClientHeight = 662
    222241      ClientWidth = 741
    223       object Label1: TLabel
    224         Left = 8
    225         Height = 20
    226         Top = 9
    227         Width = 74
    228         Caption = 'Map width:'
    229         ParentColor = False
    230       end
    231       object Label2: TLabel
    232         Left = 8
    233         Height = 20
    234         Top = 57
    235         Width = 79
    236         Caption = 'Map height:'
    237         ParentColor = False
    238       end
    239       object SpinEditMapSizeX: TSpinEdit
    240         Left = 128
    241         Height = 28
    242         Top = 4
    243         Width = 98
    244         MinValue = 2
    245         OnChange = SpinEditMapSizeXChange
     242      object Panel1: TPanel
     243        Left = 0
     244        Height = 662
     245        Top = 0
     246        Width = 741
     247        Align = alClient
     248        BevelOuter = bvNone
     249        ClientHeight = 662
     250        ClientWidth = 741
    246251        TabOrder = 0
    247         Value = 2
    248       end
    249       object SpinEditMapSizeY: TSpinEdit
    250         Left = 128
    251         Height = 28
    252         Top = 55
    253         Width = 98
    254         MinValue = 2
    255         OnChange = SpinEditMapSizeYChange
    256         TabOrder = 1
    257         Value = 2
    258       end
    259       object TrackBarSizeX: TTrackBar
    260         Left = 240
    261         Height = 47
    262         Top = 8
    263         Width = 490
    264         Max = 100
    265         Min = 2
    266         OnChange = TrackBarSizeXChange
    267         Position = 2
    268         TickStyle = tsNone
    269         Anchors = [akTop, akLeft, akRight]
    270         TabOrder = 2
    271       end
    272       object TrackBarSizeY: TTrackBar
    273         Left = 240
    274         Height = 47
    275         Top = 49
    276         Width = 490
    277         Max = 100
    278         Min = 2
    279         OnChange = TrackBarSizeYChange
    280         Position = 2
    281         TickStyle = tsNone
    282         Anchors = [akTop, akLeft, akRight]
    283         TabOrder = 3
    284       end
    285       object Label5: TLabel
    286         Left = 8
    287         Height = 20
    288         Top = 104
    289         Width = 64
    290         Caption = 'Grid type:'
    291         ParentColor = False
    292       end
    293       object ComboBoxGridType: TComboBox
    294         Left = 146
    295         Height = 28
    296         Top = 104
    297         Width = 208
    298         ItemHeight = 20
    299         Items.Strings = (
    300           'Hexagonal'
    301           'Square'
    302           'Triangular'
    303         )
    304         Style = csDropDownList
    305         TabOrder = 4
    306       end
    307       object ComboBoxMapShape: TComboBox
    308         Left = 146
    309         Height = 28
    310         Top = 144
    311         Width = 208
    312         ItemHeight = 20
    313         Items.Strings = (
    314           'Hexagonal'
    315           'Square'
    316           'Triangular'
    317         )
    318         OnChange = ComboBoxMapShapeChange
    319         Style = csDropDownList
    320         TabOrder = 5
    321       end
    322       object Label8: TLabel
    323         Left = 8
    324         Height = 20
    325         Top = 144
    326         Width = 76
    327         Caption = 'Map shape:'
    328         ParentColor = False
    329       end
    330       object CheckBoxSymetricMap: TCheckBox
    331         Left = 472
    332         Height = 27
    333         Top = 110
    334         Width = 253
    335         Anchors = [akTop, akLeft, akRight]
    336         AutoSize = False
    337         Caption = 'Symetric map'
    338         TabOrder = 6
    339       end
    340       object SpinEditVoidPercent: TSpinEdit
    341         Left = 216
    342         Height = 28
    343         Top = 224
    344         Width = 106
    345         MinValue = 1
    346         TabOrder = 7
    347         Value = 1
    348       end
    349       object CheckBoxVoid: TCheckBox
    350         Left = 8
    351         Height = 24
    352         Top = 232
    353         Width = 149
    354         Caption = 'Inaccessible places'
    355         OnChange = CheckBoxVoidChange
    356         TabOrder = 8
    357       end
    358       object CheckBoxCity: TCheckBox
    359         Left = 8
    360         Height = 24
    361         Top = 272
    362         Width = 60
    363         Caption = 'Cities'
    364         OnChange = CheckBoxCityChange
    365         TabOrder = 9
    366       end
    367       object SpinEditCityPercent: TSpinEdit
    368         Left = 216
    369         Height = 28
    370         Top = 272
    371         Width = 106
    372         MinValue = 1
    373         TabOrder = 10
    374         Value = 1
    375       end
    376       object Label4: TLabel
    377         Left = 331
    378         Height = 20
    379         Top = 272
    380         Width = 12
    381         Caption = '%'
    382         ParentColor = False
    383       end
    384       object Label3: TLabel
    385         Left = 331
    386         Height = 20
    387         Top = 232
    388         Width = 12
    389         Caption = '%'
    390         ParentColor = False
    391       end
    392       object SpinEditNeutralUnits: TSpinEdit
    393         Left = 408
    394         Height = 28
    395         Top = 384
    396         Width = 98
    397         MaxValue = 99
    398         TabOrder = 11
    399         Value = 12
    400       end
    401       object Label7: TLabel
    402         Left = 8
    403         Height = 20
    404         Top = 384
    405         Width = 172
    406         Caption = 'Max random neutral units:'
    407         ParentColor = False
    408       end
    409       object EditImageFile: TEdit
    410         Left = 144
    411         Height = 28
    412         Top = 184
    413         Width = 474
    414         Anchors = [akTop, akLeft, akRight]
    415         TabOrder = 12
    416       end
    417       object ButtonImageBrowse: TButton
    418         Left = 626
    419         Height = 25
    420         Top = 192
    421         Width = 99
    422         Anchors = [akTop, akRight]
    423         Caption = 'Browse'
    424         OnClick = ButtonImageBrowseClick
    425         TabOrder = 13
    426       end
    427       object Label9: TLabel
    428         Left = 8
    429         Height = 20
    430         Top = 184
    431         Width = 70
    432         Caption = 'Image file:'
    433         ParentColor = False
    434       end
    435       object CheckBoxBridges: TCheckBox
    436         Left = 8
    437         Height = 24
    438         Top = 310
    439         Width = 168
    440         Caption = 'Bridges between cells'
    441         TabOrder = 14
    442       end
    443       object SpinEditMaxPower: TSpinEdit
    444         Left = 408
    445         Height = 28
    446         Top = 344
    447         Width = 98
    448         MaxValue = 1000000
    449         MinValue = 1
    450         OnChange = SpinEditMaxPowerChange
    451         TabOrder = 15
    452         Value = 99
    453       end
    454       object Label10: TLabel
    455         Left = 8
    456         Height = 20
    457         Top = 344
    458         Width = 119
    459         Caption = 'Max units per cell:'
    460         ParentColor = False
    461       end
    462       object CheckBoxCyclicMap: TCheckBox
    463         Left = 472
    464         Height = 27
    465         Top = 137
    466         Width = 253
    467         Anchors = [akTop, akLeft, akRight]
    468         AutoSize = False
    469         Caption = 'Cyclic map'
    470         TabOrder = 16
     252        object Label1: TLabel
     253          Left = 8
     254          Height = 20
     255          Top = 9
     256          Width = 74
     257          Caption = 'Map width:'
     258          ParentColor = False
     259        end
     260        object Label2: TLabel
     261          Left = 8
     262          Height = 20
     263          Top = 57
     264          Width = 79
     265          Caption = 'Map height:'
     266          ParentColor = False
     267        end
     268        object SpinEditMapSizeX: TSpinEdit
     269          Left = 128
     270          Height = 28
     271          Top = 4
     272          Width = 98
     273          MinValue = 2
     274          OnChange = SpinEditMapSizeXChange
     275          TabOrder = 0
     276          Value = 2
     277        end
     278        object SpinEditMapSizeY: TSpinEdit
     279          Left = 128
     280          Height = 28
     281          Top = 55
     282          Width = 98
     283          MinValue = 2
     284          OnChange = SpinEditMapSizeYChange
     285          TabOrder = 1
     286          Value = 2
     287        end
     288        object TrackBarSizeX: TTrackBar
     289          Left = 240
     290          Height = 47
     291          Top = 8
     292          Width = 490
     293          Max = 100
     294          Min = 2
     295          OnChange = TrackBarSizeXChange
     296          Position = 2
     297          TickStyle = tsNone
     298          Anchors = [akTop, akLeft, akRight]
     299          TabOrder = 2
     300        end
     301        object TrackBarSizeY: TTrackBar
     302          Left = 240
     303          Height = 47
     304          Top = 49
     305          Width = 490
     306          Max = 100
     307          Min = 2
     308          OnChange = TrackBarSizeYChange
     309          Position = 2
     310          TickStyle = tsNone
     311          Anchors = [akTop, akLeft, akRight]
     312          TabOrder = 3
     313        end
     314        object Label5: TLabel
     315          Left = 8
     316          Height = 20
     317          Top = 104
     318          Width = 64
     319          Caption = 'Grid type:'
     320          ParentColor = False
     321        end
     322        object ComboBoxGridType: TComboBox
     323          Left = 146
     324          Height = 28
     325          Top = 104
     326          Width = 208
     327          ItemHeight = 20
     328          Items.Strings = (
     329            'Hexagonal'
     330            'Square'
     331            'Triangular'
     332          )
     333          Style = csDropDownList
     334          TabOrder = 4
     335        end
     336        object ComboBoxMapShape: TComboBox
     337          Left = 146
     338          Height = 28
     339          Top = 144
     340          Width = 208
     341          ItemHeight = 20
     342          Items.Strings = (
     343            'Hexagonal'
     344            'Square'
     345            'Triangular'
     346          )
     347          OnChange = ComboBoxMapShapeChange
     348          Style = csDropDownList
     349          TabOrder = 5
     350        end
     351        object Label8: TLabel
     352          Left = 8
     353          Height = 20
     354          Top = 144
     355          Width = 76
     356          Caption = 'Map shape:'
     357          ParentColor = False
     358        end
     359        object CheckBoxSymetricMap: TCheckBox
     360          Left = 472
     361          Height = 27
     362          Top = 110
     363          Width = 253
     364          Anchors = [akTop, akLeft, akRight]
     365          AutoSize = False
     366          Caption = 'Symetric map'
     367          TabOrder = 6
     368        end
     369        object SpinEditVoidPercent: TSpinEdit
     370          Left = 216
     371          Height = 28
     372          Top = 224
     373          Width = 106
     374          MinValue = 1
     375          TabOrder = 7
     376          Value = 1
     377        end
     378        object CheckBoxVoid: TCheckBox
     379          Left = 8
     380          Height = 24
     381          Top = 232
     382          Width = 149
     383          Caption = 'Inaccessible places'
     384          OnChange = CheckBoxVoidChange
     385          TabOrder = 8
     386        end
     387        object CheckBoxCity: TCheckBox
     388          Left = 8
     389          Height = 24
     390          Top = 272
     391          Width = 60
     392          Caption = 'Cities'
     393          OnChange = CheckBoxCityChange
     394          TabOrder = 9
     395        end
     396        object SpinEditCityPercent: TSpinEdit
     397          Left = 216
     398          Height = 28
     399          Top = 272
     400          Width = 106
     401          MinValue = 1
     402          TabOrder = 10
     403          Value = 1
     404        end
     405        object Label4: TLabel
     406          Left = 331
     407          Height = 20
     408          Top = 272
     409          Width = 12
     410          Caption = '%'
     411          ParentColor = False
     412        end
     413        object Label3: TLabel
     414          Left = 331
     415          Height = 20
     416          Top = 232
     417          Width = 12
     418          Caption = '%'
     419          ParentColor = False
     420        end
     421        object SpinEditNeutralUnits: TSpinEdit
     422          Left = 408
     423          Height = 28
     424          Top = 384
     425          Width = 98
     426          MaxValue = 99
     427          TabOrder = 11
     428          Value = 12
     429        end
     430        object Label7: TLabel
     431          Left = 8
     432          Height = 20
     433          Top = 384
     434          Width = 172
     435          Caption = 'Max random neutral units:'
     436          ParentColor = False
     437        end
     438        object EditImageFile: TEdit
     439          Left = 144
     440          Height = 28
     441          Top = 184
     442          Width = 474
     443          Anchors = [akTop, akLeft, akRight]
     444          TabOrder = 12
     445        end
     446        object ButtonImageBrowse: TButton
     447          Left = 626
     448          Height = 25
     449          Top = 192
     450          Width = 99
     451          Anchors = [akTop, akRight]
     452          Caption = 'Browse'
     453          OnClick = ButtonImageBrowseClick
     454          TabOrder = 13
     455        end
     456        object Label9: TLabel
     457          Left = 8
     458          Height = 20
     459          Top = 184
     460          Width = 70
     461          Caption = 'Image file:'
     462          ParentColor = False
     463        end
     464        object CheckBoxBridges: TCheckBox
     465          Left = 8
     466          Height = 24
     467          Top = 310
     468          Width = 168
     469          Caption = 'Bridges between cells'
     470          TabOrder = 14
     471        end
     472        object SpinEditMaxPower: TSpinEdit
     473          Left = 408
     474          Height = 28
     475          Top = 344
     476          Width = 98
     477          MaxValue = 1000000
     478          MinValue = 1
     479          OnChange = SpinEditMaxPowerChange
     480          TabOrder = 15
     481          Value = 99
     482        end
     483        object Label10: TLabel
     484          Left = 8
     485          Height = 20
     486          Top = 344
     487          Width = 119
     488          Caption = 'Max units per cell:'
     489          ParentColor = False
     490        end
     491        object CheckBoxCyclicMap: TCheckBox
     492          Left = 472
     493          Height = 27
     494          Top = 137
     495          Width = 253
     496          Anchors = [akTop, akLeft, akRight]
     497          AutoSize = False
     498          Caption = 'Cyclic map'
     499          TabOrder = 16
     500        end
    471501      end
    472502    end
     
    475505      ClientHeight = 662
    476506      ClientWidth = 741
    477       object RadioGroupGrowCells: TRadioGroup
    478         Left = 15
    479         Height = 105
    480         Top = 104
    481         Width = 312
    482         AutoFill = True
    483         Caption = 'Growing cells'
    484         ChildSizing.LeftRightSpacing = 6
    485         ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
    486         ChildSizing.EnlargeVertical = crsHomogenousChildResize
    487         ChildSizing.ShrinkHorizontal = crsScaleChilds
    488         ChildSizing.ShrinkVertical = crsScaleChilds
    489         ChildSizing.Layout = cclLeftToRightThenTopToBottom
    490         ChildSizing.ControlsPerLine = 1
    491         ClientHeight = 80
    492         ClientWidth = 308
    493         Items.Strings = (
    494           'None'
    495           'Player cities'
    496           'Player all'
    497         )
     507      object Panel4: TPanel
     508        Left = 0
     509        Height = 662
     510        Top = 0
     511        Width = 741
     512        Align = alClient
     513        BevelOuter = bvNone
     514        ClientHeight = 662
     515        ClientWidth = 741
    498516        TabOrder = 0
    499       end
    500       object Label6: TLabel
    501         Left = 8
    502         Height = 20
    503         Top = 248
    504         Width = 94
    505         Caption = 'Win objective:'
    506         ParentColor = False
    507       end
    508       object ComboBoxWinObjective: TComboBox
    509         Left = 224
    510         Height = 28
    511         Top = 244
    512         Width = 328
    513         ItemHeight = 20
    514         Items.Strings = (
    515           'Defeat all oponents'
    516           'Defeat all oponents cities'
    517           'Capture position'
    518           'Stay alive for number of turns'
    519         )
    520         OnChange = ComboBoxWinObjectiveChange
    521         Style = csDropDownList
    522         TabOrder = 1
    523       end
    524       object RadioGroupGrowAmount: TRadioGroup
    525         Left = 15
    526         Height = 76
    527         Top = 16
    528         Width = 305
    529         AutoFill = True
    530         Caption = 'Per turn grow amount'
    531         ChildSizing.LeftRightSpacing = 6
    532         ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
    533         ChildSizing.EnlargeVertical = crsHomogenousChildResize
    534         ChildSizing.ShrinkHorizontal = crsScaleChilds
    535         ChildSizing.ShrinkVertical = crsScaleChilds
    536         ChildSizing.Layout = cclLeftToRightThenTopToBottom
    537         ChildSizing.ControlsPerLine = 1
    538         ClientHeight = 51
    539         ClientWidth = 301
    540         Items.Strings = (
    541           'By one'
    542           'By square root'
    543         )
    544         TabOrder = 2
    545       end
    546       object CheckBoxFogOfWar: TCheckBox
    547         Left = 336
    548         Height = 27
    549         Top = 24
    550         Width = 581
    551         Anchors = [akTop, akLeft, akRight]
    552         AutoSize = False
    553         Caption = 'Fog of war'
    554         TabOrder = 3
    555       end
    556       object PageControl2: TPageControl
    557         Left = 12
    558         Height = 78
    559         Top = 290
    560         Width = 718
    561         ActivePage = TabSheetCaptureCities
    562         Anchors = [akTop, akLeft, akRight]
    563         ShowTabs = False
    564         TabIndex = 1
    565         TabOrder = 4
    566         object TabSheetDefeatEnemies: TTabSheet
    567         end
    568         object TabSheetCaptureCities: TTabSheet
    569         end
    570         object TabSheetCaptureCells: TTabSheet
    571           ClientHeight = 74
    572           ClientWidth = 716
    573           object Label14: TLabel
    574             Left = 8
    575             Height = 20
    576             Top = 16
    577             Width = 125
    578             Caption = 'Special cells count:'
    579             ParentColor = False
     517        object RadioGroupGrowCells: TRadioGroup
     518          Left = 15
     519          Height = 105
     520          Top = 104
     521          Width = 312
     522          AutoFill = True
     523          Caption = 'Growing cells'
     524          ChildSizing.LeftRightSpacing = 6
     525          ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
     526          ChildSizing.EnlargeVertical = crsHomogenousChildResize
     527          ChildSizing.ShrinkHorizontal = crsScaleChilds
     528          ChildSizing.ShrinkVertical = crsScaleChilds
     529          ChildSizing.Layout = cclLeftToRightThenTopToBottom
     530          ChildSizing.ControlsPerLine = 1
     531          ClientHeight = 80
     532          ClientWidth = 308
     533          Items.Strings = (
     534            'None'
     535            'Player cities'
     536            'Player all'
     537          )
     538          TabOrder = 0
     539        end
     540        object Label6: TLabel
     541          Left = 8
     542          Height = 20
     543          Top = 248
     544          Width = 94
     545          Caption = 'Win objective:'
     546          ParentColor = False
     547        end
     548        object ComboBoxWinObjective: TComboBox
     549          Left = 224
     550          Height = 28
     551          Top = 244
     552          Width = 328
     553          ItemHeight = 20
     554          Items.Strings = (
     555            'Defeat all oponents'
     556            'Defeat all oponents cities'
     557            'Capture position'
     558            'Stay alive for number of turns'
     559          )
     560          OnChange = ComboBoxWinObjectiveChange
     561          Style = csDropDownList
     562          TabOrder = 1
     563        end
     564        object RadioGroupGrowAmount: TRadioGroup
     565          Left = 15
     566          Height = 76
     567          Top = 16
     568          Width = 305
     569          AutoFill = True
     570          Caption = 'Per turn grow amount'
     571          ChildSizing.LeftRightSpacing = 6
     572          ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
     573          ChildSizing.EnlargeVertical = crsHomogenousChildResize
     574          ChildSizing.ShrinkHorizontal = crsScaleChilds
     575          ChildSizing.ShrinkVertical = crsScaleChilds
     576          ChildSizing.Layout = cclLeftToRightThenTopToBottom
     577          ChildSizing.ControlsPerLine = 1
     578          ClientHeight = 51
     579          ClientWidth = 301
     580          Items.Strings = (
     581            'By one'
     582            'By square root'
     583          )
     584          TabOrder = 2
     585        end
     586        object CheckBoxFogOfWar: TCheckBox
     587          Left = 336
     588          Height = 24
     589          Top = 24
     590          Width = 95
     591          Caption = 'Fog of war'
     592          TabOrder = 3
     593        end
     594        object PageControl2: TPageControl
     595          Left = 12
     596          Height = 78
     597          Top = 290
     598          Width = 718
     599          ActivePage = TabSheetCaptureCities
     600          Anchors = [akTop, akLeft, akRight]
     601          ShowTabs = False
     602          TabIndex = 1
     603          TabOrder = 4
     604          object TabSheetDefeatEnemies: TTabSheet
    580605          end
    581           object SpinEditSpecialCells: TSpinEdit
    582             Left = 236
    583             Height = 28
    584             Top = 8
    585             Width = 159
    586             MaxValue = 1000
    587             MinValue = 1
    588             TabOrder = 0
    589             Value = 1
     606          object TabSheetCaptureCities: TTabSheet
    590607          end
    591         end
    592         object TabSheetStayAliveTurns: TTabSheet
    593           ClientHeight = 74
    594           ClientWidth = 716
    595           object Label13: TLabel
    596             Left = 8
    597             Height = 20
    598             Top = 16
    599             Width = 111
    600             Caption = 'Number of turns:'
    601             ParentColor = False
     608          object TabSheetCaptureCells: TTabSheet
     609            ClientHeight = 74
     610            ClientWidth = 716
     611            object Label14: TLabel
     612              Left = 8
     613              Height = 20
     614              Top = 16
     615              Width = 125
     616              Caption = 'Special cells count:'
     617              ParentColor = False
     618            end
     619            object SpinEditSpecialCells: TSpinEdit
     620              Left = 236
     621              Height = 28
     622              Top = 8
     623              Width = 159
     624              MaxValue = 1000
     625              MinValue = 1
     626              TabOrder = 0
     627              Value = 1
     628            end
    602629          end
    603           object SpinEditTurns: TSpinEdit
    604             Left = 236
    605             Height = 28
    606             Top = 8
    607             Width = 159
    608             MaxValue = 1000
    609             MinValue = 1
    610             TabOrder = 0
    611             Value = 1
     630          object TabSheetStayAliveTurns: TTabSheet
     631            ClientHeight = 74
     632            ClientWidth = 716
     633            object Label13: TLabel
     634              Left = 8
     635              Height = 20
     636              Top = 16
     637              Width = 111
     638              Caption = 'Number of turns:'
     639              ParentColor = False
     640            end
     641            object SpinEditTurns: TSpinEdit
     642              Left = 236
     643              Height = 28
     644              Top = 8
     645              Width = 159
     646              MaxValue = 1000
     647              MinValue = 1
     648              TabOrder = 0
     649              Value = 1
     650            end
    612651          end
    613652        end
     
    665704  object ActionList1: TActionList
    666705    Images = Core.ImageListSmall
    667     left = 568
    668     top = 296
     706    left = 464
     707    top = 464
    669708    object APlayerModify: TAction
    670709      Caption = 'Modify player'
     
    693732  end
    694733  object OpenPictureDialog1: TOpenPictureDialog
    695     left = 568
    696     top = 360
     734    left = 602
     735    top = 464
    697736  end
    698737  object PopupMenuPlayers: TPopupMenu
    699     left = 568
    700     top = 232
     738    left = 312
     739    top = 464
    701740    object MenuItem1: TMenuItem
    702741      Action = APlayerAdd
     
    711750  end
    712751  object PopupMenuServers: TPopupMenu
    713     left = 121
    714     top = 317
     752    left = 176
     753    top = 464
    715754    object MenuItem4: TMenuItem
    716755      Action = AServerAdd
  • trunk/Forms/UFormNew.pas

    r231 r243  
    1515
    1616  TFormNew = class(TForm)
     17    ActionList1: TActionList;
     18    APlayerAdd: TAction;
     19    APlayerModify: TAction;
     20    APlayerRemove: TAction;
     21    AServerAdd: TAction;
    1722    AServerModify: TAction;
    18     AServerAdd: TAction;
    1923    AServerRemove: TAction;
    20     APlayerAdd: TAction;
    21     APlayerRemove: TAction;
    22     APlayerModify: TAction;
    23     ActionList1: TActionList;
    2424    Button1: TButton;
    2525    Button2: TButton;
     
    3232    ButtonPlayerRemove: TButton;
    3333    CheckBoxBridges: TCheckBox;
     34    CheckBoxCity: TCheckBox;
     35    CheckBoxCyclicMap: TCheckBox;
    3436    CheckBoxFogOfWar: TCheckBox;
    35     CheckBoxCity: TCheckBox;
    3637    CheckBoxSymetricMap: TCheckBox;
    37     CheckBoxCyclicMap: TCheckBox;
    3838    CheckBoxVoid: TCheckBox;
    3939    ComboBoxGridType: TComboBox;
    4040    ComboBoxMapShape: TComboBox;
    4141    ComboBoxWinObjective: TComboBox;
     42    EditImageFile: TEdit;
    4243    EditServerAddress: TEdit;
    43     EditImageFile: TEdit;
    4444    Label1: TLabel;
    4545    Label10: TLabel;
     
    6767    PageControl1: TPageControl;
    6868    PageControl2: TPageControl;
     69    Panel1: TPanel;
     70    Panel2: TPanel;
     71    Panel3: TPanel;
     72    Panel4: TPanel;
    6973    PanelButtons: TPanel;
    7074    PanelChat: TPanel;
    7175    PopupMenuPlayers: TPopupMenu;
    7276    PopupMenuServers: TPopupMenu;
     77    RadioButtonModeLocal: TRadioButton;
     78    RadioButtonModeNetworkClient: TRadioButton;
    7379    RadioButtonModeNetworkServer: TRadioButton;
    74     RadioButtonModeNetworkClient: TRadioButton;
    75     RadioButtonModeLocal: TRadioButton;
    7680    RadioGroupGrowAmount: TRadioGroup;
    7781    RadioGroupGrowCells: TRadioGroup;
    78     SpinEditMaxPower: TSpinEdit;
    79     SpinEditServerPort: TSpinEdit;
    8082    SpinEditCityPercent: TSpinEdit;
    8183    SpinEditMapSizeX: TSpinEdit;
    8284    SpinEditMapSizeY: TSpinEdit;
     85    SpinEditMaxPower: TSpinEdit;
    8386    SpinEditNeutralUnits: TSpinEdit;
     87    SpinEditServerPort: TSpinEdit;
    8488    SpinEditSpecialCells: TSpinEdit;
    8589    SpinEditTurns: TSpinEdit;
    8690    SpinEditVoidPercent: TSpinEdit;
    8791    Splitter1: TSplitter;
     92    TabSheetCaptureCells: TTabSheet;
     93    TabSheetCaptureCities: TTabSheet;
     94    TabSheetDefeatEnemies: TTabSheet;
    8895    TabSheetPlayers: TTabSheet;
    8996    TabSheetMap: TTabSheet;
    9097    TabSheetRules: TTabSheet;
     98    TabSheetMode: TTabSheet;
    9199    TabSheetStayAliveTurns: TTabSheet;
    92     TabSheetCaptureCells: TTabSheet;
    93     TabSheetDefeatEnemies: TTabSheet;
    94     TabSheetCaptureCities: TTabSheet;
    95     TabSheetMode: TTabSheet;
    96100    TrackBarSizeX: TTrackBar;
    97101    TrackBarSizeY: TTrackBar;
     
    341345begin
    342346  Core.PersistentForm.Load(Self);
     347  Core.ThemeManager1.UseTheme(Self);
    343348  ReloadView;
    344349  //Height := Trunc(1.5 * Height);
  • trunk/Forms/UFormPlayer.pas

    r231 r243  
    7777begin
    7878  Core.PersistentForm.Load(Self);
     79  Core.ThemeManager1.UseTheme(Self);
    7980  UpdateInterface;
    8081end;
  • trunk/Forms/UFormPlayersStats.pas

    r231 r243  
    9393begin
    9494  Core.PersistentForm.Load(Self);
     95  Core.ThemeManager1.UseTheme(Self);
    9596  Core.CoolTranslator1.TranslateComponentRecursive(Self);
    9697  ReloadList;
  • trunk/Forms/UFormServer.lfm

    r196 r243  
    88  ClientWidth = 403
    99  DesignTimePPI = 120
     10  OnShow = FormShow
    1011  LCLVersion = '1.8.2.0'
    1112  object Label1: TLabel
  • trunk/Forms/UFormServer.pas

    r196 r243  
    2222    Label3: TLabel;
    2323    SpinEdit1: TSpinEdit;
     24    procedure FormShow(Sender: TObject);
    2425  private
    2526
     
    3637{$R *.lfm}
    3738
     39uses
     40  UCore;
     41
    3842{ TFormServer }
     43
     44procedure TFormServer.FormShow(Sender: TObject);
     45begin
     46  Core.ThemeManager1.UseTheme(Self);
     47end;
    3948
    4049procedure TFormServer.Load(Server: TServerInfo);
  • trunk/Forms/UFormSettings.lfm

    r220 r243  
    11object FormSettings: TFormSettings
    2   Left = 404
    3   Height = 327
    4   Top = 574
    5   Width = 554
     2  Left = 535
     3  Height = 328
     4  Top = 417
     5  Width = 605
    66  ActiveControl = ButtonOk
    77  Caption = 'Settings'
    8   ClientHeight = 327
    9   ClientWidth = 554
    10   Constraints.MinHeight = 327
    11   Constraints.MinWidth = 554
    12   DesignTimePPI = 144
     8  ClientHeight = 328
     9  ClientWidth = 605
     10  Constraints.MinHeight = 300
     11  Constraints.MinWidth = 454
     12  DesignTimePPI = 120
     13  OnClose = FormClose
    1314  OnCreate = FormCreate
    1415  OnShow = FormShow
     
    1617  LCLVersion = '1.8.2.0'
    1718  object ButtonOk: TButton
    18     Left = 444
     19    Left = 522
    1920    Height = 25
    20     Top = 284
     21    Top = 289
    2122    Width = 75
    2223    Anchors = [akRight, akBottom]
     
    2627  end
    2728  object ButtonCancel: TButton
    28     Left = 322
     29    Left = 427
    2930    Height = 25
    30     Top = 284
     31    Top = 289
    3132    Width = 75
    3233    Anchors = [akRight, akBottom]
     
    3637  end
    3738  object PageControl1: TPageControl
    38     Left = 4
    39     Height = 264
    40     Top = 4
    41     Width = 546
     39    Left = 8
     40    Height = 273
     41    Top = 8
     42    Width = 589
    4243    ActivePage = TabSheetDebug
    4344    Align = alTop
    4445    Anchors = [akTop, akLeft, akRight, akBottom]
    45     BorderSpacing.Around = 4
     46    BorderSpacing.Around = 8
    4647    TabIndex = 1
    4748    TabOrder = 2
    4849    object TabSheetGeneral: TTabSheet
    4950      Caption = 'General'
    50       ClientHeight = 220
    51       ClientWidth = 540
    52       object Label2: TLabel
    53         Left = 20
    54         Height = 26
    55         Top = 78
    56         Width = 150
    57         Caption = 'Animation speed:'
    58         ParentColor = False
    59       end
    60       object SpinEditAnimSpeed: TSpinEdit
    61         Left = 232
    62         Height = 36
    63         Top = 72
    64         Width = 122
     51      ClientHeight = 240
     52      ClientWidth = 581
     53      object Panel1: TPanel
     54        Left = 0
     55        Height = 240
     56        Top = 0
     57        Width = 581
     58        Align = alClient
     59        BevelOuter = bvNone
     60        ClientHeight = 240
     61        ClientWidth = 581
    6562        TabOrder = 0
    66       end
    67       object Label3: TLabel
    68         Left = 368
    69         Height = 26
    70         Top = 82
    71         Width = 15
    72         Caption = '%'
    73         ParentColor = False
    74       end
    75       object CheckBoxAutoSaveTurn: TCheckBox
    76         Left = 20
    77         Height = 27
    78         Top = 112
    79         Width = 586
    80         Anchors = [akTop, akLeft, akRight]
    81         AutoSize = False
    82         Caption = 'Autosave game on each turn'
    83         TabOrder = 1
    84       end
    85       object Label1: TLabel
    86         Left = 20
    87         Height = 26
    88         Top = 26
    89         Width = 88
    90         Caption = 'Language:'
    91         ParentColor = False
    92       end
    93       object ComboBoxLanguage: TComboBox
    94         Left = 178
    95         Height = 40
    96         Top = 24
    97         Width = 196
    98         ItemHeight = 0
    99         Style = csDropDownList
    100         TabOrder = 2
    101       end
    102       object CheckBoxReopenLastFile: TCheckBox
    103         Left = 20
    104         Height = 30
    105         Top = 152
    106         Width = 249
    107         Caption = 'Reopen last game on start'
    108         TabOrder = 3
     63        object Label1: TLabel
     64          Left = 20
     65          Height = 20
     66          Top = 26
     67          Width = 68
     68          Caption = 'Language:'
     69          ParentColor = False
     70        end
     71        object ComboBoxLanguage: TComboBox
     72          Left = 178
     73          Height = 28
     74          Top = 24
     75          Width = 196
     76          ItemHeight = 20
     77          Style = csDropDownList
     78          TabOrder = 0
     79        end
     80        object ComboBoxTheme: TComboBox
     81          Left = 178
     82          Height = 28
     83          Top = 56
     84          Width = 196
     85          ItemHeight = 20
     86          Style = csDropDownList
     87          TabOrder = 1
     88        end
     89        object Label6: TLabel
     90          Left = 20
     91          Height = 20
     92          Top = 58
     93          Width = 48
     94          Caption = 'Theme:'
     95          ParentColor = False
     96        end
     97        object SpinEditAnimSpeed: TSpinEdit
     98          Left = 232
     99          Height = 28
     100          Top = 110
     101          Width = 122
     102          TabOrder = 2
     103        end
     104        object Label3: TLabel
     105          Left = 368
     106          Height = 20
     107          Top = 114
     108          Width = 12
     109          Caption = '%'
     110          ParentColor = False
     111        end
     112        object Label2: TLabel
     113          Left = 20
     114          Height = 20
     115          Top = 110
     116          Width = 116
     117          Caption = 'Animation speed:'
     118          ParentColor = False
     119        end
     120        object CheckBoxAutoSaveTurn: TCheckBox
     121          Left = 20
     122          Height = 24
     123          Top = 144
     124          Width = 213
     125          Caption = 'Autosave game on each turn'
     126          TabOrder = 3
     127        end
     128        object CheckBoxReopenLastFile: TCheckBox
     129          Left = 20
     130          Height = 24
     131          Top = 184
     132          Width = 198
     133          Caption = 'Reopen last game on start'
     134          TabOrder = 4
     135        end
    109136      end
    110137    end
    111138    object TabSheetDebug: TTabSheet
    112139      Caption = 'Debug'
    113       ClientHeight = 220
    114       ClientWidth = 540
    115       object CheckBoxDevelMode: TCheckBox
    116         Left = 16
    117         Height = 27
    118         Top = 136
    119         Width = 512
    120         Anchors = [akTop, akLeft, akRight]
    121         AutoSize = False
    122         Caption = 'Developer mode'
     140      ClientHeight = 240
     141      ClientWidth = 581
     142      object Panel2: TPanel
     143        Left = 0
     144        Height = 240
     145        Top = 0
     146        Width = 581
     147        Align = alClient
     148        BevelOuter = bvNone
     149        ClientHeight = 240
     150        ClientWidth = 581
    123151        TabOrder = 0
    124       end
    125       object Label4: TLabel
    126         Left = 14
    127         Height = 26
    128         Top = 67
    129         Width = 35
    130         Caption = 'DPI:'
    131         ParentColor = False
    132       end
    133       object SpinEditX: TSpinEdit
    134         Left = 104
    135         Height = 36
    136         Top = 64
    137         Width = 96
    138         MaxValue = 500
    139         MinValue = 20
    140         TabOrder = 1
    141         Value = 50
    142       end
    143       object SpinEditY: TSpinEdit
    144         Left = 232
    145         Height = 36
    146         Top = 64
    147         Width = 90
    148         MaxValue = 500
    149         MinValue = 20
    150         TabOrder = 2
    151         Value = 20
    152       end
    153       object Label5: TLabel
    154         Left = 208
    155         Height = 26
    156         Top = 67
    157         Width = 10
    158         Caption = 'x'
    159         ParentColor = False
    160       end
    161       object CheckBox2: TCheckBox
    162         Left = 16
    163         Height = 24
    164         Top = 32
    165         Width = 508
    166         Anchors = [akTop, akLeft, akRight]
    167         AutoSize = False
    168         Caption = 'Automatic DPI'
    169         OnChange = CheckBox2Change
    170         TabOrder = 3
     152        object CheckBox2: TCheckBox
     153          Left = 16
     154          Height = 24
     155          Top = 32
     156          Width = 549
     157          Anchors = [akTop, akLeft, akRight]
     158          AutoSize = False
     159          Caption = 'Automatic DPI'
     160          OnChange = CheckBox2Change
     161          TabOrder = 0
     162        end
     163        object Label4: TLabel
     164          Left = 14
     165          Height = 20
     166          Top = 67
     167          Width = 26
     168          Caption = 'DPI:'
     169          ParentColor = False
     170        end
     171        object SpinEditX: TSpinEdit
     172          Left = 104
     173          Height = 28
     174          Top = 64
     175          Width = 96
     176          MaxValue = 500
     177          MinValue = 20
     178          TabOrder = 1
     179          Value = 50
     180        end
     181        object Label5: TLabel
     182          Left = 208
     183          Height = 20
     184          Top = 67
     185          Width = 7
     186          Caption = 'x'
     187          ParentColor = False
     188        end
     189        object SpinEditY: TSpinEdit
     190          Left = 232
     191          Height = 28
     192          Top = 64
     193          Width = 90
     194          MaxValue = 500
     195          MinValue = 20
     196          TabOrder = 2
     197          Value = 20
     198        end
     199        object CheckBoxDevelMode: TCheckBox
     200          Left = 16
     201          Height = 27
     202          Top = 136
     203          Width = 553
     204          Anchors = [akTop, akLeft, akRight]
     205          AutoSize = False
     206          Caption = 'Developer mode'
     207          TabOrder = 3
     208        end
    171209      end
    172210    end
  • trunk/Forms/UFormSettings.pas

    r195 r243  
    77uses
    88  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
    9   Spin, ComCtrls;
     9  Spin, ComCtrls, ExtCtrls;
    1010
    1111type
     
    1616    ButtonOk: TButton;
    1717    ButtonCancel: TButton;
     18    CheckBox2: TCheckBox;
     19    CheckBoxAutoSaveTurn: TCheckBox;
     20    CheckBoxDevelMode: TCheckBox;
    1821    CheckBoxReopenLastFile: TCheckBox;
    19     CheckBoxAutoSaveTurn: TCheckBox;
    20     CheckBox2: TCheckBox;
    21     CheckBoxDevelMode: TCheckBox;
    2222    ComboBoxLanguage: TComboBox;
     23    ComboBoxTheme: TComboBox;
    2324    Label1: TLabel;
    2425    Label2: TLabel;
     
    2627    Label4: TLabel;
    2728    Label5: TLabel;
     29    Label6: TLabel;
    2830    PageControl1: TPageControl;
     31    Panel1: TPanel;
     32    Panel2: TPanel;
     33    SpinEditAnimSpeed: TSpinEdit;
    2934    SpinEditX: TSpinEdit;
    3035    SpinEditY: TSpinEdit;
    31     SpinEditAnimSpeed: TSpinEdit;
    3236    TabSheetGeneral: TTabSheet;
    3337    TabSheetDebug: TTabSheet;
    3438    procedure CheckBox2Change(Sender: TObject);
     39    procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
    3540    procedure FormCreate(Sender: TObject);
    3641    procedure FormShow(Sender: TObject);
     
    5055
    5156uses
    52   UCore, ULanguages;
     57  UCore, ULanguages, UTheme;
    5358
    5459{ TFormSettings }
     
    6065end;
    6166
     67procedure TFormSettings.FormClose(Sender: TObject; var CloseAction: TCloseAction
     68  );
     69begin
     70  Core.PersistentForm.Save(Self);
     71end;
     72
    6273procedure TFormSettings.FormCreate(Sender: TObject);
    6374begin
    6475  PageControl1.TabIndex := 0;
    6576  Core.CoolTranslator1.TranslateComponentRecursive(Self);
     77  Core.ThemeManager1.Themes.LoadToStrings(ComboBoxTheme.Items);
     78  Core.CoolTranslator1.LanguageListToStrings(ComboBoxLanguage.Items);
    6679end;
    6780
    6881procedure TFormSettings.FormShow(Sender: TObject);
    6982begin
     83  Core.PersistentForm.Load(Self);
     84  Core.ThemeManager1.UseTheme(Self);
    7085  {$IFDEF DEBUG}
    7186  TabSheetDebug.TabVisible := True;
     
    7792procedure TFormSettings.Load;
    7893begin
    79   Core.CoolTranslator1.LanguageListToStrings(ComboBoxLanguage.Items);
    8094  ComboBoxLanguage.ItemIndex := ComboBoxLanguage.Items.IndexOfObject(Core.CoolTranslator1.Language);
    8195  if ComboBoxLanguage.ItemIndex = -1 then ComboBoxLanguage.ItemIndex := 0;
     96  ComboBoxTheme.ItemIndex := ComboBoxTheme.Items.IndexOfObject(Core.ThemeManager1.Theme);
     97  if ComboBoxTheme.ItemIndex = -1 then ComboBoxTheme.ItemIndex := 0;
    8298  CheckBoxDevelMode.Checked := Core.DevelMode;
    8399  SpinEditAnimSpeed.Value := Core.AnimationSpeed;
     
    93109  if ComboBoxLanguage.ItemIndex <> -1 then
    94110    Core.CoolTranslator1.Language := TLanguage(ComboBoxLanguage.Items.Objects[ComboBoxLanguage.ItemIndex]);
     111   if ComboBoxTheme.ItemIndex <> -1 then
     112    Core.ThemeManager1.Theme := TTheme(ComboBoxTheme.Items.Objects[ComboBoxTheme.ItemIndex]);
    95113  Core.DevelMode := CheckBoxDevelMode.Checked;
    96114  Core.AnimationSpeed := SpinEditAnimSpeed.Value;
  • trunk/Forms/UFormUnitMoves.pas

    r231 r243  
    5151begin
    5252  Core.PersistentForm.Load(Self);
     53  Core.ThemeManager1.UseTheme(Self);
    5354  Core.CoolTranslator1.TranslateComponentRecursive(Self);
    5455  ReloadList;
  • trunk/Languages/xtactics.cs.po

    r239 r243  
    374374msgstr "Odstranit"
    375375
     376#: tformnew.button1.caption
     377msgctxt "tformnew.button1.caption"
     378msgid "Add"
     379msgstr "Přidat"
     380
     381#: tformnew.button2.caption
     382msgctxt "tformnew.button2.caption"
     383msgid "Remove"
     384msgstr "Odstranit"
     385
     386#: tformnew.button3.caption
     387msgctxt "tformnew.button3.caption"
     388msgid "Modify"
     389msgstr "Upravit"
     390
    376391#: tformnew.buttoncancel.caption
    377392msgctxt "tformnew.buttoncancel.caption"
     
    389404msgstr "Ok"
    390405
     406#: tformnew.buttonplayeradd.caption
     407msgctxt "tformnew.buttonplayeradd.caption"
     408msgid "Add"
     409msgstr "Přidat"
     410
    391411#: tformnew.buttonplayermodify.caption
    392412msgctxt "tformnew.buttonplayermodify.caption"
     
    394414msgstr "Upravit"
    395415
     416#: tformnew.buttonplayerremove.caption
     417msgctxt "tformnew.buttonplayerremove.caption"
     418msgid "Remove"
     419msgstr "Odstranit"
     420
    396421#: tformnew.caption
    397422msgctxt "tformnew.caption"
     
    725750msgid "x"
    726751msgstr "x"
     752
     753#: tformsettings.label6.caption
     754msgid "Theme:"
     755msgstr "Téma:"
    727756
    728757#: tformsettings.tabsheetdebug.caption
  • trunk/Languages/xtactics.po

    r239 r243  
    361361msgstr ""
    362362
     363#: tformnew.button1.caption
     364msgctxt "tformnew.button1.caption"
     365msgid "Add"
     366msgstr ""
     367
     368#: tformnew.button2.caption
     369msgctxt "tformnew.button2.caption"
     370msgid "Remove"
     371msgstr ""
     372
     373#: tformnew.button3.caption
     374msgctxt "tformnew.button3.caption"
     375msgid "Modify"
     376msgstr ""
     377
    363378#: tformnew.buttoncancel.caption
    364379msgctxt "TFORMNEW.BUTTONCANCEL.CAPTION"
     
    376391msgstr ""
    377392
     393#: tformnew.buttonplayeradd.caption
     394msgctxt "tformnew.buttonplayeradd.caption"
     395msgid "Add"
     396msgstr ""
     397
    378398#: tformnew.buttonplayermodify.caption
    379399msgctxt "tformnew.buttonplayermodify.caption"
     
    381401msgstr ""
    382402
     403#: tformnew.buttonplayerremove.caption
     404msgctxt "tformnew.buttonplayerremove.caption"
     405msgid "Remove"
     406msgstr ""
     407
    383408#: tformnew.caption
    384409msgctxt "tformnew.caption"
     
    709734#: tformsettings.label5.caption
    710735msgid "x"
     736msgstr ""
     737
     738#: tformsettings.label6.caption
     739msgid "Theme:"
    711740msgstr ""
    712741
  • trunk/Release notes.txt

    r160 r243  
    2626* Fixed: Map black background under Windows OS was not correct. Used dark gray color so bridges between cells are visible.
    2727* Fixed: Some application states were not stored/restored correctly after application restart.
    28 * Fixed: Default maximized form state for PersistentForm. * Fixed: Do not scale up maximized forms according DPI settings.
     28* Fixed: Default maximized form state for PersistentForm.
     29* Fixed: Do not scale up maximized forms according DPI settings.
    2930* Fixed: Require at least 2 players for a game.
    3031* Fixed: If only computer players are present in game then starts computer move immediatelly.
     
    6566* Added: Size of map can be adjusted in New game dialog.
    6667* Added: Visualization of planned moves between cells for next turn.
    67 * Added: Player mode human or computer. 
     68* Added: Player mode human or computer.
  • trunk/UCore.lfm

    r231 r243  
    20982098    top = 250
    20992099  end
     2100  object ThemeManager1: TThemeManager
     2101    left = 337
     2102    top = 270
     2103  end
    21002104end
  • trunk/UCore.pas

    r233 r243  
    88  Classes, SysUtils, XMLConf, FileUtil, ActnList, Controls, Dialogs, Forms,
    99  UGame, UApplicationInfo, UPersistentForm, UScaleDPI, UCoolTranslator,
    10   URegistry, ULastOpenedList, Registry, Menus, UFormClient, UPlayer,
     10  URegistry, ULastOpenedList, UTheme, Registry, Menus, UFormClient, UPlayer,
    1111  UGameServer, UGameClient, fgl, UServerList;
    1212
     
    4242    SaveDialog1: TSaveDialog;
    4343    ScaleDPI1: TScaleDPI;
     44    ThemeManager1: TThemeManager;
    4445    XMLConfig1: TXMLConfig;
    4546    procedure AAboutExecute(Sender: TObject);
     
    185186  XMLConfig1.Filename := GetAppConfigDir(False) + 'Config.xml';
    186187
     188  ThemeManager1.Theme := ThemeManager1.Themes.FindByName(String(XmlConfig1.GetValue('Theme', 'System')));
    187189  LastOpenedList1.LoadFromXMLConfig(XMLConfig1, 'RecentFiles');
    188190  DevelMode := XMLConfig1.GetValue('DevelMode', false);
     
    199201begin
    200202  XMLConfig1.SetValue('Language', WideString(CoolTranslator1.Language.Code));
     203  XMLConfig1.SetValue('Theme', WideString(ThemeManager1.Theme.Name));
    201204  LastOpenedList1.SaveToXMLConfig(XMLConfig1, 'RecentFiles');
    202205  XMLConfig1.SetValue('DevelMode', DevelMode);
     
    376379      Server.SaveConfig(XMLConfig1, 'Server');
    377380      XMLConfig1.Flush;
     381      ThemeManager1.UseTheme(FormMain);
    378382    end;
    379383  finally
Note: See TracChangeset for help on using the changeset viewer.