mirror of
https://github.com/HeidiSQL/HeidiSQL.git
synced 2025-08-06 18:24:26 +08:00
Issue #1906: add preference option for grayscale/color icons on inactive tabs
This commit is contained in:
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: HeidiSQL\n"
|
"Project-Id-Version: HeidiSQL\n"
|
||||||
"POT-Creation-Date: 2012-11-05 21:40\n"
|
"POT-Creation-Date: 2012-11-05 21:40\n"
|
||||||
"PO-Revision-Date: 2024-02-07 07:28+0100\n"
|
"PO-Revision-Date: 2024-02-10 15:35+0100\n"
|
||||||
"Last-Translator: Ansgar Becker <anse@heidisql.com>\n"
|
"Last-Translator: Ansgar Becker <anse@heidisql.com>\n"
|
||||||
"Language-Team: English (http://www.transifex.com/projects/p/heidisql/language/en/)\n"
|
"Language-Team: English (http://www.transifex.com/projects/p/heidisql/language/en/)\n"
|
||||||
"Language: en\n"
|
"Language: en\n"
|
||||||
@ -2776,6 +2776,18 @@ msgstr "Close tab on doubleclick"
|
|||||||
msgid "Close tab on middleclick"
|
msgid "Close tab on middleclick"
|
||||||
msgstr "Close tab on middleclick"
|
msgstr "Close tab on middleclick"
|
||||||
|
|
||||||
|
msgid "Grayscale inactive tab icons"
|
||||||
|
msgstr "Grayscale inactive tab icons"
|
||||||
|
|
||||||
|
msgid "Color icons on all tabs"
|
||||||
|
msgstr "Color icons on all tabs"
|
||||||
|
|
||||||
|
msgid "Grayscale icons on inactive query tabs only"
|
||||||
|
msgstr "Grayscale icons on inactive query tabs only"
|
||||||
|
|
||||||
|
msgid "Grayscale icons on every inactive tab"
|
||||||
|
msgstr "Grayscale icons on every inactive tab"
|
||||||
|
|
||||||
msgid "Tabs in multiple lines"
|
msgid "Tabs in multiple lines"
|
||||||
msgstr "Tabs in multiple lines"
|
msgstr "Tabs in multiple lines"
|
||||||
|
|
||||||
|
@ -212,7 +212,8 @@ type
|
|||||||
asCopyTableData, asCopyTableRecentFilter, asServerVersion, asServerVersionFull, asLastConnect,
|
asCopyTableData, asCopyTableRecentFilter, asServerVersion, asServerVersionFull, asLastConnect,
|
||||||
asConnectCount, asRefusedCount, asSessionCreated, asDoUsageStatistics,
|
asConnectCount, asRefusedCount, asSessionCreated, asDoUsageStatistics,
|
||||||
asLastUsageStatisticCall, asWheelZoom, asDisplayBars, asMySQLBinaries, asCustomSnippetsDirectory,
|
asLastUsageStatisticCall, asWheelZoom, asDisplayBars, asMySQLBinaries, asCustomSnippetsDirectory,
|
||||||
asPromptSaveFileOnTabClose, asRestoreTabs, asTabCloseOnDoubleClick, asTabCloseOnMiddleClick, asTabsInMultipleLines, asWarnUnsafeUpdates, asQueryWarningsMessage, asQueryGridLongSortRowNum,
|
asPromptSaveFileOnTabClose, asRestoreTabs, asTabCloseOnDoubleClick, asTabCloseOnMiddleClick, asTabsInMultipleLines, asTabIconsGrayscaleMode,
|
||||||
|
asWarnUnsafeUpdates, asQueryWarningsMessage, asQueryGridLongSortRowNum,
|
||||||
asCompletionProposal, asCompletionProposalInterval, asCompletionProposalSearchOnMid, asCompletionProposalWidth, asCompletionProposalNbLinesInWindow, asAutoUppercase,
|
asCompletionProposal, asCompletionProposalInterval, asCompletionProposalSearchOnMid, asCompletionProposalWidth, asCompletionProposalNbLinesInWindow, asAutoUppercase,
|
||||||
asTabsToSpaces, asFilterPanel, asAllowMultipleInstances, asFindDialogSearchHistory, asGUIFontName, asGUIFontSize,
|
asTabsToSpaces, asFilterPanel, asAllowMultipleInstances, asFindDialogSearchHistory, asGUIFontName, asGUIFontSize,
|
||||||
asTheme, asIconPack, asWebSearchBaseUrl,
|
asTheme, asIconPack, asWebSearchBaseUrl,
|
||||||
@ -3829,6 +3830,7 @@ begin
|
|||||||
InitSetting(asTabCloseOnDoubleClick, 'TabCloseOnDoubleClick', 0, True);
|
InitSetting(asTabCloseOnDoubleClick, 'TabCloseOnDoubleClick', 0, True);
|
||||||
InitSetting(asTabCloseOnMiddleClick, 'TabCloseOnMiddleClick', 0, True);
|
InitSetting(asTabCloseOnMiddleClick, 'TabCloseOnMiddleClick', 0, True);
|
||||||
InitSetting(asTabsInMultipleLines, 'TabsInMultipleLines', 0, True);
|
InitSetting(asTabsInMultipleLines, 'TabsInMultipleLines', 0, True);
|
||||||
|
InitSetting(asTabIconsGrayscaleMode, 'TabIconsGrayscaleMode', 2);
|
||||||
InitSetting(asWarnUnsafeUpdates, 'WarnUnsafeUpdates', 0, True);
|
InitSetting(asWarnUnsafeUpdates, 'WarnUnsafeUpdates', 0, True);
|
||||||
InitSetting(asQueryWarningsMessage, 'QueryWarningsMessage', 0, True);
|
InitSetting(asQueryWarningsMessage, 'QueryWarningsMessage', 0, True);
|
||||||
InitSetting(asQueryGridLongSortRowNum, 'QueryGridLongSortRowNum', 10000);
|
InitSetting(asQueryGridLongSortRowNum, 'QueryGridLongSortRowNum', 10000);
|
||||||
|
@ -422,24 +422,34 @@ class procedure TExtForm.PageControlTabHighlight(PageControl: TPageControl);
|
|||||||
var
|
var
|
||||||
i, CurrentImage, CountOriginals: Integer;
|
i, CurrentImage, CountOriginals: Integer;
|
||||||
Images: TVirtualImageList;
|
Images: TVirtualImageList;
|
||||||
|
GrayscaleMode: Integer;
|
||||||
|
IsQueryTab, DoGrayscale: Boolean;
|
||||||
begin
|
begin
|
||||||
// Set grayscale icon on inactive tabs
|
// Set grayscale icon on inactive tabs
|
||||||
if not (PageControl.Images is TVirtualImageList) then
|
if not (PageControl.Images is TVirtualImageList) then
|
||||||
Exit;
|
Exit;
|
||||||
|
GrayscaleMode := AppSettings.ReadInt(asTabIconsGrayscaleMode);
|
||||||
|
|
||||||
Images := PageControl.Images as TVirtualImageList;
|
Images := PageControl.Images as TVirtualImageList;
|
||||||
CountOriginals := Images.ImageCollection.Count;
|
CountOriginals := Images.ImageCollection.Count;
|
||||||
|
|
||||||
for i:=0 to PageControl.PageCount-1 do begin
|
for i:=0 to PageControl.PageCount-1 do begin
|
||||||
CurrentImage := PageControl.Pages[i].ImageIndex;
|
CurrentImage := PageControl.Pages[i].ImageIndex;
|
||||||
if PageControl.ActivePageIndex = i then begin
|
if PageControl.ActivePageIndex = i then begin
|
||||||
if CurrentImage >= CountOriginals then
|
if CurrentImage >= CountOriginals then begin
|
||||||
|
// Grayscaled => Color
|
||||||
PageControl.Pages[i].ImageIndex := CurrentImage - CountOriginals;
|
PageControl.Pages[i].ImageIndex := CurrentImage - CountOriginals;
|
||||||
|
end;
|
||||||
end
|
end
|
||||||
else begin
|
else begin
|
||||||
if CurrentImage < CountOriginals then
|
if CurrentImage < CountOriginals then begin
|
||||||
|
// Color => Grayscaled
|
||||||
|
IsQueryTab := (PageControl.Owner.Name = 'MainForm') and ExecRegExpr('^tabQuery\d*$', PageControl.Pages[i].Name);
|
||||||
|
if ((GrayscaleMode = 1) and IsQueryTab) or (GrayscaleMode = 2) then
|
||||||
PageControl.Pages[i].ImageIndex := CurrentImage + CountOriginals;
|
PageControl.Pages[i].ImageIndex := CurrentImage + CountOriginals;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ object frmPreferences: TfrmPreferences
|
|||||||
BorderIcons = [biSystemMenu]
|
BorderIcons = [biSystemMenu]
|
||||||
Caption = 'Preferences'
|
Caption = 'Preferences'
|
||||||
ClientHeight = 482
|
ClientHeight = 482
|
||||||
ClientWidth = 708
|
ClientWidth = 712
|
||||||
Color = clBtnFace
|
Color = clBtnFace
|
||||||
Constraints.MinHeight = 480
|
Constraints.MinHeight = 480
|
||||||
Constraints.MinWidth = 600
|
Constraints.MinWidth = 600
|
||||||
@ -18,7 +18,7 @@ object frmPreferences: TfrmPreferences
|
|||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
OnShow = FormShow
|
OnShow = FormShow
|
||||||
DesignSize = (
|
DesignSize = (
|
||||||
708
|
712
|
||||||
482)
|
482)
|
||||||
TextHeight = 14
|
TextHeight = 14
|
||||||
object pagecontrolMain: TPageControl
|
object pagecontrolMain: TPageControl
|
||||||
@ -1431,6 +1431,19 @@ object frmPreferences: TfrmPreferences
|
|||||||
TabOrder = 3
|
TabOrder = 3
|
||||||
OnClick = Modified
|
OnClick = Modified
|
||||||
end
|
end
|
||||||
|
object radioGroupTabIconsGrayscaleMode: TRadioGroup
|
||||||
|
Left = 220
|
||||||
|
Top = 100
|
||||||
|
Width = 457
|
||||||
|
Height = 101
|
||||||
|
Caption = 'Grayscale inactive tab icons'
|
||||||
|
Items.Strings = (
|
||||||
|
'Color icons on all tabs'
|
||||||
|
'Grayscale icons on inactive query tabs only'
|
||||||
|
'Grayscale icons on every inactive tab')
|
||||||
|
TabOrder = 4
|
||||||
|
OnClick = Modified
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object btnCancel: TButton
|
object btnCancel: TButton
|
||||||
|
@ -189,6 +189,7 @@ type
|
|||||||
chkTabCloseOnMiddleClick: TCheckBox;
|
chkTabCloseOnMiddleClick: TCheckBox;
|
||||||
btnRemoveHotKey1: TButton;
|
btnRemoveHotKey1: TButton;
|
||||||
btnRemoveHotKey2: TButton;
|
btnRemoveHotKey2: TButton;
|
||||||
|
radioGroupTabIconsGrayscaleMode: TRadioGroup;
|
||||||
procedure FormShow(Sender: TObject);
|
procedure FormShow(Sender: TObject);
|
||||||
procedure Modified(Sender: TObject);
|
procedure Modified(Sender: TObject);
|
||||||
procedure Apply(Sender: TObject);
|
procedure Apply(Sender: TObject);
|
||||||
@ -441,6 +442,7 @@ begin
|
|||||||
AppSettings.WriteBool(asRestoreTabs, chkRestoreTabs.Checked);
|
AppSettings.WriteBool(asRestoreTabs, chkRestoreTabs.Checked);
|
||||||
AppSettings.WriteBool(asTabCloseOnDoubleClick, chkTabCloseOnDoubleClick.Checked);
|
AppSettings.WriteBool(asTabCloseOnDoubleClick, chkTabCloseOnDoubleClick.Checked);
|
||||||
AppSettings.WriteBool(asTabCloseOnMiddleClick, chkTabCloseOnMiddleClick.Checked);
|
AppSettings.WriteBool(asTabCloseOnMiddleClick, chkTabCloseOnMiddleClick.Checked);
|
||||||
|
AppSettings.WriteInt(asTabIconsGrayscaleMode, radioGroupTabIconsGrayscaleMode.ItemIndex);
|
||||||
|
|
||||||
// Set relevant properties in mainform
|
// Set relevant properties in mainform
|
||||||
MainForm.ApplyFontToGrids;
|
MainForm.ApplyFontToGrids;
|
||||||
@ -805,6 +807,7 @@ begin
|
|||||||
chkRestoreTabs.Checked := AppSettings.ReadBool(asRestoreTabs);
|
chkRestoreTabs.Checked := AppSettings.ReadBool(asRestoreTabs);
|
||||||
chkTabCloseOnDoubleClick.Checked := AppSettings.ReadBool(asTabCloseOnDoubleClick);
|
chkTabCloseOnDoubleClick.Checked := AppSettings.ReadBool(asTabCloseOnDoubleClick);
|
||||||
chkTabCloseOnMiddleClick.Checked := AppSettings.ReadBool(asTabCloseOnMiddleClick);
|
chkTabCloseOnMiddleClick.Checked := AppSettings.ReadBool(asTabCloseOnMiddleClick);
|
||||||
|
radioGroupTabIconsGrayscaleMode.ItemIndex := AppSettings.ReadInt(asTabIconsGrayscaleMode);
|
||||||
|
|
||||||
// Disable global shortcuts
|
// Disable global shortcuts
|
||||||
MainForm.ActionList1.State := asSuspended;
|
MainForm.ActionList1.State := asSuspended;
|
||||||
|
Reference in New Issue
Block a user