127 lines
3.2 KiB
QML
127 lines
3.2 KiB
QML
import QtQuick 2.13
|
|
import QtQuick.Controls 2.3
|
|
import QtWebEngine 1.9
|
|
import utils 1.0
|
|
|
|
import shared 1.0
|
|
import shared.panels 1.0
|
|
import shared.status 1.0
|
|
import shared.popups 1.0
|
|
|
|
import "../../Chat/popups"
|
|
|
|
// TODO: replace with StatusPopupMenu
|
|
PopupMenu {
|
|
property var addNewTab: function () {}
|
|
|
|
closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent
|
|
|
|
Action {
|
|
//% "New Tab"
|
|
text: qsTrId("new-tab")
|
|
shortcut: StandardKey.AddTab
|
|
onTriggered: {
|
|
addNewTab()
|
|
}
|
|
}
|
|
|
|
Action {
|
|
id: offTheRecordEnabled
|
|
// TODO show an indicator on the browser or tab?
|
|
text: checked ?
|
|
//% "Exit Incognito mode"
|
|
qsTrId("exit-incognito-mode") :
|
|
//% "Go Incognito"
|
|
qsTrId("go-incognito")
|
|
checkable: true
|
|
checked: currentWebView && currentWebView.profile === otrProfile
|
|
onToggled: function(checked) {
|
|
if (currentWebView) {
|
|
currentWebView.profile = checked ? otrProfile : defaultProfile;
|
|
}
|
|
}
|
|
}
|
|
|
|
Separator {}
|
|
|
|
// TODO find a way to put both in one button
|
|
Action {
|
|
//% "Zoom In"
|
|
text: qsTrId("zoom-in")
|
|
shortcut: StandardKey.ZoomIn
|
|
onTriggered: {
|
|
const newZoom = currentWebView.zoomFactor + 0.1
|
|
currentWebView.changeZoomFactor(newZoom)
|
|
}
|
|
}
|
|
Action {
|
|
//% "Zoom Out"
|
|
text: qsTrId("zoom-out")
|
|
shortcut: StandardKey.ZoomOut
|
|
onTriggered: {
|
|
const newZoom = currentWebView.zoomFactor - 0.1
|
|
currentWebView.changeZoomFactor(newZoom)
|
|
}
|
|
}
|
|
Action {
|
|
shortcut: "Ctrl+0"
|
|
onTriggered: currentWebView.changeZoomFactor(1.0)
|
|
}
|
|
|
|
Separator {}
|
|
|
|
Action {
|
|
//% "Find"
|
|
text: qsTrId("find")
|
|
shortcut: StandardKey.Find
|
|
onTriggered: {
|
|
if (!findBar.visible) {
|
|
findBar.visible = true;
|
|
findBar.forceActiveFocus()
|
|
}
|
|
}
|
|
}
|
|
|
|
Action {
|
|
//% "Compatibility mode"
|
|
text: qsTrId("compatibility-mode")
|
|
checkable: true
|
|
checked: true
|
|
onToggled: {
|
|
for (let i = 0; i < tabs.count; ++i){
|
|
tabs.getTab(i).item.stop(); // Stop all loading tabs
|
|
}
|
|
|
|
appSettings.compatibilityMode = checked;
|
|
|
|
for (let i = 0; i < tabs.count; ++i){
|
|
tabs.getTab(i).item.reload(); // Reload them with new user agent
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
Action {
|
|
//% "Developer Tools"
|
|
text: qsTrId("developer-tools")
|
|
shortcut: "F12"
|
|
onTriggered: {
|
|
appSettings.devToolsEnabled = !appSettings.devToolsEnabled
|
|
}
|
|
}
|
|
|
|
Separator {}
|
|
|
|
Action {
|
|
//% "Settings"
|
|
text: qsTrId("settings")
|
|
shortcut: "Ctrl+,"
|
|
onTriggered: {
|
|
appMain.changeAppSection(Constants.profile)
|
|
// TODO: replace with shared store constant
|
|
// Profile/RootStore.browser_settings_id
|
|
profileLayoutContainer.changeProfileSection(10)
|
|
}
|
|
}
|
|
}
|