瀏覽代碼

modified: TurboBird.lpi
modified: TurboBird.lpr
modified: querywindow.lfm
modified: querywindow.lrs
modified: querywindow.pas
modified: sqlhistory.lfm
modified: sqlhistory.lrs
modified: sqlhistory.pas

motaz 13 年之前
父節點
當前提交
1c3c25226c
共有 8 個文件被更改,包括 969 次插入770 次删除
  1. 73 68
      TurboBird.lpi
  2. 1 1
      TurboBird.lpr
  3. 346 160
      querywindow.lfm
  4. 524 531
      querywindow.lrs
  5. 14 0
      querywindow.pas
  6. 5 5
      sqlhistory.lfm
  7. 5 5
      sqlhistory.lrs
  8. 1 0
      sqlhistory.pas

+ 73 - 68
TurboBird.lpi

@@ -60,7 +60,6 @@
         <Filename Value="TurboBird.lpr"/>
         <IsPartOfProject Value="True"/>
         <UnitName Value="TurboBird"/>
-        <IsVisibleTab Value="True"/>
         <EditorIndex Value="1"/>
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
@@ -76,9 +75,8 @@
         <UnitName Value="main"/>
         <EditorIndex Value="5"/>
         <WindowIndex Value="0"/>
-        <TopLine Value="469"/>
-        <CursorPos X="29" Y="496"/>
-        <FoldState Value=" T3irS0v/"/>
+        <TopLine Value="3714"/>
+        <CursorPos X="1" Y="3728"/>
         <UsageCount Value="200"/>
         <Loaded Value="True"/>
         <LoadedDesigner Value="True"/>
@@ -118,10 +116,14 @@
         <ComponentName Value="fmQueryWindow"/>
         <ResourceBaseClass Value="Form"/>
         <UnitName Value="QueryWindow"/>
+        <IsVisibleTab Value="True"/>
+        <EditorIndex Value="6"/>
         <WindowIndex Value="0"/>
-        <TopLine Value="155"/>
-        <CursorPos X="32" Y="161"/>
+        <TopLine Value="182"/>
+        <CursorPos X="3" Y="184"/>
         <UsageCount Value="200"/>
+        <Loaded Value="True"/>
+        <LoadedDesigner Value="True"/>
       </Unit5>
       <Unit6>
         <Filename Value="/usr/lib/lazarus/0.9.28.2/lcl/dialogs.pp"/>
@@ -534,7 +536,7 @@
         <Filename Value="scriptdb.pas"/>
         <IsPartOfProject Value="True"/>
         <UnitName Value="Scriptdb"/>
-        <EditorIndex Value="6"/>
+        <EditorIndex Value="8"/>
         <WindowIndex Value="0"/>
         <TopLine Value="393"/>
         <CursorPos X="41" Y="399"/>
@@ -559,7 +561,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="6"/>
         <CursorPos X="8" Y="34"/>
-        <UsageCount Value="191"/>
+        <UsageCount Value="192"/>
       </Unit53>
       <Unit54>
         <Filename Value="/usr/lib/lazarus/0.9.29/ide/lazarus.pp"/>
@@ -578,7 +580,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="303"/>
         <CursorPos X="20" Y="311"/>
-        <UsageCount Value="174"/>
+        <UsageCount Value="175"/>
       </Unit55>
       <Unit56>
         <Filename Value="/usr/lib/lazarus/0.9.29/lcl/grids.pas"/>
@@ -621,7 +623,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="13"/>
         <CursorPos X="22" Y="54"/>
-        <UsageCount Value="160"/>
+        <UsageCount Value="161"/>
       </Unit60>
       <Unit61>
         <Filename Value="unitfirebirdservices.pas"/>
@@ -687,7 +689,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="3"/>
         <CursorPos X="71" Y="7"/>
-        <UsageCount Value="130"/>
+        <UsageCount Value="131"/>
       </Unit68>
       <Unit69>
         <Filename Value="changepass.pas"/>
@@ -698,7 +700,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="3"/>
         <CursorPos X="88" Y="14"/>
-        <UsageCount Value="129"/>
+        <UsageCount Value="130"/>
       </Unit69>
       <Unit70>
         <Filename Value="permissionmanage.pas"/>
@@ -709,7 +711,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="61"/>
         <CursorPos X="44" Y="83"/>
-        <UsageCount Value="127"/>
+        <UsageCount Value="128"/>
       </Unit70>
       <Unit71>
         <Filename Value="sqlhistory.pas"/>
@@ -717,10 +719,13 @@
         <ComponentName Value="fmSQLHistory"/>
         <ResourceBaseClass Value="Form"/>
         <UnitName Value="SQLHistory"/>
+        <EditorIndex Value="7"/>
         <WindowIndex Value="0"/>
-        <TopLine Value="1"/>
-        <CursorPos X="18" Y="39"/>
-        <UsageCount Value="112"/>
+        <TopLine Value="61"/>
+        <CursorPos X="35" Y="66"/>
+        <UsageCount Value="113"/>
+        <Loaded Value="True"/>
+        <LoadedDesigner Value="True"/>
       </Unit71>
       <Unit72>
         <Filename Value="../../lazarus/lazarus/lcl/include/menuitem.inc"/>
@@ -745,7 +750,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="18"/>
         <CursorPos X="1" Y="44"/>
-        <UsageCount Value="83"/>
+        <UsageCount Value="84"/>
       </Unit74>
       <Unit75>
         <Filename Value="/usr/lib/lazarus/0.9.30/lcl/comctrls.pp"/>
@@ -937,7 +942,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="20"/>
         <CursorPos X="22" Y="41"/>
-        <UsageCount Value="51"/>
+        <UsageCount Value="52"/>
       </Unit98>
       <Unit99>
         <Filename Value="../../FromInternet/fpc2.4/fpc-2.4.4/packages/ibase/src/ibase60dyn.pp"/>
@@ -972,131 +977,131 @@
         <WindowIndex Value="0"/>
         <TopLine Value="392"/>
         <CursorPos X="22" Y="397"/>
-        <UsageCount Value="38"/>
+        <UsageCount Value="39"/>
         <Loaded Value="True"/>
         <LoadedDesigner Value="True"/>
       </Unit102>
     </Units>
     <JumpHistory Count="30" HistoryIndex="29">
       <Position1>
-        <Filename Value="comparison.pas"/>
-        <Caret Line="49" Column="34" TopLine="31"/>
+        <Filename Value="neweditfield.pas"/>
+        <Caret Line="169" Column="3" TopLine="168"/>
       </Position1>
       <Position2>
         <Filename Value="comparison.pas"/>
-        <Caret Line="338" Column="22" TopLine="332"/>
+        <Caret Line="408" Column="18" TopLine="379"/>
       </Position2>
       <Position3>
-        <Filename Value="systables.pas"/>
-        <Caret Line="256" Column="21" TopLine="251"/>
+        <Filename Value="main.pas"/>
+        <Caret Line="2366" Column="1" TopLine="2308"/>
       </Position3>
       <Position4>
-        <Filename Value="systables.pas"/>
-        <Caret Line="757" Column="3" TopLine="753"/>
+        <Filename Value="main.pas"/>
+        <Caret Line="1" Column="1" TopLine="1"/>
       </Position4>
       <Position5>
         <Filename Value="comparison.pas"/>
-        <Caret Line="338" Column="37" TopLine="332"/>
+        <Caret Line="416" Column="35" TopLine="383"/>
       </Position5>
       <Position6>
         <Filename Value="comparison.pas"/>
-        <Caret Line="362" Column="35" TopLine="329"/>
+        <Caret Line="230" Column="7" TopLine="230"/>
       </Position6>
       <Position7>
         <Filename Value="comparison.pas"/>
-        <Caret Line="86" Column="19" TopLine="76"/>
+        <Caret Line="275" Column="10" TopLine="257"/>
       </Position7>
       <Position8>
         <Filename Value="comparison.pas"/>
-        <Caret Line="353" Column="25" TopLine="335"/>
+        <Caret Line="285" Column="4" TopLine="268"/>
       </Position8>
       <Position9>
         <Filename Value="comparison.pas"/>
-        <Caret Line="397" Column="37" TopLine="369"/>
+        <Caret Line="398" Column="45" TopLine="381"/>
       </Position9>
       <Position10>
         <Filename Value="comparison.pas"/>
-        <Caret Line="426" Column="31" TopLine="396"/>
+        <Caret Line="410" Column="9" TopLine="402"/>
       </Position10>
       <Position11>
         <Filename Value="comparison.pas"/>
-        <Caret Line="435" Column="27" TopLine="409"/>
+        <Caret Line="130" Column="23" TopLine="116"/>
       </Position11>
       <Position12>
         <Filename Value="comparison.pas"/>
-        <Caret Line="453" Column="37" TopLine="425"/>
+        <Caret Line="114" Column="20" TopLine="107"/>
       </Position12>
       <Position13>
-        <Filename Value="comparison.pas"/>
-        <Caret Line="485" Column="30" TopLine="457"/>
+        <Filename Value="querywindow.pas"/>
+        <Caret Line="161" Column="32" TopLine="155"/>
       </Position13>
       <Position14>
-        <Filename Value="comparison.pas"/>
-        <Caret Line="51" Column="37" TopLine="38"/>
+        <Filename Value="main.pas"/>
+        <Caret Line="496" Column="29" TopLine="469"/>
       </Position14>
       <Position15>
-        <Filename Value="comparison.pas"/>
-        <Caret Line="365" Column="3" TopLine="363"/>
+        <Filename Value="main.pas"/>
+        <Caret Line="1" Column="1" TopLine="1"/>
       </Position15>
       <Position16>
-        <Filename Value="comparison.pas"/>
-        <Caret Line="364" Column="1" TopLine="351"/>
+        <Filename Value="main.pas"/>
+        <Caret Line="8" Column="34" TopLine="1"/>
       </Position16>
       <Position17>
-        <Filename Value="comparison.pas"/>
-        <Caret Line="52" Column="35" TopLine="24"/>
+        <Filename Value="main.pas"/>
+        <Caret Line="18" Column="32" TopLine="1"/>
       </Position17>
       <Position18>
-        <Filename Value="comparison.pas"/>
-        <Caret Line="379" Column="16" TopLine="375"/>
+        <Filename Value="main.pas"/>
+        <Caret Line="179" Column="32" TopLine="151"/>
       </Position18>
       <Position19>
-        <Filename Value="neweditfield.pas"/>
-        <Caret Line="169" Column="3" TopLine="168"/>
+        <Filename Value="main.pas"/>
+        <Caret Line="463" Column="44" TopLine="435"/>
       </Position19>
       <Position20>
-        <Filename Value="comparison.pas"/>
-        <Caret Line="408" Column="18" TopLine="379"/>
+        <Filename Value="main.pas"/>
+        <Caret Line="1058" Column="69" TopLine="1039"/>
       </Position20>
       <Position21>
         <Filename Value="main.pas"/>
-        <Caret Line="2366" Column="1" TopLine="2308"/>
+        <Caret Line="1" Column="1" TopLine="1"/>
       </Position21>
       <Position22>
         <Filename Value="main.pas"/>
-        <Caret Line="1" Column="1" TopLine="1"/>
+        <Caret Line="8" Column="34" TopLine="1"/>
       </Position22>
       <Position23>
-        <Filename Value="comparison.pas"/>
-        <Caret Line="416" Column="35" TopLine="383"/>
+        <Filename Value="querywindow.pas"/>
+        <Caret Line="234" Column="3" TopLine="232"/>
       </Position23>
       <Position24>
-        <Filename Value="comparison.pas"/>
-        <Caret Line="230" Column="7" TopLine="230"/>
+        <Filename Value="querywindow.pas"/>
+        <Caret Line="162" Column="18" TopLine="155"/>
       </Position24>
       <Position25>
-        <Filename Value="comparison.pas"/>
-        <Caret Line="275" Column="10" TopLine="257"/>
+        <Filename Value="querywindow.pas"/>
+        <Caret Line="164" Column="18" TopLine="157"/>
       </Position25>
       <Position26>
-        <Filename Value="comparison.pas"/>
-        <Caret Line="285" Column="4" TopLine="268"/>
+        <Filename Value="querywindow.pas"/>
+        <Caret Line="178" Column="15" TopLine="175"/>
       </Position26>
       <Position27>
-        <Filename Value="comparison.pas"/>
-        <Caret Line="398" Column="45" TopLine="381"/>
+        <Filename Value="querywindow.pas"/>
+        <Caret Line="180" Column="15" TopLine="177"/>
       </Position27>
       <Position28>
-        <Filename Value="comparison.pas"/>
-        <Caret Line="410" Column="9" TopLine="402"/>
+        <Filename Value="querywindow.pas"/>
+        <Caret Line="237" Column="14" TopLine="229"/>
       </Position28>
       <Position29>
-        <Filename Value="comparison.pas"/>
-        <Caret Line="130" Column="23" TopLine="116"/>
+        <Filename Value="querywindow.pas"/>
+        <Caret Line="184" Column="3" TopLine="182"/>
       </Position29>
       <Position30>
-        <Filename Value="comparison.pas"/>
-        <Caret Line="114" Column="20" TopLine="107"/>
+        <Filename Value="sqlhistory.pas"/>
+        <Caret Line="39" Column="15" TopLine="22"/>
       </Position30>
     </JumpHistory>
   </ProjectOptions>

+ 1 - 1
TurboBird.lpr

@@ -2,7 +2,7 @@
 {  TurboBird: FireBird database administration and management tool          }
 {  Developed by: Motaz Abdel Azeem http://code.sd/                          }
 {  Start development :  5.Dec.2009                                          }
-{  Last updated      : 15.May.2012                                          }
+{  Last updated      : 16.May.2012                                          }
 {  License           : GPL for GUI, LGPL for Units                          }
 {***************************************************************************}
 

+ 346 - 160
querywindow.lfm

@@ -1,11 +1,11 @@
 object fmQueryWindow: TfmQueryWindow
-  Left = 893
+  Left = 718
   Height = 601
   Top = 115
   Width = 720
   ActiveControl = Panel1
   Caption = 'fmQueryWindow'
-  ClientHeight = 599
+  ClientHeight = 601
   ClientWidth = 720
   Color = clForm
   Menu = MainMenu1
@@ -16,17 +16,17 @@ object fmQueryWindow: TfmQueryWindow
   LCLVersion = '0.9.31'
   object Panel1: TPanel
     Left = 0
-    Height = 54
+    Height = 60
     Top = 0
     Width = 720
     Align = alTop
-    ClientHeight = 50
-    ClientWidth = 716
+    ClientHeight = 60
+    ClientWidth = 720
     Color = clForm
     ParentColor = False
     TabOrder = 1
     object bbClose: TBitBtn
-      Left = 688
+      Left = 692
       Height = 24
       Top = -3
       Width = 27
@@ -40,9 +40,9 @@ object fmQueryWindow: TfmQueryWindow
     end
     object ToolBar1: TToolBar
       Left = 1
-      Height = 24
+      Height = 38
       Top = 21
-      Width = 712
+      Width = 716
       Align = alNone
       Anchors = [akTop, akLeft, akRight]
       Caption = 'ToolBar1'
@@ -54,6 +54,7 @@ object fmQueryWindow: TfmQueryWindow
         Left = 1
         Hint = 'Open New SQL Query Window'
         Top = 2
+        AutoSize = True
         ImageIndex = 0
         OnClick = tbNewClick
         ParentShowHint = False
@@ -63,6 +64,7 @@ object fmQueryWindow: TfmQueryWindow
         Left = 37
         Hint = 'Open SQL file'
         Top = 2
+        AutoSize = True
         Caption = 'tbOpen'
         ImageIndex = 1
         OnClick = tbOpenClick
@@ -73,6 +75,7 @@ object fmQueryWindow: TfmQueryWindow
         Left = 73
         Hint = 'Save SQL to file'
         Top = 2
+        AutoSize = True
         Caption = 'tbSave'
         ImageIndex = 2
         OnClick = tbSaveClick
@@ -83,49 +86,53 @@ object fmQueryWindow: TfmQueryWindow
         Left = 109
         Hint = 'Run Query (F5)'
         Top = 2
+        AutoSize = True
         ImageIndex = 3
         OnClick = tbRunClick
         ParentShowHint = False
         ShowHint = True
       end
       object tbCommit: TToolButton
-        Left = 150
+        Left = 186
         Hint = 'Commit Transaction'
         Top = 2
+        AutoSize = True
         Caption = 'tbCommit'
-        ImageIndex = 4
+        ImageIndex = 9
         OnClick = tbCommitClick
         ParentShowHint = False
         ShowHint = True
       end
       object tbRollback: TToolButton
-        Left = 186
+        Left = 258
         Hint = 'Rollback Transaction'
         Top = 2
+        AutoSize = True
         Caption = 'tbRollback'
-        ImageIndex = 5
+        ImageIndex = 8
         OnClick = tbRollbackClick
         ParentShowHint = False
         ShowHint = True
       end
       object ToolButton2: TToolButton
-        Left = 222
+        Left = 294
         Top = 2
         Width = 10
         Caption = 'ToolButton2'
         Style = tbsSeparator
       end
       object ToolButton3: TToolButton
-        Left = 268
+        Left = 340
         Top = 2
         Width = 10
         Caption = 'ToolButton3'
         Style = tbsSeparator
       end
       object tbHistory: TToolButton
-        Left = 232
+        Left = 304
         Hint = 'SQL History'
         Top = 2
+        AutoSize = True
         Caption = 'tbHistory'
         ImageIndex = 6
         OnClick = tbHistoryClick
@@ -133,47 +140,70 @@ object fmQueryWindow: TfmQueryWindow
         ShowHint = True
       end
       object ToolButton5: TToolButton
-        Left = 145
+        Left = 181
         Top = 2
         Width = 5
         Caption = 'ToolButton5'
         Style = tbsDivider
       end
       object tbMenu: TToolButton
-        Left = 278
+        Left = 350
         Hint = 'Menu'
         Top = 2
+        AutoSize = True
         Caption = 'tbMenu'
         ImageIndex = 7
         OnClick = tbMenuClick
         ParentShowHint = False
         ShowHint = True
       end
+      object tbCommitRetaining: TToolButton
+        Left = 145
+        Hint = 'Commit Retaining'
+        Top = 2
+        AutoSize = True
+        Caption = 'tbCommitRetaining'
+        ImageIndex = 4
+        OnClick = tbCommitRetainingClick
+        ParentShowHint = False
+        ShowHint = True
+      end
+      object tbRollbackRetaining: TToolButton
+        Left = 222
+        Hint = 'Rollback Retaining'
+        Top = 2
+        AutoSize = True
+        Caption = 'tbRollbackRetaining'
+        ImageIndex = 10
+        OnClick = tbRollbackRetainingClick
+        ParentShowHint = False
+        ShowHint = True
+      end
     end
   end
   object Splitter1: TSplitter
     Cursor = crVSplit
     Left = 0
     Height = 12
-    Top = 324
+    Top = 330
     Width = 720
     Align = alTop
     ResizeAnchor = akTop
   end
   object Panel2: TPanel
     Left = 0
-    Height = 263
-    Top = 336
+    Height = 259
+    Top = 342
     Width = 720
     Align = alClient
     ClientHeight = 259
-    ClientWidth = 716
+    ClientWidth = 720
     TabOrder = 3
     object PageControl1: TPageControl
       Left = 1
       Height = 257
       Top = 1
-      Width = 714
+      Width = 718
       Align = alClient
       Images = imTabs
       TabOrder = 0
@@ -182,7 +212,7 @@ object fmQueryWindow: TfmQueryWindow
   inline meQuery: TSynEdit
     Left = 0
     Height = 270
-    Top = 54
+    Top = 60
     Width = 720
     Align = alTop
     BlockIndent = 3
@@ -199,50 +229,24 @@ object fmQueryWindow: TfmQueryWindow
     Gutter.Width = 61
     Gutter.MouseActions = <    
       item
-        Shift = []
-        ShiftMask = []
-        Button = mbLeft
         ClickCount = ccAny
         ClickDir = cdDown
-        Command = 13
-        MoveCaret = False
-        Option = 0
-        Priority = 0
+        Command = emcOnMainGutterClick
       end    
       item
-        Shift = []
-        ShiftMask = []
         Button = mbRight
-        ClickCount = ccSingle
-        ClickDir = cdUp
-        Command = 12
-        MoveCaret = False
-        Option = 0
-        Priority = 0
+        Command = emcContextMenu
       end>
     RightGutter.Width = 0
     RightGutter.MouseActions = <    
       item
-        Shift = []
-        ShiftMask = []
-        Button = mbLeft
         ClickCount = ccAny
         ClickDir = cdDown
-        Command = 13
-        MoveCaret = False
-        Option = 0
-        Priority = 0
+        Command = emcOnMainGutterClick
       end    
       item
-        Shift = []
-        ShiftMask = []
         Button = mbRight
-        ClickCount = ccSingle
-        ClickDir = cdUp
-        Command = 12
-        MoveCaret = False
-        Option = 0
-        Priority = 0
+        Command = emcContextMenu
       end>
     Highlighter = SynSQLSyn1
     Keystrokes = <    
@@ -668,132 +672,89 @@ object fmQueryWindow: TfmQueryWindow
       end>
     MouseActions = <    
       item
-        Shift = []
         ShiftMask = [ssShift, ssAlt]
-        Button = mbLeft
-        ClickCount = ccSingle
         ClickDir = cdDown
-        Command = 1
+        Command = emcStartSelections
         MoveCaret = True
-        Option = 0
-        Priority = 0
       end    
       item
         Shift = [ssShift]
         ShiftMask = [ssShift, ssAlt]
-        Button = mbLeft
-        ClickCount = ccSingle
         ClickDir = cdDown
-        Command = 1
+        Command = emcStartSelections
         MoveCaret = True
         Option = 1
-        Priority = 0
       end    
       item
         Shift = [ssAlt]
         ShiftMask = [ssShift, ssAlt]
-        Button = mbLeft
-        ClickCount = ccSingle
         ClickDir = cdDown
-        Command = 3
+        Command = emcStartColumnSelections
         MoveCaret = True
-        Option = 0
-        Priority = 0
       end    
       item
         Shift = [ssShift, ssAlt]
         ShiftMask = [ssShift, ssAlt]
-        Button = mbLeft
-        ClickCount = ccSingle
         ClickDir = cdDown
-        Command = 3
+        Command = emcStartColumnSelections
         MoveCaret = True
         Option = 1
-        Priority = 0
       end    
       item
-        Shift = []
-        ShiftMask = []
         Button = mbRight
-        ClickCount = ccSingle
-        ClickDir = cdUp
-        Command = 12
-        MoveCaret = False
-        Option = 0
-        Priority = 0
+        Command = emcContextMenu
       end    
       item
-        Shift = []
-        ShiftMask = []
-        Button = mbLeft
         ClickCount = ccDouble
         ClickDir = cdDown
-        Command = 6
+        Command = emcSelectWord
         MoveCaret = True
-        Option = 0
-        Priority = 0
       end    
       item
-        Shift = []
-        ShiftMask = []
-        Button = mbLeft
         ClickCount = ccTriple
         ClickDir = cdDown
-        Command = 7
+        Command = emcSelectLine
         MoveCaret = True
-        Option = 0
-        Priority = 0
       end    
       item
-        Shift = []
-        ShiftMask = []
-        Button = mbLeft
         ClickCount = ccQuad
         ClickDir = cdDown
-        Command = 8
+        Command = emcSelectPara
         MoveCaret = True
-        Option = 0
-        Priority = 0
       end    
       item
-        Shift = []
-        ShiftMask = []
         Button = mbMiddle
-        ClickCount = ccSingle
         ClickDir = cdDown
-        Command = 10
+        Command = emcPasteSelection
         MoveCaret = True
-        Option = 0
-        Priority = 0
       end    
       item
         Shift = [ssCtrl]
         ShiftMask = [ssShift, ssAlt, ssCtrl]
-        Button = mbLeft
-        ClickCount = ccSingle
-        ClickDir = cdUp
-        Command = 11
-        MoveCaret = False
-        Option = 0
-        Priority = 0
+        Command = emcMouseLink
       end>
     MouseSelActions = <    
       item
-        Shift = []
-        ShiftMask = []
-        Button = mbLeft
-        ClickCount = ccSingle
         ClickDir = cdDown
-        Command = 9
-        MoveCaret = False
-        Option = 0
-        Priority = 0
+        Command = emcStartDragMove
       end>
+    VisibleSpecialChars = [vscSpace, vscTabAtLast]
     RightEdge = 120
     BracketHighlightStyle = sbhsBoth
+    BracketMatchColor.Background = clNone
+    BracketMatchColor.Foreground = clNone
+    BracketMatchColor.Style = [fsBold]
+    FoldedCodeColor.Background = clNone
+    FoldedCodeColor.Foreground = clGray
+    FoldedCodeColor.FrameColor = clGray
+    MouseLinkColor.Background = clNone
+    MouseLinkColor.Foreground = clBlue
+    LineHighlightColor.Background = clNone
+    LineHighlightColor.Foreground = clNone
     inline TSynGutterPartList
       object TSynGutterMarks
         Width = 24
+        MouseActions = <>
       end
       object TSynGutterLineNumber
         Width = 21
@@ -807,35 +768,26 @@ object fmQueryWindow: TfmQueryWindow
       end
       object TSynGutterChanges
         Width = 4
+        MouseActions = <>
         ModifiedColor = 59900
         SavedColor = clGreen
       end
       object TSynGutterSeparator
         Width = 2
+        MouseActions = <>
       end
       object TSynGutterCodeFolding
         MouseActions = <        
           item
-            Shift = []
-            ShiftMask = []
             Button = mbRight
-            ClickCount = ccSingle
-            ClickDir = cdUp
-            Command = 16
-            MoveCaret = False
-            Option = 0
-            Priority = 0
+            Command = emcCodeFoldContextMenu
           end        
           item
-            Shift = []
             ShiftMask = [ssShift]
             Button = mbMiddle
             ClickCount = ccAny
             ClickDir = cdDown
-            Command = 14
-            MoveCaret = False
-            Option = 0
-            Priority = 0
+            Command = emcCodeFoldCollaps
           end        
           item
             Shift = [ssShift]
@@ -843,58 +795,36 @@ object fmQueryWindow: TfmQueryWindow
             Button = mbMiddle
             ClickCount = ccAny
             ClickDir = cdDown
-            Command = 14
-            MoveCaret = False
+            Command = emcCodeFoldCollaps
             Option = 1
-            Priority = 0
           end        
           item
-            Shift = []
-            ShiftMask = []
-            Button = mbLeft
             ClickCount = ccAny
             ClickDir = cdDown
-            Command = 0
-            MoveCaret = False
-            Option = 0
-            Priority = 0
+            Command = emcNone
           end>
         MarkupInfo.Background = clNone
         MarkupInfo.Foreground = clGray
         MouseActionsExpanded = <        
           item
-            Shift = []
-            ShiftMask = []
-            Button = mbLeft
             ClickCount = ccAny
             ClickDir = cdDown
-            Command = 14
-            MoveCaret = False
-            Option = 0
-            Priority = 0
+            Command = emcCodeFoldCollaps
           end>
         MouseActionsCollapsed = <        
           item
             Shift = [ssCtrl]
             ShiftMask = [ssCtrl]
-            Button = mbLeft
             ClickCount = ccAny
             ClickDir = cdDown
-            Command = 15
-            MoveCaret = False
-            Option = 0
-            Priority = 0
+            Command = emcCodeFoldExpand
           end        
           item
-            Shift = []
             ShiftMask = [ssCtrl]
-            Button = mbLeft
             ClickCount = ccAny
             ClickDir = cdDown
-            Command = 15
-            MoveCaret = False
+            Command = emcCodeFoldExpand
             Option = 1
-            Priority = 0
           end>
       end
     end
@@ -1249,7 +1179,7 @@ object fmQueryWindow: TfmQueryWindow
     left = 518
     top = 126
     Bitmap = {
-      4C69090000002000000020000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      4C690B0000002000000020000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
@@ -2401,6 +2331,262 @@ object fmQueryWindow: TfmQueryWindow
       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000894C21368A4B1F92894C21D08A4C21D68A4D
+      21CB884A208E8949203800000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000008E471C12884B20B88F552BF2AF805BFDC09879FFC9A689FFC6A2
+      85FFB58A69FD955D35F5894C1FC5844C1C1B0000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      000089491B1C884B20DEA77753D0CAA58AE1CBA78BFFCEAB90FFCEAD93FFD0AF
+      96FFD1B198FFD1B299FFB68C6CFC894E23F0884A1C2D00000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000008055
+      2B0687491FC6AA7C5BADAB7C5BC99C6641E1A06B44EFB28362FDCDAB90FFCFAD
+      93FFCCA78CFFCBA68AFFCFAD94FFC1997CFF8A4D21E985471F19000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      000000000000000000000000000000000000000000000000000000000000864A
+      1F72915A32D78F552DEA874C1F9B87491F42884B2047884C21AB915831F6C7A2
+      86FFCCA98DFFC8A184FFC69F80FFCDAB90FFB38765FD8B4B20AD000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      00000000000000000000000000000000000000000000000000008E551C098749
+      1FC7884C22F3864B1D3D0000000000000000000000000000000088482058935C
+      32F3CDAB90FFC69E7FFFC49B7BFFC39A7AFFCEAC91FF915930F1884A1C2D0000
+      0000000000000000000000000000000000000000000000000000000000000000
+      000000000000000000000000000000000000000000000000000086481F39864A
+      1EA9854A1E450000000000000000000000000000000000000000000000008A4A
+      20A5B78B6AFCC8A183FFC29776FFC19573FFC9A386FFB18361FC874A1F8E0000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000844A1F538549
+      1D7B55555524545454BD595959FD5C5C5CFF5C5C5CFF5C5C5CFF5C5C5CFF6657
+      4DFF986744FFCBA589FFBF9371FFBE906DFFC29777FFC49D7FFF834E28FF5C5C
+      5CFF5B5B5BFF5B5B5BFF5B5B5BFF585858FC535353A949494907000000000000
+      000000000000000000000000000000000000000000000000000087481D358346
+      1F21535353B6AFAFAFFFFCFCFCFFFEFEFEFFFDFDFDFFFDFDFDFFFCFCFCFFF5F2
+      F0FF915831FFCBA78BFFBD8F6BFFBC8D69FFBD8E6AFFCCA98EFF8D522AFFF6F6
+      F6FFF5F5F5FFF4F4F4FFF3F3F3FFF2F2F2FF959595FF53535375000000000000
+      0000000000000000000000000000000000000000000000000000854316176666
+      4D0A545454EDF5F5F5FFCEBCAFFF874A1FFF874A1FFF874A1FFF874A1FFF874A
+      1FFF894E23FFCCA88CFFBA8A65FFB98863FFB88761FFCFAE95FF874A1FFF874A
+      1FFF874A1FFF874A1FFF874A1FFFAD896FFFDEDEDEFF535353D9000000010000
+      0000000000000000000000000000000000000000000000000000000000005353
+      5359979797FFF8F8F8FFE5E5E5FFC3AD9CFF955E38FFC2997AFFC8A183FFC9A3
+      86FFCBA68AFFCCA88DFFB8855FFFB7845DFFB6825BFFCFAF94FFD0B097FFD1B2
+      99FFD1B198FFB08261FF9B6A48FFDBDAD9FFEDEDEDFF7E7E7EFF545454430000
+      0000000000000000000000000000000000000000000000000000000000005353
+      53BCDFDFDFFFECECECFFE0E0E0FFE3E3E3FFB99B86FF98613AFFC39A7BFFBA8A
+      65FFB6825BFFB5825AFFB58159FFB48058FFB0794EFFAB7043FFA76939FFBE8F
+      6CFFB68968FF905A34FFD2CDCAFFD7D7D7FFE2E2E2FFC3C3C3FF535353AA0000
+      0000000000000000000000000000000000000000000000000000535353226969
+      69FEFAFAFAFFE1E1E1FFE4E4E4FFE7E7E7FFE7E7E7FFAC876CFF9C6942FFC39B
+      7BFFB58158FFAE764AFFAA6E41FFA56636FFA46433FFA46433FFB6835CFFBE93
+      74FF8F562DFFCEC3BBFFDCDCDCFFD9D9D9FFD9D9D9FFE9E9E9FF5F5F5FF94E4E
+      4E1700000000000000000000000000000000000000000000000054545486BDBD
+      BDFFF0F0F0FFE1E1E1FFE5E5E5FFE5E5E5FFE4E4E4FFE2E1E0FFA3785AFF9F6A
+      42FFBD8E6AFFA7693AFFA46433FFA46433FFA46433FFB0784DFFC49C7DFF9259
+      31FFC2B0A2FFDCDCDCFFDBDBDBFFDADADAFFD8D8D8FFE4E4E4FFA2A2A2FF5353
+      5378000000000000000000000000000000000000000040404004555555E5F0F0
+      F0FFE4E4E4FFE5E5E5FFE4E4E4FFE2E2E2FFE0E0E0FFDDDDDDFFDAD9D8FF9A6A
+      48FFA26E47FFBF926FFFA76939FFA46433FFAA6F41FFC7A082FF98623CFFB193
+      7EFFD8D8D8FFD9D9D9FFDADADAFFDADADAFFDADADAFFDADADAFFD8D8D8FF5353
+      53DE80808002000000000000000000000000000000005252524E919191FFF5F5
+      F5FFDCDCDCFFE7E7E7FFE0E0E0FFDCDCDCFFD9D9D9FFD6D6D6FFD6D6D6FFD2CE
+      CCFF935E39FFAC7A55FFBF9270FFA96C3DFFC69D7EFFA2704AFF9F7658FFD0D0
+      D0FFD1D1D1FFD2D2D2FFD4D4D4FFD6D6D6FFDEDEDEFFD4D4D4FFE5E5E5FF7F7F
+      7FFF5151514800000000000000000000000000000000535353B3D8D8D8FFE7E7
+      E7FFDCDCDCFFE3E3E3FFDFDFDFFFD6D6D6FFD5D5D5FFD5D5D5FFD4D4D4FFD1D1
+      D1FFC6BFBAFF8E572FFFB1825EFFCAA589FFAD7C59FF93603CFFC5C3C1FFCACA
+      CAFFCCCCCCFFCDCDCDFFD0D0D0FFD8D8D8FFDBDBDBFFD2D2D2FFDBDBDBFFBDBD
+      BDFF545454AE0000000000000000000000004E4E4E1A676767FBF5F5F5FFDCDC
+      DCFFD9D9D9FFD7D7D7FFDFDFDFFFDFDFDFFFD7D7D7FFD4D4D4FFD1D1D1FFCECE
+      CEFFC8C8C8FFBDB4AEFF8C532BFFA6724DFF8D542BFFBBB5B0FFC4C4C4FFC6C6
+      C6FFCACACAFFCDCDCDFFD8D8D8FFD9D9D9FFCDCDCDFFD0D0D0FFD3D3D3FFE0E0
+      E0FF626262FB5555551B000000000000000052525279B6B6B6FFEBEBEBFFDDDD
+      DDFFDADADAFFD8D8D8FFD6D6D6FFDADADAFFE2E2E2FFDEDEDEFFD7D7D7FFCFCF
+      CFFFCBCBCBFFC8C8C8FFB8ABA2FF874A1FFFB8ABA2FFC6C6C6FFCACACAFFD0D0
+      D0FFD7D7D7FFDADADAFFD2D2D2FFCECECEFFCFCFCFFFD2D2D2FFD8D8D8FFDDDD
+      DDFF9D9D9DFF5353537E0000000000000000535353D3E9E9E9FFE1E1E1FFF7F7
+      F7FFE7E7E7FFDADADAFFD9D9D9FFD6D6D6FFD5D5D5FFD6D6D6FFD9D9D9FFDCDC
+      DCFFDCDCDCFFDBDBDBFFDADADAFFD5D0CDFFD9D9D9FFDBDBDBFFD9D9D9FFD7D7
+      D7FFD0D0D0FFCECECEFFCFCFCFFFD1D1D1FFD3D3D3FFE2E2E2FFF6F6F6FFDADA
+      DAFFD3D3D3FF575757DB0000000000000000535353F8F6F6F6FFDCDCDCFFDDDD
+      DDFFDBDBDBFFDCDCDCFFDCDCDCFFDCDCDCFFDCDCDCFFDBDBDBFFD9D9D9FFD8D8
+      D8FFD7D7D7FFD6D6D6FFD4D4D4FFD4D4D4FFD4D4D4FFD5D5D5FFD6D6D6FFD7D7
+      D7FFD7D7D7FFD8D8D8FFD8D8D8FFD8D8D8FFD7D7D7FFD6D6D6FFD7D7D7FFD5D5
+      D5FFE8E8E8FF555555FF0000000000000000535353FFF0F0F0FFE0E0E0FFE1E1
+      E1FFE1E1E1FFE0E0E0FFE0E0E0FFDFDFDFFFDFDFDFFFDEDEDEFFDDDDDDFFDDDD
+      DDFFDDDDDDFFDCDCDCFFDCDCDCFFDBDBDBFFDBDBDBFFDADADAFFDADADAFFDADA
+      DAFFD9D9D9FFD8D8D8FFD7D7D7FFD7D7D7FFD6D6D6FFD6D6D6FFD5D5D5FFD5D5
+      D5FFD0D0D0FF535353FF0000000000000000535353FFECECECFFBABABAFFBABA
+      BAFFB9B9B9FFB8B8B8FFB7B7B7FFB5B5B5FFB4B4B4FFB3B3B3FFB2B2B2FFB1B1
+      B1FFAFAFAFFFAEAEAEFFADADADFFACACACFFABABABFFAAAAAAFFA8A8A8FFA7A7
+      A7FFA6A6A6FFA5A5A5FFA4A4A4FFA2A2A2FFA1A1A1FFA0A0A0FF9F9F9FFF9F9F
+      9FFFB9B9B9FF535353FF0000000000000000535353FFEAEAEAFFBABABAFFBABA
+      BAFF848484FF8A8A8AFF929292FF999999FF9E9E9EFFA3A3A3FFA7A7A7FFAAAA
+      AAFFACACACFFADADADFFAEAEAEFFABABABFFAAAAAAFF989898FFC5C5C5FF9797
+      97FFC3C3C3FF949494FFC2C2C2FF929292FFC1C1C1FF909090FFBFBFBFFF9F9F
+      9FFFB7B7B7FF535353FF0000000000000000535353FFE9E9E9FFBABABAFFB9B9
+      B9FF878787FF8A8A8AFF929292FF999999FF9E9E9EFFA3A3A3FFA7A7A7FFAAAA
+      AAFFABABABFFADADADFFADADADFFABABABFFAAAAAAFF989898FFC5C5C5FF9696
+      96FFC3C3C3FF949494FFC2C2C2FF919191FFC0C0C0FF8F8F8FFFBFBFBFFF9F9F
+      9FFFB4B4B4FF535353FF0000000000000000535353FFE7E7E7FFBABABAFFB9B9
+      B9FF8E8E8EFF8C8C8CFF929292FF999999FF9E9E9EFFA3A3A3FFA7A7A7FFAAAA
+      AAFFABABABFFADADADFFACACACFFAAAAAAFFA9A9A9FF989898FFC5C5C5FF9696
+      96FFC3C3C3FF939393FFC1C1C1FF919191FFC0C0C0FF8F8F8FFFBFBFBFFF9F9F
+      9FFFB2B2B2FF535353FF0000000000000000535353FFE4E4E4FFBABABAFFB8B8
+      B8FFB8B8B8FFB5B5B5FFB9B9B9FFB3B3B3FFB0B0B0FFAFAFAFFFACACACFFADAD
+      ADFFAAAAAAFFACACACFFACACACFFAAAAAAFFA9A9A9FF979797FFC4C4C4FF9595
+      95FFC3C3C3FF939393FFC1C1C1FF909090FFBFBFBFFF8F8F8FFFBFBFBFFFA0A0
+      A0FFAEAEAEFF535353FD0000000000000000525252DFC5C5C5FFE1E1E1FFE0E0
+      E0FFDEDEDEFFDCDCDCFFDBDBDBFFD9D9D9FFD7D7D7FFD5D5D5FFD3D3D3FFD1D1
+      D1FFCFCFCFFFCDCDCDFFCBCBCBFFC9C9C9FFC7C7C7FFC4C4C4FFC2C2C2FFBFBF
+      BFFFBDBDBDFFBBBBBBFFB9B9B9FFB6B6B6FFB4B4B4FFB2B2B2FFB1B1B1FFAFAF
+      AFFF959595FF515151D6000000080000000048484858515151E3535353FF5353
+      53FF535353FF535353FF535353FF535353FF535353FF535353FF535353FF5353
+      53FF535353FF535353FF535353FF535353FF535353FF535353FF535353FF5353
+      53FF535353FF535353FF535353FF535353FF535353FF535353FF535353FF5353
+      53FF505050E33A3A3A5D0000000E00000000000000080000001B0000002C0000
+      003A000000400000004500000045000000450000004500000045000000450000
+      0045000000450000004500000045000000450000004500000045000000450000
+      004500000045000000450000004500000045000000450000003F000000420000
+      003A0000002C00000017000000020000000000000000000000010000000C0000
+      00170000001F0000002200000022000000220000002200000022000000220000
+      0022000000220000002200000022000000220000002200000022000000220000
+      002200000022000000220000002200000022000000220000001E0000001A0000
+      0012000000060000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF0000FFFF0100A0C5830099CC0FFFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF0000A4C80E00A3C6BC00A0C4FF009FBF10FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000A1
+      C32601A2C6E158CDE2FA04A3C6F9009FBF10FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00009FC44A0BA5
+      C7F47BDDECFEA5EFF8FF04A3C5F8009FBF10FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000A1C67D20AECCF797E8
+      F2FF87EAF6FFA6EFF8FF04A3C5F8009FBF10FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF0000A2B90B00A2C6B342BDD8F7A9EEF6FF7FE9
+      F5FF5BE3F3FFA8F0F8FF05A3C5F8009FBF10FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00009FC72002A3C6DB6CD2E4FAAFF0F8FF7BE8F5FF65E5
+      F4FF5FE4F3FFA9F0F8FF05A3C5F8009FBF10FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00009EC5420DA6C8F191E1EFFEAEF1F8FF7CE8F5FF6FE6F4FF68E5
+      F4FF61E4F3FFAAF0F8FF06A4C6FB00A2C5F600A3C6E600A4C6C600A1C572009F
+      C628FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF0000A1C57224AFCEF7A6EAF4FFA3EFF8FF7DE8F5FF76E7F5FF6FE6F4FF68E5
+      F4FF61E4F3FFAAF0F8FF9DEEF8FF8DEAF5FF7AE4F1FF57D8EBFF36C4DDF906A5
+      C8F500A3C7B1009EC215FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00009FBF0800A2
+      C5A843BDD7F7ACEEF7FF8DEBF6FF75E7F5FF75E7F5FF71E7F4FF6CE6F4FF65E5
+      F4FF5FE4F3FF5AE2F3FF4BE0F2FF33DCEFFF26DAEFFF32DCF0FF5BE3F3FF78E7
+      F4FF49CBE2FB12A8C9F300A3C45BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00009DC40D00A2C6D25CCA
+      E0F9ABF0F8FF77E7F4FF6BE6F4FF6DE6F4FF6DE6F4FF6AE5F4FF66E5F4FF61E4
+      F3FF55E2F3FF15D7EEFF00D4EDFF00D4EDFF00D4EDFF00D4EDFF00D4EDFF11D6
+      EEFF47DFF2FF77E2F1FF29B6D2F700A4C7BE0092B607FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000A3C66F20AE
+      CDF69AE9F3FF8BEBF6FF63E4F3FF64E4F4FF64E4F4FF62E4F3FF5FE4F3FF50E1
+      F2FF0ED6EDFF00D4EDFF00D4EDFF00D4EDFF00D4EDFF00D4EDFF00D4EDFF00D4
+      EDFF00D4EDFF1AD8EEFF75E7F4FF31BFD9F800A2C68EFFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000A1
+      C4490EA7C8F487E2EFFE95ECF7FF60E4F3FF5CE3F3FF5AE3F3FF4CE0F2FF09D5
+      EDFF00D4EDFF01D4EDFF00D4EDFF00D4EDFF00D4EDFF00D4EDFF00D4EDFF00D4
+      EDFF00D4EDFF00D4EDFF13D7EEFF72E5F2FF23AFCDF7009FC535FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF0000A2C52C03A2C5EA6DD7E9FC9CEEF7FF5EE3F3FF40DEF1FF0AD5EDFF00D4
+      EDFF00D4EDFF7CE8F5FF79E7F5FF70E6F4FF68E5F4FF56E2F3FF29DAEFFF03D4
+      EDFF00D4EDFF00D4EDFF00D4EDFF2DDBF0FF62D9EBFE00A2C6DF00AAD506FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF0000A2C51600A3C6D343C5DDF977E7F4FF20D9EFFF00D4EDFF00D4
+      EDFF00D4EDFF7DE9F5FF0CA8C9FB11AACBF51BB4D2F231C3DCF95DDAEBFF71E7
+      F4FF35DCF0FF00D4EDFF00D4EDFF02D4EDFF61E4F3FF1FB7D4F400A1C45FFFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00009FBF0800A3C7B120B4D2F674E5F3FF34DCF0FF00D4
+      EDFF00D4EDFF78E8F5FF04A3C5F8009FC535009FC44A00A1C36F00A3C6E511B5
+      D3F55DDFF1FF40DEF1FF02D4EDFF00D4EDFF2DDBF0FF3CCBE2FE00A2C589FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF0000FFFF0100A2C68710AACBF662DEEFFF44DF
+      F1FF02D4EDFF6EE6F4FF04A3C5F8009FBF10FFFFFF00FFFFFF000092B60700A0
+      C58407A4C6F74ADAEDFF2DDBF0FF00D4EDFF1AD8EEFF40D2E7FF00A3C7B7FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000A1C55C05A3C8F549D6
+      EAFF4CE0F2FF63E4F3FF03A3C5F8009FBF10FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF0000A1C5720CAFCFF54DE0F2FF06D5EDFF0ED6EDFF40D7EBFF00A3C6DCFFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00009EC63A01A3
+      C6F031CAE2FD5AE3F3FF03A3C5F8009FBF10FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF0000AAAA0300A3C6D82ECDE4FE1CD8EEFF10D6EEFF35D8ECFF00A2C5EFFFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000A2
+      C12100A3C6E01DBDD9FA02A2C6F9009FBF10FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF0000A1C5721ABEDAF922D9EFFF1AD8EEFF20CBE4FF00A3C6C5FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000100000002000000030000
+      0003007AA31300A1C6C500A0C4FF007B93150000000400000004000000040000
+      000300000002009FC36511B9D6F520D9EFFF21D9EFFF10B9D6F800A0C479FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00000000010000000200000004000000050000000600000008000000090000
+      00090000000A0033330F009ABE9C0060741A0000000B0000000A0000000A0000
+      000900000008009BBC7313B7D5F61DD8EFFF1FD3EAFF02A1C5F4009CC612FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000010000
+      00030000000500000007000000080000000A0000000C0000000D0000000E0000
+      000F000000100000001100000011000E0E120000001100000011000000100000
+      000F0028361300A3C6DB16CBE5EF1BD7EEEC08B1D2EE009EBF7A000000040000
+      0002FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000002000000040000
+      0006000000080000000A0000000C0000000E0000001000000012000000130000
+      0015000000160000001700000018000000180000001700000017000000160000
+      00140089A75D05B0D1D514D3EAC70AB9D6D700A1C29E003B3B0D000000070000
+      00050000000300000001FFFFFF00FFFFFF000000000100000004000000060000
+      00080000000A0000000D0000000F000000110000001300000015000000180000
+      001A0000001B0000001D0000001E0000001E0000001E0000001C0000001A0081
+      9C5302A5C4B708C2DAAD02B2D0BB009DBE9000313D150000000B000000090000
+      00070000000500000002FFFFFF00FFFFFF000000000200000004000000060000
+      00090000000B0000000D00000010000000120000001400000017000000190000
+      001B0000001E00000020000000220000002300000021001C23240084A06400A4
+      C29800B2CD9100A6C4960088A452001919140000000E0000000C0000000A0000
+      00070000000500000003FFFFFF00FFFFFF000000000100000003000000060000
+      00080000000A0000000C0000000F000000110000001300000015000000170000
+      00190000001A0000001C0000001D002E34270060713A0088A15D009EBA78009A
+      B66B0089A5530051652600000012000000100000000D0000000B000000090000
+      00070000000400000001FFFFFF00FFFFFF00FFFFFF0000000001000000030000
+      0006000000080000000A0000000C0000000D0000000F0000001100000012000C
+      0C15001F1F190039411F005A6D2A0072813300748B370072863300546E270028
+      321900000012000000100000000E0000000C0000000B00000009000000060000
+      000400000001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
+      0002000000040000000600000007000000090000000B0000000C0000000D0000
+      000E0000000F000000100000001000000010000000100000000F0000000F0000
+      000E0000000D0000000B0000000A00000008000000070000000500000001FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF0000000001000000030000000500000006000000070000
+      00080000000900000009000000090000000A0000000900000009000000080000
+      000800000007000000050000000300000001FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
+      000100000001000000010000000200000001000000010000000100000001FFFF
+      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
       FF00FFFFFF00FFFFFF00FFFFFF00
     }
   end

文件差異過大導致無法顯示
+ 524 - 531
querywindow.lrs


+ 14 - 0
querywindow.pas

@@ -62,6 +62,8 @@ type
     tbRun: TToolButton;
     tbCommit: TToolButton;
     tbRollback: TToolButton;
+    tbCommitRetaining: TToolButton;
+    tbRollbackRetaining: TToolButton;
     ToolButton2: TToolButton;
     ToolButton3: TToolButton;
     tbHistory: TToolButton;
@@ -95,11 +97,13 @@ type
       TheException: Exception; var Continue: boolean);
     procedure tbCloseClick(Sender: TObject);
     procedure tbCommitClick(Sender: TObject);
+    procedure tbCommitRetainingClick(Sender: TObject);
     procedure tbHistoryClick(Sender: TObject);
     procedure tbMenuClick(Sender: TObject);
     procedure tbNewClick(Sender: TObject);
     procedure tbOpenClick(Sender: TObject);
     procedure tbRollbackClick(Sender: TObject);
+    procedure tbRollbackRetainingClick(Sender: TObject);
     procedure tbRunClick(Sender: TObject);
     procedure tbSaveClick(Sender: TObject);
   private
@@ -170,6 +174,11 @@ begin
   OnCommit:= nil;
 end;
 
+procedure TfmQueryWindow.tbCommitRetainingClick(Sender: TObject);
+begin
+  SqlTrans.CommitRetaining;
+end;
+
 procedure TfmQueryWindow.tbHistoryClick(Sender: TObject);
 begin
   fmSQLHistory.Init(RegRec.Title, Self);
@@ -217,6 +226,11 @@ begin
   meResult.Font.Color:= $AA6666;
 end;
 
+procedure TfmQueryWindow.tbRollbackRetainingClick(Sender: TObject);
+begin
+  SqlTrans.RollbackRetaining;
+end;
+
 procedure TfmQueryWindow.tbRunClick(Sender: TObject);
 begin
   ExecuteQuery(0);

+ 5 - 5
sqlhistory.lfm

@@ -1,5 +1,5 @@
 object fmSQLHistory: TfmSQLHistory
-  Left = 668
+  Left = 565
   Height = 453
   Top = 354
   Width = 873
@@ -58,9 +58,9 @@ object fmSQLHistory: TfmSQLHistory
     TabOrder = 3
     object cxAfterDate: TCheckBox
       Left = 6
-      Height = 22
+      Height = 24
       Top = 7
-      Width = 147
+      Width = 152
       Caption = 'Only after the date'
       OnClick = cxAfterDateClick
       TabOrder = 0
@@ -121,13 +121,13 @@ object fmSQLHistory: TfmSQLHistory
       Left = 307
       Height = 18
       Top = 5
-      Width = 60
+      Width = 63
       Caption = 'SQL Type'
       ParentColor = False
     end
     object cbSQLType: TComboBox
       Left = 379
-      Height = 31
+      Height = 27
       Top = -2
       Width = 100
       ItemHeight = 0

+ 5 - 5
sqlhistory.lrs

@@ -1,7 +1,7 @@
 { This is an automatically generated lazarus resource file }
 
 LazarusResources.Add('TfmSQLHistory','FORMDATA',[
-  'TPF0'#13'TfmSQLHistory'#12'fmSQLHistory'#4'Left'#3#156#2#6'Height'#3#197#1#3
+  'TPF0'#13'TfmSQLHistory'#12'fmSQLHistory'#4'Left'#3'5'#2#6'Height'#3#197#1#3
   +'Top'#3'b'#1#5'Width'#3'i'#3#7'Caption'#6#11'SQL History'#12'ClientHeight'#3
   +#197#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#6'0.9.31'#0#7'TD'
@@ -20,8 +20,8 @@ LazarusResources.Add('TfmSQLHistory','FORMDATA',[
   +'roupBox'#9'GroupBox1'#4'Left'#3#19#1#6'Height'#2'8'#3'Top'#3#136#1#5'Width'
   +#3'I'#2#7'Anchors'#11#6'akLeft'#7'akRight'#8'akBottom'#0#7'Caption'#6#19'Exp'
   +'ort 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#22#3'Top'#2#7#5'Wi'
-  +'dth'#3#147#0#7'Caption'#6#19'Only after the date'#7'OnClick'#7#16'cxAfterDa'
+  +#3#0#9'TCheckBox'#11'cxAfterDate'#4'Left'#2#6#6'Height'#2#24#3'Top'#2#7#5'Wi'
+  +'dth'#3#152#0#7'Caption'#6#19'Only after the date'#7'OnClick'#7#16'cxAfterDa'
   +'teClick'#8'TabOrder'#2#0#0#0#9'TDateEdit'#9'DateEdit1'#4'Left'#3#163#0#6'He'
   +'ight'#2#27#3'Top'#2#2#5'Width'#2'h'#23'CalendarDisplaySettings'#11#14'dsSho'
   +'wHeadings'#14'dsShowDayNames'#0#9'OKCaption'#6#2'OK'#13'CancelCaption'#6#6
@@ -81,8 +81,8 @@ LazarusResources.Add('TfmSQLHistory','FORMDATA',[
   +#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'Visible'#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'TComboBo'
-  +'x'#9'cbSQLType'#4'Left'#3'{'#1#6'Height'#2#31#3'Top'#2#254#5'Width'#2'd'#10
+  +#2#5#5'Width'#2'?'#7'Caption'#6#8'SQL Type'#11'ParentColor'#8#0#0#9'TComboBo'
+  +'x'#9'cbSQLType'#4'Left'#3'{'#1#6'Height'#2#27#3'Top'#2#254#5'Width'#2'd'#10
   +'ItemHeight'#2#0#9'ItemIndex'#2#0#13'Items.Strings'#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

+ 1 - 0
sqlhistory.pas

@@ -67,6 +67,7 @@ begin
     SQLStatement:= SQLStatement + ';';
 
   (fQueryForm as TfmQueryWindow).meQuery.Lines.Text:= (fQueryForm as TfmQueryWindow).meQuery.Lines.Text + SQLStatement;
+  Close;
 end;
 
 procedure TfmSQLHistory.Button1Click(Sender: TObject);

部分文件因文件數量過多而無法顯示