mirror of
https://github.com/HeidiSQL/HeidiSQL.git
synced 2025-08-06 18:24:26 +08:00
Try the same workaround for invisible or black dropdown buttons on Wine as previously only for dropdown toolbuttons (becd4bdd0e3845f9ad7845fe7637460914878afa and 61202be058cc135f938a131207f47f9546efff26). Probably fixes issue #94. May also not fix it, as the toolbutton issue was not only on Wine.
This commit is contained in:
@ -13,7 +13,7 @@ uses
|
|||||||
Windows, ShlObj, ActiveX, VirtualTrees, SynRegExpr, Messages, Math,
|
Windows, ShlObj, ActiveX, VirtualTrees, SynRegExpr, Messages, Math,
|
||||||
Registry, DateUtils, Generics.Collections, StrUtils, AnsiStrings, TlHelp32, Types,
|
Registry, DateUtils, Generics.Collections, StrUtils, AnsiStrings, TlHelp32, Types,
|
||||||
dbconnection, mysql_structures, SynMemo, Menus, WinInet, gnugettext, Themes,
|
dbconnection, mysql_structures, SynMemo, Menus, WinInet, gnugettext, Themes,
|
||||||
Character, ImgList, System.UITypes, ActnList, WinSock, IOUtils;
|
Character, ImgList, System.UITypes, ActnList, WinSock, IOUtils, StdCtrls, ComCtrls;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
@ -292,6 +292,7 @@ type
|
|||||||
function WideHexToBin(text: String): AnsiString;
|
function WideHexToBin(text: String): AnsiString;
|
||||||
function BinToWideHex(bin: AnsiString): String;
|
function BinToWideHex(bin: AnsiString): String;
|
||||||
procedure FixVT(VT: TVirtualStringTree; MultiLineCount: Word=1);
|
procedure FixVT(VT: TVirtualStringTree; MultiLineCount: Word=1);
|
||||||
|
procedure FixDropDownButtons(Form: TForm);
|
||||||
function GetTextHeight(Font: TFont): Integer;
|
function GetTextHeight(Font: TFont): Integer;
|
||||||
function ColorAdjustBrightness(Col: TColor; Shift: SmallInt): TColor;
|
function ColorAdjustBrightness(Col: TColor; Shift: SmallInt): TColor;
|
||||||
function ComposeOrderClause(Cols: TOrderColArray): String;
|
function ComposeOrderClause(Cols: TOrderColArray): String;
|
||||||
@ -1446,13 +1447,34 @@ begin
|
|||||||
VT.ShowHint := True;
|
VT.ShowHint := True;
|
||||||
VT.HintMode := hmToolTip;
|
VT.HintMode := hmToolTip;
|
||||||
// Apply case insensitive incremental search event
|
// Apply case insensitive incremental search event
|
||||||
if VT.IncrementalSearch <> isNone then
|
if VT.IncrementalSearch <> VirtualTrees.isNone then
|
||||||
VT.OnIncrementalSearch := Mainform.AnyGridIncrementalSearch;
|
VT.OnIncrementalSearch := Mainform.AnyGridIncrementalSearch;
|
||||||
VT.OnStartOperation := Mainform.AnyGridStartOperation;
|
VT.OnStartOperation := Mainform.AnyGridStartOperation;
|
||||||
VT.OnEndOperation := Mainform.AnyGridEndOperation;
|
VT.OnEndOperation := Mainform.AnyGridEndOperation;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure FixDropDownButtons(Form: TForm);
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
Comp: TComponent;
|
||||||
|
begin
|
||||||
|
// Work around broken dropdown (tool)button on Wine after translation:
|
||||||
|
// https://sourceforge.net/p/dxgettext/bugs/80/
|
||||||
|
for i:=0 to Form.ComponentCount-1 do begin
|
||||||
|
Comp := Form.Components[i];
|
||||||
|
if (Comp is TButton) and (TButton(Comp).Style = bsSplitButton) then begin
|
||||||
|
TButton(Comp).Style := bsPushButton;
|
||||||
|
TButton(Comp).Style := bsSplitButton;
|
||||||
|
end;
|
||||||
|
if (Comp is TToolButton) and (TToolButton(Comp).Style = tbsDropDown) then begin
|
||||||
|
TToolButton(Comp).Style := tbsButton;
|
||||||
|
TToolButton(Comp).Style := tbsDropDown;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
function GetTextHeight(Font: TFont): Integer;
|
function GetTextHeight(Font: TFont): Integer;
|
||||||
var
|
var
|
||||||
DC: HDC;
|
DC: HDC;
|
||||||
|
@ -224,6 +224,7 @@ begin
|
|||||||
// Fix GUI stuff
|
// Fix GUI stuff
|
||||||
TranslateComponent(Self);
|
TranslateComponent(Self);
|
||||||
InheritFont(Font);
|
InheritFont(Font);
|
||||||
|
FixDropDownButtons(Self);
|
||||||
|
|
||||||
Width := AppSettings.ReadInt(asSessionManagerWindowWidth);
|
Width := AppSettings.ReadInt(asSessionManagerWindowWidth);
|
||||||
Height := AppSettings.ReadInt(asSessionManagerWindowHeight);
|
Height := AppSettings.ReadInt(asSessionManagerWindowHeight);
|
||||||
|
@ -68,6 +68,7 @@ const
|
|||||||
procedure TCopyTableForm.FormCreate(Sender: TObject);
|
procedure TCopyTableForm.FormCreate(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
TranslateComponent(Self);
|
TranslateComponent(Self);
|
||||||
|
FixDropDownButtons(Self);
|
||||||
InheritFont(Font);
|
InheritFont(Font);
|
||||||
Width := AppSettings.ReadInt(asCopyTableWindowWidth);
|
Width := AppSettings.ReadInt(asCopyTableWindowWidth);
|
||||||
Height := AppSettings.ReadInt(asCopyTableWindowHeight);
|
Height := AppSettings.ReadInt(asCopyTableWindowHeight);
|
||||||
|
@ -1606,6 +1606,7 @@ begin
|
|||||||
// space left besides them.
|
// space left besides them.
|
||||||
TP_GlobalIgnoreClass(TFont);
|
TP_GlobalIgnoreClass(TFont);
|
||||||
TranslateComponent(Self);
|
TranslateComponent(Self);
|
||||||
|
FixDropDownButtons(Self);
|
||||||
MainMenu1.Images := ImageListMain;
|
MainMenu1.Images := ImageListMain;
|
||||||
// Translate menu items
|
// Translate menu items
|
||||||
menuQueryHelpersGenerateSelect.Caption := f_('Generate %s ...', ['SELECT']);
|
menuQueryHelpersGenerateSelect.Caption := f_('Generate %s ...', ['SELECT']);
|
||||||
@ -1613,16 +1614,6 @@ begin
|
|||||||
menuQueryHelpersGenerateUpdate.Caption := f_('Generate %s ...', ['UPDATE']);
|
menuQueryHelpersGenerateUpdate.Caption := f_('Generate %s ...', ['UPDATE']);
|
||||||
menuQueryHelpersGenerateDelete.Caption := f_('Generate %s ...', ['DELETE']);
|
menuQueryHelpersGenerateDelete.Caption := f_('Generate %s ...', ['DELETE']);
|
||||||
|
|
||||||
// Fix drop down buttons on main toolbar. Same as r4304.
|
|
||||||
// Caused by missing Application.MainFormOnTaskBar
|
|
||||||
for i:=0 to ToolBarMainButtons.ButtonCount-1 do begin
|
|
||||||
ToolButton := ToolBarMainButtons.Buttons[i];
|
|
||||||
if ToolButton.Style = tbsDropDown then begin
|
|
||||||
ToolButton.Style := tbsButton;
|
|
||||||
ToolButton.Style := tbsDropDown;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
// Detect version
|
// Detect version
|
||||||
dwInfoSize := GetFileVersionInfoSize(PChar(Application.ExeName), dwWnd);
|
dwInfoSize := GetFileVersionInfoSize(PChar(Application.ExeName), dwWnd);
|
||||||
GetMem(ptrVerBuf, dwInfoSize);
|
GetMem(ptrVerBuf, dwInfoSize);
|
||||||
|
@ -200,6 +200,7 @@ var
|
|||||||
Obj: TDBObject;
|
Obj: TDBObject;
|
||||||
begin
|
begin
|
||||||
TranslateComponent(Self);
|
TranslateComponent(Self);
|
||||||
|
FixDropDownButtons(Self);
|
||||||
OUTPUT_FILE := _('Single .sql file');
|
OUTPUT_FILE := _('Single .sql file');
|
||||||
OUTPUT_FILE_COMPRESSED := _('ZIP compressed .sql file');
|
OUTPUT_FILE_COMPRESSED := _('ZIP compressed .sql file');
|
||||||
OUTPUT_CLIPBOARD := _('Clipboard');
|
OUTPUT_CLIPBOARD := _('Clipboard');
|
||||||
|
@ -160,10 +160,7 @@ begin
|
|||||||
actSearchReplace.Caption := MainForm.actQueryReplace.Caption;
|
actSearchReplace.Caption := MainForm.actQueryReplace.Caption;
|
||||||
actSearchReplace.Hint := MainForm.actQueryReplace.Hint;
|
actSearchReplace.Hint := MainForm.actQueryReplace.Hint;
|
||||||
TranslateComponent(Self);
|
TranslateComponent(Self);
|
||||||
// Work around broken dropdown toolbutton after translation:
|
FixDropDownButtons(Self);
|
||||||
// https://sourceforge.net/tracker/index.php?func=detail&aid=902470&group_id=74086&atid=539908
|
|
||||||
btnLinebreaks.Style := tbsButton;
|
|
||||||
btnLinebreaks.Style := tbsDropDown;
|
|
||||||
// Assign linebreak values to their menu item tags, to write less code later
|
// Assign linebreak values to their menu item tags, to write less code later
|
||||||
menuWindowsLB.Tag := Integer(lbsWindows);
|
menuWindowsLB.Tag := Integer(lbsWindows);
|
||||||
menuUnixLB.Tag := Integer(lbsUnix);
|
menuUnixLB.Tag := Integer(lbsUnix);
|
||||||
|
Reference in New Issue
Block a user