status-desktop/ui/app/AppLayouts/Browser/popups/BrowserSettingsMenu.qml

125 lines
3.2 KiB
QML
Raw Normal View History

2020-10-09 17:56:42 +00:00
import QtQuick 2.13
import QtQuick.Controls 2.3
import QtWebEngine 1.9
import utils 1.0
import "../../../../shared"
import "../../../../shared/popups"
import "../../../../shared/panels"
import "../../../../shared/status"
import "../../Chat/ChatColumn/ChatComponents"
2020-10-09 17:56:42 +00:00
// TODO: replace with StatusPopupMenu
2020-10-09 17:56:42 +00:00
PopupMenu {
property var addNewTab: function () {}
closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent
Action {
2021-02-18 16:36:05 +00:00
//% "New Tab"
text: qsTrId("new-tab")
2020-10-09 17:56:42 +00:00
shortcut: StandardKey.AddTab
onTriggered: {
addNewTab()
}
}
Action {
id: offTheRecordEnabled
// TODO show an indicator on the browser or tab?
2020-10-29 20:07:52 +00:00
text: checked ?
2021-02-18 16:36:05 +00:00
//% "Exit Incognito mode"
qsTrId("exit-incognito-mode") :
//% "Go Incognito"
qsTrId("go-incognito")
2020-10-09 17:56:42 +00:00
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 {
2021-02-18 16:36:05 +00:00
//% "Zoom In"
text: qsTrId("zoom-in")
2020-10-09 17:56:42 +00:00
shortcut: StandardKey.ZoomIn
onTriggered: {
const newZoom = currentWebView.zoomFactor + 0.1
currentWebView.changeZoomFactor(newZoom)
}
}
Action {
2021-02-18 16:36:05 +00:00
//% "Zoom Out"
text: qsTrId("zoom-out")
2020-10-09 17:56:42 +00:00
shortcut: StandardKey.ZoomOut
onTriggered: {
const newZoom = currentWebView.zoomFactor - 0.1
currentWebView.changeZoomFactor(newZoom)
}
}
Action {
shortcut: "Ctrl+0"
onTriggered: currentWebView.changeZoomFactor(1.0)
}
Separator {}
Action {
2021-02-18 16:36:05 +00:00
//% "Find"
text: qsTrId("find")
2020-10-09 17:56:42 +00:00
shortcut: StandardKey.Find
onTriggered: {
if (!findBar.visible) {
findBar.visible = true;
findBar.forceActiveFocus()
}
}
}
Action {
2021-02-18 16:36:05 +00:00
//% "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 {
2021-02-18 16:36:05 +00:00
//% "Developer Tools"
text: qsTrId("developer-tools")
2020-10-09 17:56:42 +00:00
shortcut: "F12"
onTriggered: {
appSettings.devToolsEnabled = !appSettings.devToolsEnabled
2020-10-09 17:56:42 +00:00
}
}
Separator {}
Action {
2021-02-18 16:36:05 +00:00
//% "Settings"
text: qsTrId("settings")
2020-10-09 17:56:42 +00:00
shortcut: "Ctrl+,"
onTriggered: {
appMain.changeAppSection(Constants.profile)
// TODO: replace with shared store constant
// Profile/RootStore.browser_settings_id
profileLayoutContainer.changeProfileSection(10)
2020-10-09 17:56:42 +00:00
}
}
}