You've already forked CEF4Delphi
mirror of
https://github.com/salvadordf/CEF4Delphi.git
synced 2025-06-12 22:07:39 +02:00
Added context menu to change the color mode in MiniBrowser
This commit is contained in:
@ -41,25 +41,29 @@ const
|
|||||||
|
|
||||||
MINIBROWSER_HOMEPAGE = 'https://www.google.com';
|
MINIBROWSER_HOMEPAGE = 'https://www.google.com';
|
||||||
|
|
||||||
MINIBROWSER_CONTEXTMENU_SHOWDEVTOOLS = MENU_ID_USER_FIRST + 1;
|
MINIBROWSER_CONTEXTMENU_SHOWDEVTOOLS = MENU_ID_USER_FIRST + 1;
|
||||||
MINIBROWSER_CONTEXTMENU_HIDEDEVTOOLS = MENU_ID_USER_FIRST + 2;
|
MINIBROWSER_CONTEXTMENU_HIDEDEVTOOLS = MENU_ID_USER_FIRST + 2;
|
||||||
MINIBROWSER_CONTEXTMENU_COPYHTML = MENU_ID_USER_FIRST + 3;
|
MINIBROWSER_CONTEXTMENU_COPYHTML = MENU_ID_USER_FIRST + 3;
|
||||||
MINIBROWSER_CONTEXTMENU_JSWRITEDOC = MENU_ID_USER_FIRST + 4;
|
MINIBROWSER_CONTEXTMENU_JSWRITEDOC = MENU_ID_USER_FIRST + 4;
|
||||||
MINIBROWSER_CONTEXTMENU_JSPRINTDOC = MENU_ID_USER_FIRST + 5;
|
MINIBROWSER_CONTEXTMENU_JSPRINTDOC = MENU_ID_USER_FIRST + 5;
|
||||||
MINIBROWSER_CONTEXTMENU_SHOWRESPONSE = MENU_ID_USER_FIRST + 6;
|
MINIBROWSER_CONTEXTMENU_SHOWRESPONSE = MENU_ID_USER_FIRST + 6;
|
||||||
MINIBROWSER_CONTEXTMENU_COPYFRAMEIDS = MENU_ID_USER_FIRST + 7;
|
MINIBROWSER_CONTEXTMENU_COPYFRAMEIDS = MENU_ID_USER_FIRST + 7;
|
||||||
MINIBROWSER_CONTEXTMENU_COPYFRAMENAMES = MENU_ID_USER_FIRST + 8;
|
MINIBROWSER_CONTEXTMENU_COPYFRAMENAMES = MENU_ID_USER_FIRST + 8;
|
||||||
MINIBROWSER_CONTEXTMENU_SAVEPREFERENCES = MENU_ID_USER_FIRST + 9;
|
MINIBROWSER_CONTEXTMENU_SAVEPREFERENCES = MENU_ID_USER_FIRST + 9;
|
||||||
MINIBROWSER_CONTEXTMENU_COPYALLTEXT = MENU_ID_USER_FIRST + 10;
|
MINIBROWSER_CONTEXTMENU_COPYALLTEXT = MENU_ID_USER_FIRST + 10;
|
||||||
MINIBROWSER_CONTEXTMENU_TAKESNAPSHOT = MENU_ID_USER_FIRST + 11;
|
MINIBROWSER_CONTEXTMENU_TAKESNAPSHOT = MENU_ID_USER_FIRST + 11;
|
||||||
MINIBROWSER_CONTEXTMENU_GETNAVIGATION = MENU_ID_USER_FIRST + 12;
|
MINIBROWSER_CONTEXTMENU_GETNAVIGATION = MENU_ID_USER_FIRST + 12;
|
||||||
MINIBROWSER_CONTEXTMENU_MUTEAUDIO = MENU_ID_USER_FIRST + 13;
|
MINIBROWSER_CONTEXTMENU_MUTEAUDIO = MENU_ID_USER_FIRST + 13;
|
||||||
MINIBROWSER_CONTEXTMENU_UNMUTEAUDIO = MENU_ID_USER_FIRST + 14;
|
MINIBROWSER_CONTEXTMENU_UNMUTEAUDIO = MENU_ID_USER_FIRST + 14;
|
||||||
MINIBROWSER_CONTEXTMENU_INCZOOM = MENU_ID_USER_FIRST + 15;
|
MINIBROWSER_CONTEXTMENU_INCZOOM = MENU_ID_USER_FIRST + 15;
|
||||||
MINIBROWSER_CONTEXTMENU_DECZOOM = MENU_ID_USER_FIRST + 16;
|
MINIBROWSER_CONTEXTMENU_DECZOOM = MENU_ID_USER_FIRST + 16;
|
||||||
MINIBROWSER_CONTEXTMENU_RESETZOOM = MENU_ID_USER_FIRST + 17;
|
MINIBROWSER_CONTEXTMENU_RESETZOOM = MENU_ID_USER_FIRST + 17;
|
||||||
MINIBROWSER_CONTEXTMENU_EXITFULLSCREEN = MENU_ID_USER_FIRST + 18;
|
MINIBROWSER_CONTEXTMENU_EXITFULLSCREEN = MENU_ID_USER_FIRST + 18;
|
||||||
MINIBROWSER_CONTEXTMENU_BROWSERINFO = MENU_ID_USER_FIRST + 19;
|
MINIBROWSER_CONTEXTMENU_BROWSERINFO = MENU_ID_USER_FIRST + 19;
|
||||||
|
MINIBROWSER_CONTEXTMENU_COLORSCHEME = MENU_ID_USER_FIRST + 20;
|
||||||
|
MINIBROWSER_CONTEXTMENU_COLORSCHEMESYSTEM = MENU_ID_USER_FIRST + 21;
|
||||||
|
MINIBROWSER_CONTEXTMENU_COLORSCHEMELIGHT = MENU_ID_USER_FIRST + 22;
|
||||||
|
MINIBROWSER_CONTEXTMENU_COLORSCHEMEDARK = MENU_ID_USER_FIRST + 23;
|
||||||
|
|
||||||
DEVTOOLS_SCREENSHOT_MSGID = 1001;
|
DEVTOOLS_SCREENSHOT_MSGID = 1001;
|
||||||
DEVTOOLS_MHTML_MSGID = 1002;
|
DEVTOOLS_MHTML_MSGID = 1002;
|
||||||
@ -397,6 +401,8 @@ end;
|
|||||||
procedure TMiniBrowserFrm.Chromium1BeforeContextMenu(Sender: TObject;
|
procedure TMiniBrowserFrm.Chromium1BeforeContextMenu(Sender: TObject;
|
||||||
const browser: ICefBrowser; const frame: ICefFrame;
|
const browser: ICefBrowser; const frame: ICefFrame;
|
||||||
const params: ICefContextMenuParams; const model: ICefMenuModel);
|
const params: ICefContextMenuParams; const model: ICefMenuModel);
|
||||||
|
var
|
||||||
|
TempModel: ICefMenuModel;
|
||||||
begin
|
begin
|
||||||
if Chromium1.IsSameBrowser(browser) then
|
if Chromium1.IsSameBrowser(browser) then
|
||||||
begin
|
begin
|
||||||
@ -442,6 +448,18 @@ begin
|
|||||||
model.AddSeparator;
|
model.AddSeparator;
|
||||||
model.AddItem(MINIBROWSER_CONTEXTMENU_EXITFULLSCREEN, 'Exit fullscreen');
|
model.AddItem(MINIBROWSER_CONTEXTMENU_EXITFULLSCREEN, 'Exit fullscreen');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
model.AddSeparator;
|
||||||
|
TempModel := model.AddSubMenu(MINIBROWSER_CONTEXTMENU_COLORSCHEME, 'Color scheme');
|
||||||
|
TempModel.AddCheckItem(MINIBROWSER_CONTEXTMENU_COLORSCHEMESYSTEM, 'System');
|
||||||
|
TempModel.AddCheckItem(MINIBROWSER_CONTEXTMENU_COLORSCHEMELIGHT, 'Light');
|
||||||
|
TempModel.AddCheckItem(MINIBROWSER_CONTEXTMENU_COLORSCHEMEDARK, 'Dark');
|
||||||
|
|
||||||
|
case Chromium1.ChromeColorSchemeMode of
|
||||||
|
CEF_COLOR_VARIANT_LIGHT : TempModel.setChecked(MINIBROWSER_CONTEXTMENU_COLORSCHEMELIGHT, True);
|
||||||
|
CEF_COLOR_VARIANT_DARK : TempModel.setChecked(MINIBROWSER_CONTEXTMENU_COLORSCHEMEDARK, True);
|
||||||
|
else TempModel.setChecked(MINIBROWSER_CONTEXTMENU_COLORSCHEMESYSTEM, True);
|
||||||
|
end;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
model.AddItem(MINIBROWSER_CONTEXTMENU_SHOWDEVTOOLS, 'Show DevTools');
|
model.AddItem(MINIBROWSER_CONTEXTMENU_SHOWDEVTOOLS, 'Show DevTools');
|
||||||
@ -639,6 +657,15 @@ begin
|
|||||||
FPendingMsgID := DEVTOOLS_BROWSERINFO_MSGID;
|
FPendingMsgID := DEVTOOLS_BROWSERINFO_MSGID;
|
||||||
Chromium1.ExecuteDevToolsMethod(0, 'Browser.getVersion', nil);
|
Chromium1.ExecuteDevToolsMethod(0, 'Browser.getVersion', nil);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
MINIBROWSER_CONTEXTMENU_COLORSCHEMELIGHT :
|
||||||
|
Chromium1.SetChromeColorScheme(CEF_COLOR_VARIANT_LIGHT, 0);
|
||||||
|
|
||||||
|
MINIBROWSER_CONTEXTMENU_COLORSCHEMEDARK :
|
||||||
|
Chromium1.SetChromeColorScheme(CEF_COLOR_VARIANT_DARK, 0);
|
||||||
|
|
||||||
|
MINIBROWSER_CONTEXTMENU_COLORSCHEMESYSTEM :
|
||||||
|
Chromium1.SetChromeColorScheme(CEF_COLOR_VARIANT_SYSTEM, 0);
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
case commandId of
|
case commandId of
|
||||||
|
@ -118,11 +118,11 @@ object MiniBrowserFrm: TMiniBrowserFrm
|
|||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
object URLCbx: TComboBox
|
object URLCbx: TComboBox
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 21
|
Height = 22
|
||||||
Top = 3
|
Top = 3
|
||||||
Width = 978
|
Width = 978
|
||||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||||
ItemHeight = 13
|
ItemHeight = 14
|
||||||
ItemIndex = 0
|
ItemIndex = 0
|
||||||
Items.Strings = (
|
Items.Strings = (
|
||||||
'https://www.google.com'
|
'https://www.google.com'
|
||||||
|
@ -32,25 +32,29 @@ const
|
|||||||
|
|
||||||
MINIBROWSER_HOMEPAGE = 'https://www.google.com';
|
MINIBROWSER_HOMEPAGE = 'https://www.google.com';
|
||||||
|
|
||||||
MINIBROWSER_CONTEXTMENU_SHOWDEVTOOLS = MENU_ID_USER_FIRST + 1;
|
MINIBROWSER_CONTEXTMENU_SHOWDEVTOOLS = MENU_ID_USER_FIRST + 1;
|
||||||
MINIBROWSER_CONTEXTMENU_HIDEDEVTOOLS = MENU_ID_USER_FIRST + 2;
|
MINIBROWSER_CONTEXTMENU_HIDEDEVTOOLS = MENU_ID_USER_FIRST + 2;
|
||||||
MINIBROWSER_CONTEXTMENU_COPYHTML = MENU_ID_USER_FIRST + 3;
|
MINIBROWSER_CONTEXTMENU_COPYHTML = MENU_ID_USER_FIRST + 3;
|
||||||
MINIBROWSER_CONTEXTMENU_JSWRITEDOC = MENU_ID_USER_FIRST + 4;
|
MINIBROWSER_CONTEXTMENU_JSWRITEDOC = MENU_ID_USER_FIRST + 4;
|
||||||
MINIBROWSER_CONTEXTMENU_JSPRINTDOC = MENU_ID_USER_FIRST + 5;
|
MINIBROWSER_CONTEXTMENU_JSPRINTDOC = MENU_ID_USER_FIRST + 5;
|
||||||
MINIBROWSER_CONTEXTMENU_SHOWRESPONSE = MENU_ID_USER_FIRST + 6;
|
MINIBROWSER_CONTEXTMENU_SHOWRESPONSE = MENU_ID_USER_FIRST + 6;
|
||||||
MINIBROWSER_CONTEXTMENU_COPYFRAMEIDS = MENU_ID_USER_FIRST + 7;
|
MINIBROWSER_CONTEXTMENU_COPYFRAMEIDS = MENU_ID_USER_FIRST + 7;
|
||||||
MINIBROWSER_CONTEXTMENU_COPYFRAMENAMES = MENU_ID_USER_FIRST + 8;
|
MINIBROWSER_CONTEXTMENU_COPYFRAMENAMES = MENU_ID_USER_FIRST + 8;
|
||||||
MINIBROWSER_CONTEXTMENU_SAVEPREFERENCES = MENU_ID_USER_FIRST + 9;
|
MINIBROWSER_CONTEXTMENU_SAVEPREFERENCES = MENU_ID_USER_FIRST + 9;
|
||||||
MINIBROWSER_CONTEXTMENU_COPYALLTEXT = MENU_ID_USER_FIRST + 10;
|
MINIBROWSER_CONTEXTMENU_COPYALLTEXT = MENU_ID_USER_FIRST + 10;
|
||||||
MINIBROWSER_CONTEXTMENU_TAKESNAPSHOT = MENU_ID_USER_FIRST + 11;
|
MINIBROWSER_CONTEXTMENU_TAKESNAPSHOT = MENU_ID_USER_FIRST + 11;
|
||||||
MINIBROWSER_CONTEXTMENU_GETNAVIGATION = MENU_ID_USER_FIRST + 12;
|
MINIBROWSER_CONTEXTMENU_GETNAVIGATION = MENU_ID_USER_FIRST + 12;
|
||||||
MINIBROWSER_CONTEXTMENU_MUTEAUDIO = MENU_ID_USER_FIRST + 13;
|
MINIBROWSER_CONTEXTMENU_MUTEAUDIO = MENU_ID_USER_FIRST + 13;
|
||||||
MINIBROWSER_CONTEXTMENU_UNMUTEAUDIO = MENU_ID_USER_FIRST + 14;
|
MINIBROWSER_CONTEXTMENU_UNMUTEAUDIO = MENU_ID_USER_FIRST + 14;
|
||||||
MINIBROWSER_CONTEXTMENU_INCZOOM = MENU_ID_USER_FIRST + 15;
|
MINIBROWSER_CONTEXTMENU_INCZOOM = MENU_ID_USER_FIRST + 15;
|
||||||
MINIBROWSER_CONTEXTMENU_DECZOOM = MENU_ID_USER_FIRST + 16;
|
MINIBROWSER_CONTEXTMENU_DECZOOM = MENU_ID_USER_FIRST + 16;
|
||||||
MINIBROWSER_CONTEXTMENU_RESETZOOM = MENU_ID_USER_FIRST + 17;
|
MINIBROWSER_CONTEXTMENU_RESETZOOM = MENU_ID_USER_FIRST + 17;
|
||||||
MINIBROWSER_CONTEXTMENU_EXITFULLSCREEN = MENU_ID_USER_FIRST + 18;
|
MINIBROWSER_CONTEXTMENU_EXITFULLSCREEN = MENU_ID_USER_FIRST + 18;
|
||||||
MINIBROWSER_CONTEXTMENU_BROWSERINFO = MENU_ID_USER_FIRST + 19;
|
MINIBROWSER_CONTEXTMENU_BROWSERINFO = MENU_ID_USER_FIRST + 19;
|
||||||
|
MINIBROWSER_CONTEXTMENU_COLORSCHEME = MENU_ID_USER_FIRST + 20;
|
||||||
|
MINIBROWSER_CONTEXTMENU_COLORSCHEMESYSTEM = MENU_ID_USER_FIRST + 21;
|
||||||
|
MINIBROWSER_CONTEXTMENU_COLORSCHEMELIGHT = MENU_ID_USER_FIRST + 22;
|
||||||
|
MINIBROWSER_CONTEXTMENU_COLORSCHEMEDARK = MENU_ID_USER_FIRST + 23;
|
||||||
|
|
||||||
DEVTOOLS_SCREENSHOT_MSGID = 1001;
|
DEVTOOLS_SCREENSHOT_MSGID = 1001;
|
||||||
DEVTOOLS_MHTML_MSGID = 1002;
|
DEVTOOLS_MHTML_MSGID = 1002;
|
||||||
@ -473,7 +477,9 @@ end;
|
|||||||
|
|
||||||
procedure TMiniBrowserFrm.Chromium1BeforeContextMenu(Sender: TObject;
|
procedure TMiniBrowserFrm.Chromium1BeforeContextMenu(Sender: TObject;
|
||||||
const browser: ICefBrowser; const frame: ICefFrame;
|
const browser: ICefBrowser; const frame: ICefFrame;
|
||||||
const params: ICefContextMenuParams; const model: ICefMenuModel);
|
const params: ICefContextMenuParams; const model: ICefMenuModel);
|
||||||
|
var
|
||||||
|
TempModel: ICefMenuModel;
|
||||||
begin
|
begin
|
||||||
if Chromium1.IsSameBrowser(browser) then
|
if Chromium1.IsSameBrowser(browser) then
|
||||||
begin
|
begin
|
||||||
@ -518,7 +524,19 @@ begin
|
|||||||
begin
|
begin
|
||||||
model.AddSeparator;
|
model.AddSeparator;
|
||||||
model.AddItem(MINIBROWSER_CONTEXTMENU_EXITFULLSCREEN, 'Exit fullscreen');
|
model.AddItem(MINIBROWSER_CONTEXTMENU_EXITFULLSCREEN, 'Exit fullscreen');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
model.AddSeparator;
|
||||||
|
TempModel := model.AddSubMenu(MINIBROWSER_CONTEXTMENU_COLORSCHEME, 'Color scheme');
|
||||||
|
TempModel.AddCheckItem(MINIBROWSER_CONTEXTMENU_COLORSCHEMESYSTEM, 'System');
|
||||||
|
TempModel.AddCheckItem(MINIBROWSER_CONTEXTMENU_COLORSCHEMELIGHT, 'Light');
|
||||||
|
TempModel.AddCheckItem(MINIBROWSER_CONTEXTMENU_COLORSCHEMEDARK, 'Dark');
|
||||||
|
|
||||||
|
case Chromium1.ChromeColorSchemeMode of
|
||||||
|
CEF_COLOR_VARIANT_LIGHT : TempModel.setChecked(MINIBROWSER_CONTEXTMENU_COLORSCHEMELIGHT, True);
|
||||||
|
CEF_COLOR_VARIANT_DARK : TempModel.setChecked(MINIBROWSER_CONTEXTMENU_COLORSCHEMEDARK, True);
|
||||||
|
else TempModel.setChecked(MINIBROWSER_CONTEXTMENU_COLORSCHEMESYSTEM, True);
|
||||||
|
end;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
model.AddItem(MINIBROWSER_CONTEXTMENU_SHOWDEVTOOLS, 'Show DevTools');
|
model.AddItem(MINIBROWSER_CONTEXTMENU_SHOWDEVTOOLS, 'Show DevTools');
|
||||||
@ -716,7 +734,16 @@ begin
|
|||||||
begin
|
begin
|
||||||
FPendingMsgID := DEVTOOLS_BROWSERINFO_MSGID;
|
FPendingMsgID := DEVTOOLS_BROWSERINFO_MSGID;
|
||||||
Chromium1.ExecuteDevToolsMethod(0, 'Browser.getVersion', nil);
|
Chromium1.ExecuteDevToolsMethod(0, 'Browser.getVersion', nil);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
MINIBROWSER_CONTEXTMENU_COLORSCHEMELIGHT :
|
||||||
|
Chromium1.SetChromeColorScheme(CEF_COLOR_VARIANT_LIGHT, 0);
|
||||||
|
|
||||||
|
MINIBROWSER_CONTEXTMENU_COLORSCHEMEDARK :
|
||||||
|
Chromium1.SetChromeColorScheme(CEF_COLOR_VARIANT_DARK, 0);
|
||||||
|
|
||||||
|
MINIBROWSER_CONTEXTMENU_COLORSCHEMESYSTEM :
|
||||||
|
Chromium1.SetChromeColorScheme(CEF_COLOR_VARIANT_SYSTEM, 0);
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
case commandId of
|
case commandId of
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
"UpdateLazPackages" : [
|
"UpdateLazPackages" : [
|
||||||
{
|
{
|
||||||
"ForceNotify" : true,
|
"ForceNotify" : true,
|
||||||
"InternalVersion" : 590,
|
"InternalVersion" : 591,
|
||||||
"Name" : "cef4delphi_lazarus.lpk",
|
"Name" : "cef4delphi_lazarus.lpk",
|
||||||
"Version" : "124.3.1"
|
"Version" : "124.3.1"
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user