Jelajahi Sumber

Ctrl-F4 or Ctrl-W closes query window and table management window (after confirmation, just like clicking on the close button)

Reinier Olislagers 11 tahun lalu
induk
melakukan
abf3a59d21
9 mengubah file dengan 1127 tambahan dan 1180 penghapusan
  1. 2 0
      querywindow.lfm
  2. 568 568
      querywindow.lrs
  3. 24 6
      querywindow.pas
  4. 12 48
      sqlhistory.lfm
  5. 24 75
      sqlhistory.lrs
  6. 0 5
      sqlhistory.pas
  7. 3 1
      tablemanage.lfm
  8. 477 476
      tablemanage.lrs
  9. 17 1
      tablemanage.pas

+ 2 - 0
querywindow.lfm

@@ -8,9 +8,11 @@ object fmQueryWindow: TfmQueryWindow
   ClientHeight = 601
   ClientWidth = 720
   Color = clForm
+  KeyPreview = True
   Menu = MainMenu1
   OnClose = FormClose
   OnCreate = FormCreate
+  OnKeyDown = FormKeyDown
   OnShow = FormShow
   PopupMenu = pmTab
   Position = poScreenCenter

File diff ditekan karena terlalu besar
+ 568 - 568
querywindow.lrs


+ 24 - 6
querywindow.pas

@@ -12,7 +12,7 @@ uses
 
 type
 
-  QueryTypes = (
+  TQueryTypes = (
     qtUnknown=0,
     qtSelectable=1,
     qtExecute=2,
@@ -110,6 +110,7 @@ type
     procedure FindDialog1Find(Sender: TObject);
     procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
     procedure FormCreate(Sender: TObject);
+    procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
     procedure FormShow(Sender: TObject);
     procedure lmCloseTabClick(Sender: TObject);
     procedure lmCommaDelemitedClick(Sender: TObject);
@@ -161,7 +162,7 @@ type
     fStartLine: Integer;
     fList: TStringList;
     fQuery: string;
-    fOrigQueryType: QueryTypes;
+    fOrigQueryType: TQueryTypes;
     fFinished: Boolean;
     fQT: TQueryThread;
     fQueryPart: string;
@@ -196,7 +197,7 @@ type
   public
     OnCommit: TNotifyEvent;
     procedure Init(dbIndex: Integer);
-    function GetQueryType(AQuery: string): QueryTypes;
+    function GetQueryType(AQuery: string): TQueryTypes;
     function GetQuery: string;
     function CreateResultTab(QueryType: Byte; var aSqlQuery: TSQLQuery; var aSQLScript: TSqlScript;
       var meResult: TMemo; AdditionalTitle: string = ''): TTabSheet;
@@ -209,7 +210,7 @@ type
     function GetSQLSegment(QueryList: TStringList; StartLine: Integer; var QueryType, EndLine: Integer;
       var SQLSegment: string; var IsDDL: Boolean): Boolean;
     procedure QueryAfterScroll(DataSet: TDataSet);
-    procedure CallExecuteQuery(aQueryType: QueryTypes);
+    procedure CallExecuteQuery(aQueryType: TQueryTypes);
     procedure SortSynCompletion;
     procedure ThreadTerminated(Sender: TObject);
     procedure EnableButtons;
@@ -973,7 +974,7 @@ end;
 
 (************* Is Selectable (Check statement type Select, Update, Alter, etc) *******************)
 
-function TfmQueryWindow.GetQueryType(AQuery: string): QueryTypes;
+function TfmQueryWindow.GetQueryType(AQuery: string): TQueryTypes;
 var
   List: TStringList;
   i: Integer;
@@ -1705,6 +1706,23 @@ begin
   SortSynCompletion;
 end;
 
+procedure TfmQueryWindow.FormKeyDown(Sender: TObject; var Key: Word;
+  Shift: TShiftState);
+begin
+  if (ssCtrl in Shift) and
+    ((Key=VK_F4) or (Key=VK_W)) then
+  begin
+    if ((Trim(meQuery.Lines.Text) = '') or
+      (MessageDlg('Do you want to close this query window?', mtConfirmation, [mbNo, mbYes], 0) = mrYes))
+      then
+    begin
+      // Close when pressing Ctrl-W or Ctrl-F4 (Cmd-W/Cmd-F4 on OSX)
+      Close;
+      Parent.Free;
+    end;
+  end;
+end;
+
 
 { focus on Query SQL window editor on form show }
 
@@ -2055,7 +2073,7 @@ end;
 
 { Execute query according to passed query ype }
 
-procedure TfmQueryWindow.CallExecuteQuery(aQueryType: QueryTypes);
+procedure TfmQueryWindow.CallExecuteQuery(aQueryType: TQueryTypes);
 begin
   fList:= TStringList.Create;
 

+ 12 - 48
sqlhistory.lfm

@@ -9,7 +9,7 @@ object fmSQLHistory: TfmSQLHistory
   OnClose = FormClose
   OnCreate = FormCreate
   Position = poScreenCenter
-  LCLVersion = '1.0.8.0'
+  LCLVersion = '1.2.0.3'
   object DBGrid1: TDBGrid
     Left = 0
     Height = 404
@@ -54,21 +54,21 @@ object fmSQLHistory: TfmSQLHistory
     Width = 585
     Anchors = [akLeft, akRight, akBottom]
     Caption = 'Export to text file'
-    ClientHeight = 37
+    ClientHeight = 38
     ClientWidth = 581
     TabOrder = 3
     object cxAfterDate: TCheckBox
       Left = 6
-      Height = 24
+      Height = 17
       Top = 7
-      Width = 152
+      Width = 113
       Caption = 'Only after the date'
       OnClick = cxAfterDateClick
       TabOrder = 0
     end
     object DateEdit1: TDateEdit
       Left = 163
-      Height = 27
+      Height = 21
       Top = 2
       Width = 104
       CalendarDisplaySettings = [dsShowHeadings, dsShowDayNames]
@@ -77,61 +77,25 @@ object fmSQLHistory: TfmSQLHistory
       DateOrder = doNone
       ButtonWidth = 23
       CharCase = ecNormal
-      Glyph.Data = {
-        36040000424D3604000000000000360000002800000010000000100000000100
-        2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
-        FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-        FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D69E
-        72C4D3996EF4D19668FFCE9263FFCB8E5EFFC98A5BFFC78756FFC38452FFC384
-        52FFC38452FFC38452FFC38452FFC38452FFBB7742B0FFFFFF00FFFFFF00D7A1
-        75FFF8F2EDFFF7F0EAFFF6EDE6FFF4EAE2FFF3E7DEFFF1E4DBFFF0E2D8FFEAD6
-        C8FFF2E5DCFFFAF4F1FFF9F3F0FFFAF5F2FFC58A5DFDFFFFFF00FFFFFF00D9A4
-        7AFFF9F3EEFFEBD2BEFFFFFFFFFFEBD3BFFFFFFFFFFFEBD3C0FFFFFFFFFFEAC7
-        ADFFECD9CDFFF1E4DBFFF9F3F0FFF9F2EFFFC68C5FFFFFFFFF00FFFFFF00DDA8
-        7EFFF9F3EFFFEBD0BAFFEBD0BBFF75B57AFF75B57AFF75B57AFFEBD1BDFFEACD
-        B5FFFAF4F0FFEBD9CCFFF1E4DBFFFAF4F1FFC68A5CFFFFFFFF00FFFFFF00DFAA
-        82FFF9F3EFFFEACEB7FFFFFFFFFF75B57AFF94D49BFF74B579FFFFFFFFFFEACF
-        BAFFFBF6F2FFFAF3F0FFEBD8CBFFF2E6DDFFC88D5FFFFFFFFF00FFFFFF00E1AE
-        87FFFAF4F0FFEACBB2FFEACCB3FF75B57AFF74B579FF73B478FFEACEB7FF70B3
-        75FF6FB274FF6EB172FFE8C8AEFFEAD7C9FFC48654FFFFFFFF00FFFFFF00E3B1
-        8CFFFAF6F1FFEAC9AEFFFFFFFFFFEAC9B0FFFFFFFFFFE9CBB3FFFFFFFFFF6FB1
-        73FF8ED295FF6BAF6FFFFFFFFFFFF1E5DBFFC68655FFFFFFFF00FFFFFF00E5B4
-        8FFFFAF6F2FFE9C6AAFFE9C6ACFFEAC7ACFFE9C7ADFFE9C9AEFFE9C9B0FF6CB0
-        71FF6AAF6EFF68AD6DFFE8CCB5FFF2E7DEFFC88A59FFFFFFFF00FFFFFF00E7B7
-        94FFFBF7F4FFE9C3A6FFFFFFFFFFE8C4A9FFFFFFFFFFE9C6AAFFFFFFFFFFE8C7
-        ACFFFFFFFFFFE8C8B0FFFFFFFFFFF7F1EBFFCB8F5FFFFFFFFF00FFFFFF00E9BA
-        98FFFBF7F4FF65A4FFFF64A3FFFF62A2FFFF61A1FFFF5F9FFFFF5C9DFFFF5A9A
-        FFFF5798FFFF5495FFFF5294FFFFFBF7F4FFCE9364FFFFFFFF00FFFFFF00EBBD
-        9BFFFBF7F4FF64A4FFFF79BDFFFF75BBFFFF71B9FFFF6DB8FFFF68B3FFFF61B0
-        FFFF5AABFFFF54A7FFFF3B7DFFFFFBF7F4FFD1976AFFFFFFFF00FFFFFF00ECBF
-        9EFFFBF7F4FF65A4FFFF64A3FFFF60A0FFFF5D9EFFFF5899FFFF5496FFFF4D90
-        FFFF478BFFFF4284FFFF3D7FFFFFFBF7F4FFD49B6FFFFFFFFF00FFFFFF00EEC1
-        A1EBFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7
-        F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFD7A074F8FFFFFF00FFFFFF00EFC2
-        A37EEFC1A2E3EDC09FFFEBBE9DFFEBBC9AFFE9BA96FFE7B793FFE6B590FFE4B2
-        8CFFE2AF88FFE0AC84FFDDA980FFDCA57DFFDAA37ACAFFFFFF00FFFFFF00FFFF
-        FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-        FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
-      }
-      NumGlyphs = 0
+      NumGlyphs = 1
       MaxLength = 0
       TabOrder = 1
       Visible = False
     end
     object Label1: TLabel
       Left = 307
-      Height = 18
+      Height = 13
       Top = 5
-      Width = 63
+      Width = 46
       Caption = 'SQL Type'
       ParentColor = False
     end
     object cbSQLType: TComboBox
       Left = 379
-      Height = 27
+      Height = 21
       Top = -2
       Width = 100
-      ItemHeight = 0
+      ItemHeight = 13
       ItemIndex = 0
       Items.Strings = (
         'All'
@@ -156,9 +120,9 @@ object fmSQLHistory: TfmSQLHistory
   end
   object cxOverwrite: TCheckBox
     Left = 8
-    Height = 24
+    Height = 17
     Top = 462
-    Width = 179
+    Width = 130
     Caption = 'Overwrite existing SQL'
     TabOrder = 4
   end

+ 24 - 75
sqlhistory.lrs

@@ -1,8 +1,10 @@
+{ This is an automatically generated lazarus resource file }
+
 LazarusResources.Add('TfmSQLHistory','FORMDATA',[
   'TPF0'#13'TfmSQLHistory'#12'fmSQLHistory'#4'Left'#3#207#1#6'Height'#3#236#1#3
   +'Top'#3'%'#1#5'Width'#3'i'#3#7'Caption'#6#11'SQL History'#12'ClientHeight'#3
   +#236#1#11'ClientWidth'#3'i'#3#7'OnClose'#7#9'FormClose'#8'OnCreate'#7#10'For'
-  +'mCreate'#8'Position'#7#14'poScreenCenter'#10'LCLVersion'#6#7'1.0.8.0'#0#7'T'
+  +'mCreate'#8'Position'#7#14'poScreenCenter'#10'LCLVersion'#6#7'1.2.0.3'#0#7'T'
   +'DBGrid'#7'DBGrid1'#4'Left'#2#0#6'Height'#3#148#1#3'Top'#2#8#5'Width'#3'T'#3
   +#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#11'BorderStyle'#7
   +#6'bsNone'#5'Color'#7#8'clWindow'#7'Columns'#14#0#10'DataSource'#7#11'Dataso'
@@ -18,78 +20,25 @@ LazarusResources.Add('TfmSQLHistory','FORMDATA',[
   +'l'#7'OnClick'#7#13'bbDeleteClick'#8'TabOrder'#2#2#0#0#9'TGroupBox'#9'GroupB'
   +'ox1'#4'Left'#3#19#1#6'Height'#2'8'#3'Top'#3#166#1#5'Width'#3'I'#2#7'Anchors'
   +#11#6'akLeft'#7'akRight'#8'akBottom'#0#7'Caption'#6#19'Export to text file'
-  +#12'ClientHeight'#2'%'#11'ClientWidth'#3'E'#2#8'TabOrder'#2#3#0#9'TCheckBox'
-  +#11'cxAfterDate'#4'Left'#2#6#6'Height'#2#24#3'Top'#2#7#5'Width'#3#152#0#7'Ca'
-  +'ption'#6#19'Only after the date'#7'OnClick'#7#16'cxAfterDateClick'#8'TabOrd'
-  +'er'#2#0#0#0#9'TDateEdit'#9'DateEdit1'#4'Left'#3#163#0#6'Height'#2#27#3'Top'
-  +#2#2#5'Width'#2'h'#23'CalendarDisplaySettings'#11#14'dsShowHeadings'#14'dsSh'
-  +'owDayNames'#0#9'OKCaption'#6#2'OK'#13'CancelCaption'#6#6'Cancel'#9'DateOrde'
-  +'r'#7#6'doNone'#11'ButtonWidth'#2#23#8'CharCase'#7#8'ecNormal'#10'Glyph.Data'
-  +#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0
-  +#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#255
-  +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
-  +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
-  +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#214
-  +#158'r'#196#211#153'n'#244#209#150'h'#255#206#146'c'#255#203#142'^'#255#201
-  +#138'['#255#199#135'V'#255#195#132'R'#255#195#132'R'#255#195#132'R'#255#195
-  +#132'R'#255#195#132'R'#255#195#132'R'#255#187'wB'#176#255#255#255#0#255#255
-  +#255#0#215#161'u'#255#248#242#237#255#247#240#234#255#246#237#230#255#244#234
-  +#226#255#243#231#222#255#241#228#219#255#240#226#216#255#234#214#200#255#242
-  +#229#220#255#250#244#241#255#249#243#240#255#250#245#242#255#197#138']'#253
-  +#255#255#255#0#255#255#255#0#217#164'z'#255#249#243#238#255#235#210#190#255
-  +#255#255#255#255#235#211#191#255#255#255#255#255#235#211#192#255#255#255#255
-  +#255#234#199#173#255#236#217#205#255#241#228#219#255#249#243#240#255#249#242
-  +#239#255#198#140'_'#255#255#255#255#0#255#255#255#0#221#168'~'#255#249#243
-  +#239#255#235#208#186#255#235#208#187#255'u'#181'z'#255'u'#181'z'#255'u'#181
-  +'z'#255#235#209#189#255#234#205#181#255#250#244#240#255#235#217#204#255#241
-  +#228#219#255#250#244#241#255#198#138'\'#255#255#255#255#0#255#255#255#0#223
-  +#170#130#255#249#243#239#255#234#206#183#255#255#255#255#255'u'#181'z'#255
-  +#148#212#155#255't'#181'y'#255#255#255#255#255#234#207#186#255#251#246#242
-  +#255#250#243#240#255#235#216#203#255#242#230#221#255#200#141'_'#255#255#255
-  +#255#0#255#255#255#0#225#174#135#255#250#244#240#255#234#203#178#255#234#204
-  +#179#255'u'#181'z'#255't'#181'y'#255's'#180'x'#255#234#206#183#255'p'#179'u'
-  +#255'o'#178't'#255'n'#177'r'#255#232#200#174#255#234#215#201#255#196#134'T'
-  +#255#255#255#255#0#255#255#255#0#227#177#140#255#250#246#241#255#234#201#174
-  +#255#255#255#255#255#234#201#176#255#255#255#255#255#233#203#179#255#255#255
-  +#255#255'o'#177's'#255#142#210#149#255'k'#175'o'#255#255#255#255#255#241#229
-  +#219#255#198#134'U'#255#255#255#255#0#255#255#255#0#229#180#143#255#250#246
-  +#242#255#233#198#170#255#233#198#172#255#234#199#172#255#233#199#173#255#233
-  +#201#174#255#233#201#176#255'l'#176'q'#255'j'#175'n'#255'h'#173'm'#255#232
-  +#204#181#255#242#231#222#255#200#138'Y'#255#255#255#255#0#255#255#255#0#231
-  +#183#148#255#251#247#244#255#233#195#166#255#255#255#255#255#232#196#169#255
-  +#255#255#255#255#233#198#170#255#255#255#255#255#232#199#172#255#255#255#255
-  +#255#232#200#176#255#255#255#255#255#247#241#235#255#203#143'_'#255#255#255
-  +#255#0#255#255#255#0#233#186#152#255#251#247#244#255'e'#164#255#255'd'#163
-  +#255#255'b'#162#255#255'a'#161#255#255'_'#159#255#255'\'#157#255#255'Z'#154
-  +#255#255'W'#152#255#255'T'#149#255#255'R'#148#255#255#251#247#244#255#206#147
-  +'d'#255#255#255#255#0#255#255#255#0#235#189#155#255#251#247#244#255'd'#164
-  ,#255#255'y'#189#255#255'u'#187#255#255'q'#185#255#255'm'#184#255#255'h'#179
-  +#255#255'a'#176#255#255'Z'#171#255#255'T'#167#255#255';}'#255#255#251#247#244
-  +#255#209#151'j'#255#255#255#255#0#255#255#255#0#236#191#158#255#251#247#244
-  +#255'e'#164#255#255'd'#163#255#255'`'#160#255#255']'#158#255#255'X'#153#255
-  +#255'T'#150#255#255'M'#144#255#255'G'#139#255#255'B'#132#255#255'='#127#255
-  +#255#251#247#244#255#212#155'o'#255#255#255#255#0#255#255#255#0#238#193#161
-  +#235#251#247#244#255#251#247#244#255#251#247#244#255#251#247#244#255#251#247
-  +#244#255#251#247#244#255#251#247#244#255#251#247#244#255#251#247#244#255#251
-  +#247#244#255#251#247#244#255#251#247#244#255#215#160't'#248#255#255#255#0#255
-  +#255#255#0#239#194#163'~'#239#193#162#227#237#192#159#255#235#190#157#255#235
-  +#188#154#255#233#186#150#255#231#183#147#255#230#181#144#255#228#178#140#255
-  +#226#175#136#255#224#172#132#255#221#169#128#255#220#165'}'#255#218#163'z'
-  +#202#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
-  +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
-  +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
-  +#255#0#255#255#255#0#9'NumGlyphs'#2#0#9'MaxLength'#2#0#8'TabOrder'#2#1#7'Vis'
-  +'ible'#8#0#0#6'TLabel'#6'Label1'#4'Left'#3'3'#1#6'Height'#2#18#3'Top'#2#5#5
-  +'Width'#2'?'#7'Caption'#6#8'SQL Type'#11'ParentColor'#8#0#0#9'TComboBox'#9'c'
-  +'bSQLType'#4'Left'#3'{'#1#6'Height'#2#27#3'Top'#2#254#5'Width'#2'd'#10'ItemH'
-  +'eight'#2#0#9'ItemIndex'#2#0#13'Items.Strings'#1#6#3'All'#6#7'DDL,DML'#6#3'D'
-  +'DL'#6#3'DML'#6#6'Select'#0#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#2#4
-  +'Text'#6#3'All'#0#0#7'TBitBtn'#8'bbExport'#4'Left'#3#243#1#6'Height'#2#30#3
-  +'Top'#2#0#5'Width'#2'K'#7'Caption'#6#6'Export'#7'OnClick'#7#13'bbExportClick'
-  +#8'TabOrder'#2#3#0#0#0#9'TCheckBox'#11'cxOverwrite'#4'Left'#2#8#6'Height'#2
-  +#24#3'Top'#3#206#1#5'Width'#3#179#0#7'Caption'#6#22'Overwrite existing SQL'#8
-  +'TabOrder'#2#4#0#0#11'TDatasource'#11'Datasource1'#4'left'#2#127#3'top'#2#12
-  +#0#0#11'TSaveDialog'#11'SaveDialog1'#10'DefaultExt'#6#4'.sql'#6'Filter'#6#28
-  +'SQL File|*.sql|All files|*.*'#7'Options'#11#17'ofOverwritePrompt'#14'ofEnab'
-  +'leSizing'#12'ofViewDetail'#0#4'left'#3#17#3#3'top'#2'z'#0#0#0
+  +#12'ClientHeight'#2'&'#11'ClientWidth'#3'E'#2#8'TabOrder'#2#3#0#9'TCheckBox'
+  +#11'cxAfterDate'#4'Left'#2#6#6'Height'#2#17#3'Top'#2#7#5'Width'#2'q'#7'Capti'
+  +'on'#6#19'Only after the date'#7'OnClick'#7#16'cxAfterDateClick'#8'TabOrder'
+  +#2#0#0#0#9'TDateEdit'#9'DateEdit1'#4'Left'#3#163#0#6'Height'#2#21#3'Top'#2#2
+  +#5'Width'#2'h'#23'CalendarDisplaySettings'#11#14'dsShowHeadings'#14'dsShowDa'
+  +'yNames'#0#9'OKCaption'#6#2'OK'#13'CancelCaption'#6#6'Cancel'#9'DateOrder'#7
+  +#6'doNone'#11'ButtonWidth'#2#23#8'CharCase'#7#8'ecNormal'#9'NumGlyphs'#2#1#9
+  +'MaxLength'#2#0#8'TabOrder'#2#1#7'Visible'#8#0#0#6'TLabel'#6'Label1'#4'Left'
+  +#3'3'#1#6'Height'#2#13#3'Top'#2#5#5'Width'#2'.'#7'Caption'#6#8'SQL Type'#11
+  +'ParentColor'#8#0#0#9'TComboBox'#9'cbSQLType'#4'Left'#3'{'#1#6'Height'#2#21#3
+  +'Top'#2#254#5'Width'#2'd'#10'ItemHeight'#2#13#9'ItemIndex'#2#0#13'Items.Stri'
+  +'ngs'#1#6#3'All'#6#7'DDL,DML'#6#3'DDL'#6#3'DML'#6#6'Select'#0#5'Style'#7#14
+  +'csDropDownList'#8'TabOrder'#2#2#4'Text'#6#3'All'#0#0#7'TBitBtn'#8'bbExport'
+  +#4'Left'#3#243#1#6'Height'#2#30#3'Top'#2#0#5'Width'#2'K'#7'Caption'#6#6'Expo'
+  +'rt'#7'OnClick'#7#13'bbExportClick'#8'TabOrder'#2#3#0#0#0#9'TCheckBox'#11'cx'
+  +'Overwrite'#4'Left'#2#8#6'Height'#2#17#3'Top'#3#206#1#5'Width'#3#130#0#7'Cap'
+  +'tion'#6#22'Overwrite existing SQL'#8'TabOrder'#2#4#0#0#11'TDatasource'#11'D'
+  +'atasource1'#4'left'#2#127#3'top'#2#12#0#0#11'TSaveDialog'#11'SaveDialog1'#10
+  +'DefaultExt'#6#4'.sql'#6'Filter'#6#28'SQL File|*.sql|All files|*.*'#7'Option'
+  +'s'#11#17'ofOverwritePrompt'#14'ofEnableSizing'#12'ofViewDetail'#0#4'left'#3
+  +#17#3#3'top'#2'z'#0#0#0
 ]);

+ 0 - 5
sqlhistory.pas

@@ -28,7 +28,6 @@ type
     procedure bbDeleteClick(Sender: TObject);
     procedure bbExportClick(Sender: TObject);
     procedure bbInsertClick(Sender: TObject);
-    procedure Button1Click(Sender: TObject);
     procedure cxAfterDateClick(Sender: TObject);
     procedure DBGrid1DblClick(Sender: TObject);
     procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
@@ -84,10 +83,6 @@ begin
   Close;
 end;
 
-procedure TfmSQLHistory.Button1Click(Sender: TObject);
-begin
-end;
-
 procedure TfmSQLHistory.cxAfterDateClick(Sender: TObject);
 begin
   DateEdit1.Visible:= cxAfterDate.Checked;

+ 3 - 1
tablemanage.lfm

@@ -8,9 +8,11 @@ object fmTableManage: TfmTableManage
   Caption = 'Table Management'
   ClientHeight = 448
   ClientWidth = 819
+  KeyPreview = True
   OnClose = FormClose
+  OnKeyDown = FormKeyDown
   Position = poScreenCenter
-  LCLVersion = '1.3'
+  LCLVersion = '1.2.0.3'
   object PageControl1: TPageControl
     Left = 0
     Height = 413

File diff ditekan karena terlalu besar
+ 477 - 476
tablemanage.lrs


+ 17 - 1
tablemanage.pas

@@ -6,7 +6,7 @@ interface
 
 uses
   Classes, SysUtils, sqldb, IBConnection, FileUtil, LResources, Forms, Controls,
-  Graphics, Dialogs, ComCtrls, Grids, Buttons, StdCtrls, CheckLst;
+  Graphics, Dialogs, ComCtrls, Grids, Buttons, StdCtrls, CheckLst, LCLType;
 
 type
 
@@ -80,6 +80,7 @@ type
     procedure edDropClick(Sender: TObject);
     procedure edEditPermissionClick(Sender: TObject);
     procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
+    procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
   private
     fdbIndex: Integer;
     fTableName: string;
@@ -108,6 +109,21 @@ begin
   CloseAction:= caFree;
 end;
 
+procedure TfmTableManage.FormKeyDown(Sender: TObject; var Key: Word;
+  Shift: TShiftState);
+begin
+  if (ssCtrl in Shift) and
+    ((Key=VK_F4) or (Key=VK_W)) then
+  begin
+    if (MessageDlg('Do you want to close this query window?', mtConfirmation, [mbNo, mbYes], 0) = mrYes) then
+    begin
+      // Close when pressing Ctrl-W or Ctrl-F4 (Cmd-W/Cmd-F4 on OSX)
+      Close;
+      Parent.Free;
+    end;
+  end;
+end;
+
 
 procedure TfmTableManage.bbEditClick(Sender: TObject);
 var

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini