diff --git a/ui/StatusQ/src/StatusQ/Controls/StatusBaseButton.qml b/ui/StatusQ/src/StatusQ/Controls/StatusBaseButton.qml
index 8544ce2a7ba..6cc83ac7982 100644
--- a/ui/StatusQ/src/StatusQ/Controls/StatusBaseButton.qml
+++ b/ui/StatusQ/src/StatusQ/Controls/StatusBaseButton.qml
@@ -74,7 +74,7 @@ AbstractButton {
readonly property color textColor: {
if (!root.interactive || !root.enabled)
return root.disabledTextColor
- if (root.hovered)
+ if (pointerHoverHandler.hovered)
return root.textHoverColor
return root.textColor
}
@@ -246,7 +246,7 @@ AbstractButton {
StatusToolTip {
id: tooltip
objectName: "buttonTooltip"
- visible: tooltip.text !== "" && root.hovered && !root.pressed
+ visible: tooltip.text !== "" && pointerHoverHandler.hovered && !root.pressed
offset: -(tooltip.x + tooltip.width/2 - root.width/2)
}
@@ -266,8 +266,8 @@ AbstractButton {
StatusRoundIcon {
asset.name: root.icon.name
- asset.width: d.iconSize
- asset.height: d.iconSize
+ asset.width: root.icon.width
+ asset.height: root.icon.height
asset.color: root.icon.color
asset.bgColor: root.asset.bgColor
}
diff --git a/ui/StatusQ/src/StatusQ/Controls/StatusTextField.qml b/ui/StatusQ/src/StatusQ/Controls/StatusTextField.qml
index d395747026a..4ce5fef45a5 100644
--- a/ui/StatusQ/src/StatusQ/Controls/StatusTextField.qml
+++ b/ui/StatusQ/src/StatusQ/Controls/StatusTextField.qml
@@ -46,7 +46,7 @@ TextField {
return "transparent"
if (root.cursorVisible)
return Theme.palette.primaryColor1
- return hoverHandler.hovered ? Theme.palette.primaryColor2 : "transparent"
+ return hoverHandler.hovered ? Theme.palette.primaryColor2 : Theme.palette.primaryColor3
}
}
diff --git a/ui/StatusQ/src/StatusQ/Popups/Dialog/StatusDialogFooter.qml b/ui/StatusQ/src/StatusQ/Popups/Dialog/StatusDialogFooter.qml
index 859b9f47a63..aca28714fbf 100644
--- a/ui/StatusQ/src/StatusQ/Popups/Dialog/StatusDialogFooter.qml
+++ b/ui/StatusQ/src/StatusQ/Popups/Dialog/StatusDialogFooter.qml
@@ -16,8 +16,8 @@ Control {
property color color: Theme.palette.statusModal.backgroundColor
property bool dropShadowEnabled
- spacing: Theme.halfPadding
- padding: Theme.padding
+ spacing: Theme.defaultHalfPadding
+ padding: Theme.defaultPadding
bottomPadding: padding + root.parent.SafeArea.margins.bottom
background: Rectangle {
diff --git a/ui/StatusQ/src/StatusQ/Popups/Dialog/StatusDialogHeader.qml b/ui/StatusQ/src/StatusQ/Popups/Dialog/StatusDialogHeader.qml
index 5de5c4e5dc8..a242f5f40ae 100644
--- a/ui/StatusQ/src/StatusQ/Popups/Dialog/StatusDialogHeader.qml
+++ b/ui/StatusQ/src/StatusQ/Popups/Dialog/StatusDialogHeader.qml
@@ -30,15 +30,10 @@ ToolBar {
position: ToolBar.Top
background: StatusDialogBackground {
color: root.color
- radius: root.radius
-
- // cover for the bottom rounded corners
- Rectangle {
- width: parent.width
- height: parent.radius
- anchors.bottom: parent.bottom
- color: parent.color
- }
+ topLeftRadius: root.radius
+ topRightRadius: root.radius
+ bottomLeftRadius: 0
+ bottomRightRadius: 0
}
Item {
@@ -55,7 +50,7 @@ ToolBar {
anchors {
fill: parent
- margins: Theme.padding
+ margins: Theme.defaultPadding
}
spacing: Theme.halfPadding
diff --git a/ui/StatusQ/src/assets/png/browser/new_tab.png b/ui/StatusQ/src/assets/png/browser/new_tab.png
new file mode 100644
index 00000000000..754a0efe819
Binary files /dev/null and b/ui/StatusQ/src/assets/png/browser/new_tab.png differ
diff --git a/ui/StatusQ/src/assets/png/browser/new_tab_dark.png b/ui/StatusQ/src/assets/png/browser/new_tab_dark.png
new file mode 100644
index 00000000000..f77776a89db
Binary files /dev/null and b/ui/StatusQ/src/assets/png/browser/new_tab_dark.png differ
diff --git a/ui/StatusQ/src/assets/png/browser/pepehand.png b/ui/StatusQ/src/assets/png/browser/pepehand.png
deleted file mode 100644
index e32f23925e5..00000000000
Binary files a/ui/StatusQ/src/assets/png/browser/pepehand.png and /dev/null differ
diff --git a/ui/StatusQ/src/assets/png/browser/placeholders/browser-dark-small.png b/ui/StatusQ/src/assets/png/browser/placeholders/browser-dark-small.png
index 7ac1d5060fb..766b68f9cbe 100644
Binary files a/ui/StatusQ/src/assets/png/browser/placeholders/browser-dark-small.png and b/ui/StatusQ/src/assets/png/browser/placeholders/browser-dark-small.png differ
diff --git a/ui/StatusQ/src/assets/png/browser/placeholders/browser-dark.png b/ui/StatusQ/src/assets/png/browser/placeholders/browser-dark.png
index 9ef774be10a..581cdce0147 100644
Binary files a/ui/StatusQ/src/assets/png/browser/placeholders/browser-dark.png and b/ui/StatusQ/src/assets/png/browser/placeholders/browser-dark.png differ
diff --git a/ui/StatusQ/src/assets/png/browser/placeholders/browser-light-small.png b/ui/StatusQ/src/assets/png/browser/placeholders/browser-light-small.png
index 0744ea13b6d..7fdeb6c6897 100644
Binary files a/ui/StatusQ/src/assets/png/browser/placeholders/browser-light-small.png and b/ui/StatusQ/src/assets/png/browser/placeholders/browser-light-small.png differ
diff --git a/ui/StatusQ/src/assets/png/browser/placeholders/browser-light.png b/ui/StatusQ/src/assets/png/browser/placeholders/browser-light.png
index 19617c7fc44..45dcfc84704 100644
Binary files a/ui/StatusQ/src/assets/png/browser/placeholders/browser-light.png and b/ui/StatusQ/src/assets/png/browser/placeholders/browser-light.png differ
diff --git a/ui/StatusQ/src/assets/png/png.qrc b/ui/StatusQ/src/assets/png/png.qrc
index afadb091cc8..3b44fa7e240 100644
--- a/ui/StatusQ/src/assets/png/png.qrc
+++ b/ui/StatusQ/src/assets/png/png.qrc
@@ -10,7 +10,8 @@
appearance-system.png
backup-popup.png
browser/chooseBrowserImage@2x.png
- browser/pepehand.png
+ browser/new_tab.png
+ browser/new_tab_dark.png
chat/chat@2x.png
chat/request_payment_banner.png
chat/wave.png
diff --git a/ui/app/AppLayouts/Browser/BrowserLayout.qml b/ui/app/AppLayouts/Browser/BrowserLayout.qml
index dddb3f5b113..8bdb70f3957 100644
--- a/ui/app/AppLayouts/Browser/BrowserLayout.qml
+++ b/ui/app/AppLayouts/Browser/BrowserLayout.qml
@@ -57,8 +57,8 @@ StatusSectionLayout {
signal sendToRecipientRequested(string address)
- function openUrlInNewTab(url, initialTitle) {
- Qt.callLater(() => _internal.addNewTab(root.browserRootStore.determineRealURL(url), initialTitle))
+ function openUrlInNewTab(url, initialTitle, activate=false) {
+ Qt.callLater(() => _internal.addNewTab(root.browserRootStore.determineRealURL(url), initialTitle, activate))
}
function reloadCurrentTab() {
@@ -144,12 +144,17 @@ StatusSectionLayout {
tabs.activateTab(tabs.count - 1)
}
- function addNewTab(url, initialTitle) {
+ function addNewTab(url, initialTitle = undefined, activate = false) {
var tab = webViewContext.createEmptyTab(tabs.count !== 0 ? currentWebView.profileParams : connectorBridge.defaultProfileParams, false, true, url, initialTitle);
- browserToolbarLoader.activateAddressBar()
+ if (activate)
+ browserToolbarLoader.activateAddressBar()
return tab;
}
+ function addNewEmptyTab() {
+ addNewTab("", "", true)
+ }
+
function onRequestLaunchInBrowser(url) {
if (localAccountSensitiveSettings.useBrowserEthereumExplorer !== Constants.browserEthereumExplorerNone && url.startsWith("0x")) {
webViewContext.setCurrentWebUrl(root.browserRootStore.get0xFormedUrl(localAccountSensitiveSettings.useBrowserEthereumExplorer, url))
@@ -301,7 +306,7 @@ StatusSectionLayout {
determineRealURL: function(url) {
return root.browserRootStore.determineRealURL(url)
}
- onOpenNewTabTriggered: _internal.addNewTab()
+ onOpenNewTabTriggered: _internal.addNewEmptyTab()
fnGetWebView: (index) => {
return webViewContext.getWebView(index)
}
@@ -321,6 +326,10 @@ StatusSectionLayout {
mobileAddressBar.activateAddressBar()
else
item.activateAddressBar()
+ Qt.callLater(() => {
+ if (!InputMethod.visible)
+ InputMethod.show()
+ })
}
Connections {
@@ -555,6 +564,7 @@ StatusSectionLayout {
onResetZoomFactor: webViewContext.resetZoomCurrent()
onNextTabRequested: tabs.activateNextTab()
onPreviousTabRequested: tabs.activatePreviousTab()
+ onRemoveViewRequested: webViewContext.removeView(tabs.currentIndex || 0)
}
}
@@ -636,7 +646,8 @@ StatusSectionLayout {
incognitoMode: _internal.currentTabIncognito
zoomFactor: _internal.currentWebView?.zoomFactor ?? 1
- onAddNewTab: _internal.addNewTab()
+ browserSettings: localAccountSensitiveSettings
+ onAddNewTab: _internal.addNewEmptyTab()
onAddNewDownloadTab: _internal.addNewDownloadTab()
onGoIncognito: (checked) => root.applyIncognitoMode(checked)
onZoomIn: webViewContext.changeZoomCurrent(0.1)
@@ -717,8 +728,7 @@ StatusSectionLayout {
bookmarksModel: root.bookmarksStore.bookmarksModel
onActivateTabRequested: tabIndex => tabs.activateTab(tabIndex)
- onAddTabRequested: _internal.addNewTab()
- onAddBookmarkRequested: _internal.openFavoriteModal()
+ onAddTabRequested: _internal.addNewEmptyTab()
onEditBookmarkRequested: (url, name) => _internal.openFavoriteModal(true, url, name)
onDeleteBookmarkRequested: url => root.bookmarksStore.deleteBookmark(url)
onBookmarkClicked: url => root.openUrlInNewTab(url)
diff --git a/ui/app/AppLayouts/Browser/adapters/AbstractWebView.qml b/ui/app/AppLayouts/Browser/adapters/AbstractWebView.qml
index 1a41dc5b02f..6c0fc1d1a46 100644
--- a/ui/app/AppLayouts/Browser/adapters/AbstractWebView.qml
+++ b/ui/app/AppLayouts/Browser/adapters/AbstractWebView.qml
@@ -86,6 +86,7 @@ Item {
signal linkHovered(string hoveredUrl)
signal windowCloseRequested()
signal downloadRequested(var download)
+ signal devToolsToggled(bool enabled)
// Signals to be handled at Layout level
// newWindowRequested passes ready-to-use parameters for tab creation:
diff --git a/ui/app/AppLayouts/Browser/adapters/LazyWebViewAdapter.qml b/ui/app/AppLayouts/Browser/adapters/LazyWebViewAdapter.qml
index 89dadc0a786..7f346d11585 100644
--- a/ui/app/AppLayouts/Browser/adapters/LazyWebViewAdapter.qml
+++ b/ui/app/AppLayouts/Browser/adapters/LazyWebViewAdapter.qml
@@ -115,5 +115,6 @@ AbstractWebView {
function onCertificateError(error) { root.certificateError(error) }
function onJavaScriptDialogRequested(request) { root.javaScriptDialogRequested(request) }
function onFindTextFinished(result) { root.findTextFinished(result) }
+ function onDevToolsToggled(enabled) { root.devToolsToggled(enabled) }
}
}
diff --git a/ui/app/AppLayouts/Browser/adapters/WebViewAdapter.qml b/ui/app/AppLayouts/Browser/adapters/WebViewAdapter.qml
index e1027613d6d..60f6870bb0b 100644
--- a/ui/app/AppLayouts/Browser/adapters/WebViewAdapter.qml
+++ b/ui/app/AppLayouts/Browser/adapters/WebViewAdapter.qml
@@ -216,9 +216,7 @@ AbstractWebView {
inspectedView: root.devToolsEnabled ? webView : null
settings.forceDarkMode: Application.styleHints.colorScheme === Qt.ColorScheme.Dark
- onWindowCloseRequested: {
- root.devToolsEnabled = false
- }
+ onWindowCloseRequested: root.devToolsToggled(false)
}
Binding {
diff --git a/ui/app/AppLayouts/Browser/controls/BrowserAddressField.qml b/ui/app/AppLayouts/Browser/controls/BrowserAddressField.qml
index 28026a4a86c..9697fcc9c75 100644
--- a/ui/app/AppLayouts/Browser/controls/BrowserAddressField.qml
+++ b/ui/app/AppLayouts/Browser/controls/BrowserAddressField.qml
@@ -23,14 +23,13 @@ StatusTextField {
background: Rectangle {
color: root.bgColor
- radius: root.height
+ radius: Theme.radius
}
verticalAlignment: TextInput.AlignVCenter
leftPadding: showFavicon ? Theme.halfPadding + favicon.width + favicon.anchors.leftMargin
: Theme.padding
rightPadding: clearButton.width
placeholderText: qsTr("Search or enter address")
- font.pixelSize: Theme.fontSize(14)
color: root.incognitoMode ? Theme.palette.privacyColors.tertiary : Theme.palette.textColor
inputMethodHints: Qt.ImhUrlCharactersOnly | Qt.ImhNoPredictiveText | Qt.ImhNoAutoUppercase | Qt.ImhSensitiveData
@@ -49,7 +48,7 @@ StatusTextField {
StatusRoundedImage {
id: favicon
visible: root.showFavicon
- height: parent.height/2
+ height: parent.height*.6
width: height
anchors.left: parent.left
anchors.leftMargin: height/2
diff --git a/ui/app/AppLayouts/Browser/controls/BrowserHeaderButton.qml b/ui/app/AppLayouts/Browser/controls/BrowserHeaderButton.qml
index 3744656aa04..e74b167185b 100644
--- a/ui/app/AppLayouts/Browser/controls/BrowserHeaderButton.qml
+++ b/ui/app/AppLayouts/Browser/controls/BrowserHeaderButton.qml
@@ -11,12 +11,14 @@ StatusFlatButton {
signal contextMenuRequested(var parent, point pos)
// as per design
- implicitWidth: 36
- implicitHeight: 36
+ implicitWidth: 44
+ implicitHeight: 44
radius: width/2
padding: 4
- asset.color: {
+ icon.width: 28
+ icon.height: 28
+ icon.color: {
if (!root.enabled || !root.interactive) {
return root.incognitoMode ?
Theme.palette.privacyColors.tertiaryOpaque:
diff --git a/ui/app/AppLayouts/Browser/panels/BrowserLandscapeToolbar.qml b/ui/app/AppLayouts/Browser/panels/BrowserLandscapeToolbar.qml
index b44adef386d..1b442a23111 100644
--- a/ui/app/AppLayouts/Browser/panels/BrowserLandscapeToolbar.qml
+++ b/ui/app/AppLayouts/Browser/panels/BrowserLandscapeToolbar.qml
@@ -95,7 +95,10 @@ BrowserToolbarBase {
Divider {}
DappsComboBox {
- spacing: Theme.halfPadding
+ Layout.preferredWidth: 44
+ Layout.preferredHeight: 44
+ iconSize: 28
+ spacing: Theme.defaultHalfPadding
incognitoMode: root.currentTabIncognito
popupDirectParent: root
@@ -141,7 +144,7 @@ BrowserToolbarBase {
width: parent.width
horizontalAlignment: Text.AlignHCenter
- font.pixelSize: Theme.fontSize(11)
+ font.pixelSize: Theme.fontSize(12)
color: parent.asset.color
font.weight: Font.DemiBold
text: root.openTabsCount
diff --git a/ui/app/AppLayouts/Browser/panels/BrowserPortraitToolbar.qml b/ui/app/AppLayouts/Browser/panels/BrowserPortraitToolbar.qml
index e82bc1e737f..412d8ceb2bd 100644
--- a/ui/app/AppLayouts/Browser/panels/BrowserPortraitToolbar.qml
+++ b/ui/app/AppLayouts/Browser/panels/BrowserPortraitToolbar.qml
@@ -28,7 +28,7 @@ BrowserToolbarBase {
width: parent.width
horizontalAlignment: Text.AlignHCenter
- font.pixelSize: Theme.fontSize(11)
+ font.pixelSize: Theme.fontSize(12)
color: parent.asset.color
font.weight: Font.DemiBold
text: root.openTabsCount
diff --git a/ui/app/AppLayouts/Browser/panels/FindBar.qml b/ui/app/AppLayouts/Browser/panels/FindBar.qml
index 5d7381fb0fe..0d5c8a54e34 100644
--- a/ui/app/AppLayouts/Browser/panels/FindBar.qml
+++ b/ui/app/AppLayouts/Browser/panels/FindBar.qml
@@ -98,7 +98,8 @@ Rectangle {
color: Theme.palette.baseColor2
radius: Theme.radius
}
- font.pixelSize: Theme.fontSize(14)
+ inputMethodHints: Qt.ImhNoPredictiveText | Qt.ImhSensitiveData
+ EnterKey.type: Qt.EnterKeySearch
Layout.fillWidth: true
Layout.fillHeight: true
onAccepted: root.findNext()
@@ -109,33 +110,33 @@ Rectangle {
StatusBaseText {
text: root.activeMatch + "/" + root.numberOfMatches
visible: findTextField.text !== ""
- font.pixelSize: Theme.fontSize(14)
}
- StatusFlatRoundButton {
- implicitWidth: 32
- implicitHeight: 32
+ FindBarButton {
icon.name: "chevron-up"
enabled: root.numberOfMatches > 0
type: StatusFlatRoundButton.Type.Tertiary
onClicked: root.findPrevious()
}
- StatusFlatRoundButton {
- implicitWidth: 32
- implicitHeight: 32
+ FindBarButton {
icon.name: "chevron-down"
enabled: root.numberOfMatches > 0
type: StatusFlatRoundButton.Type.Tertiary
onClicked: root.findNext()
}
- StatusFlatRoundButton {
- implicitWidth: 32
- implicitHeight: 32
- icon.name: "close-circle"
+ FindBarButton {
+ icon.name: "close"
type: StatusFlatRoundButton.Type.Tertiary
onClicked: root.visible = false
}
}
+
+ component FindBarButton: StatusFlatRoundButton {
+ Layout.fillHeight: true
+ Layout.preferredWidth: height
+ icon.width: 28
+ icon.height: 28
+ }
}
diff --git a/ui/app/AppLayouts/Browser/panels/MobileAddressBar.qml b/ui/app/AppLayouts/Browser/panels/MobileAddressBar.qml
index 1fb24b476fc..d89158696a0 100644
--- a/ui/app/AppLayouts/Browser/panels/MobileAddressBar.qml
+++ b/ui/app/AppLayouts/Browser/panels/MobileAddressBar.qml
@@ -48,7 +48,7 @@ Control {
}
contentItem: RowLayout {
- spacing: 4
+ spacing: 0
BrowserAddressField {
id: addressBar
@@ -88,7 +88,8 @@ Control {
DappsComboBox {
Layout.fillHeight: true
Layout.preferredWidth: height
- spacing: Theme.halfPadding
+ iconSize: 28
+ spacing: Theme.defaultHalfPadding
visible: !addressBar.cursorVisible
incognitoMode: root.incognitoMode
popupDirectParent: root
@@ -124,8 +125,9 @@ Control {
tooltip.text: qsTr("Close")
tooltip.orientation: StatusToolTip.Orientation.Bottom
icon.name: "close"
- icon.width: 24
- icon.height: 24
+ icon.width: 28
+ icon.height: 28
+ isRoundIcon: true
onClicked: root.deactivateAddressBar()
}
}
diff --git a/ui/app/AppLayouts/Browser/popups/BrowserSettingsMenu.qml b/ui/app/AppLayouts/Browser/popups/BrowserSettingsMenu.qml
index 0dfcf0181bf..fcf266b97e9 100644
--- a/ui/app/AppLayouts/Browser/popups/BrowserSettingsMenu.qml
+++ b/ui/app/AppLayouts/Browser/popups/BrowserSettingsMenu.qml
@@ -12,6 +12,7 @@ StatusMenu {
required property bool incognitoMode
required property real zoomFactor
+ required property var browserSettings
visualizeShortcuts: true
@@ -127,9 +128,9 @@ StatusMenu {
icon.name: "gavel"
shortcut: "F12"
checkable: true
- checked: localAccountSensitiveSettings.devToolsEnabled
+ checked: browserSettings.devToolsEnabled
onTriggered: {
- localAccountSensitiveSettings.devToolsEnabled = !localAccountSensitiveSettings.devToolsEnabled
+ browserSettings.devToolsEnabled = !browserSettings.devToolsEnabled
}
}
diff --git a/ui/app/AppLayouts/Browser/popups/MobileSettingsMenu.qml b/ui/app/AppLayouts/Browser/popups/MobileSettingsMenu.qml
index a3302b060c3..6de23d6902b 100644
--- a/ui/app/AppLayouts/Browser/popups/MobileSettingsMenu.qml
+++ b/ui/app/AppLayouts/Browser/popups/MobileSettingsMenu.qml
@@ -31,8 +31,7 @@ StatusDialog {
footer: null
contentItem: ColumnLayout {
- StatusListItem {
- Layout.fillWidth: true
+ SettingsListItem {
visible: root.supportsIncognito
title: qsTr("Incognito")
asset.name: "privacy"
@@ -48,8 +47,7 @@ StatusDialog {
root.close()
}
}
- StatusListItem {
- Layout.fillWidth: true
+ SettingsListItem {
visible: root.supportsFind
title: qsTr("Find in page")
asset.name: "search-custom"
@@ -58,14 +56,13 @@ StatusDialog {
root.close()
}
}
- StatusListItem {
- id: zoomItem
- Layout.fillWidth: true
+ SettingsListItem {
visible: root.supportsZoom
title: qsTr("Zoom")
asset.name: "zoom"
components: [
RowLayout {
+ spacing: Theme.defaultHalfPadding
StatusFlatButton {
icon.name: "zoom-out"
tooltip.text: qsTr("Zoom Out")
@@ -100,9 +97,7 @@ StatusDialog {
root.close()
}
}
-
- StatusListItem {
- Layout.fillWidth: true
+ SettingsListItem {
title: qsTr("Settings")
asset.name: "settings"
onClicked: {
@@ -111,4 +106,10 @@ StatusDialog {
}
}
}
+
+ component SettingsListItem: StatusListItem {
+ Layout.fillWidth: true
+ asset.width: 24
+ asset.height: 24
+ }
}
diff --git a/ui/app/AppLayouts/Browser/popups/TabsBookmarksOverviewModal.qml b/ui/app/AppLayouts/Browser/popups/TabsBookmarksOverviewModal.qml
index 49152e9cc21..900abdfe5f9 100644
--- a/ui/app/AppLayouts/Browser/popups/TabsBookmarksOverviewModal.qml
+++ b/ui/app/AppLayouts/Browser/popups/TabsBookmarksOverviewModal.qml
@@ -12,6 +12,7 @@ import StatusQ.Components
import StatusQ.Popups.Dialog
import utils
+import shared.controls
import SortFilterProxyModel
@@ -37,7 +38,6 @@ StatusDialog {
// bookmarks
required property var bookmarksModel
- signal addBookmarkRequested()
signal editBookmarkRequested(string url, string name)
signal deleteBookmarkRequested(string url)
signal bookmarkClicked(string url)
@@ -56,8 +56,8 @@ StatusDialog {
// Tabs Overview
readonly property int cardWidth: 162
- readonly property int cardHeight: 106
- readonly property real cardSpacing: Theme.halfPadding
+ readonly property int cardHeight: 200
+ readonly property real cardSpacing: 10
readonly property int columnCount: root.bottomSheet ? 2 : 3
readonly property int iconSize: 28
@@ -101,50 +101,17 @@ StatusDialog {
}
contentItem: ColumnLayout {
- spacing: Theme.halfPadding
+ spacing: Theme.defaultPadding
- StatusTextField {
+ SearchBox {
id: searchField
Layout.fillWidth: true
- Layout.preferredHeight: 40
visible: searchButton.checked
onVisibleChanged: clear()
- background: Rectangle {
- color: Theme.palette.background
- radius: searchField.height
- }
- leftPadding: Theme.halfPadding + searchIcon.width + searchIcon.anchors.leftMargin
- rightPadding: Theme.halfPadding + clearButton.width
placeholderText: mainTabBar.currentIndex === TabsBookmarksOverviewModal.Mode.OpenTabs ? qsTr("Search in open tabs")
: qsTr("Search in bookmarks")
- font.pixelSize: Theme.fontSize(14)
- inputMethodHints: Qt.ImhNoPredictiveText | Qt.ImhSensitiveData | Qt.ImhNoAutoUppercase
- EnterKey.type: Qt.EnterKeySearch
-
- StatusIcon {
- id: searchIcon
- height: parent.height/2
- width: height
- anchors.left: parent.left
- anchors.leftMargin: height/2
- anchors.verticalCenter: parent.verticalCenter
- icon: "search"
- color: Theme.palette.primaryColor1
- }
-
- StatusClearButton {
- id: clearButton
- anchors.right: parent.right
- anchors.rightMargin: Theme.halfPadding
- anchors.verticalCenter: parent.verticalCenter
- visible: parent.cursorVisible && !!parent.text
- onClicked: {
- parent.forceActiveFocus()
- parent.clear()
- }
- }
}
StackLayout {
@@ -181,7 +148,7 @@ StatusDialog {
width: d.cardWidth
height: d.cardHeight
padding: 0
- spacing: 6
+ spacing: Theme.defaultHalfPadding
background: Rectangle {
id: openTabDelegateBg
@@ -192,21 +159,18 @@ StatusDialog {
}
contentItem: ColumnLayout {
- spacing: Theme.halfPadding
+ spacing: 0
RowLayout {
Layout.fillWidth: true
Layout.preferredHeight: 48
Layout.leftMargin: openTabDelegate.spacing
Layout.rightMargin: openTabDelegate.spacing
- Layout.topMargin: parent.spacing
spacing: openTabDelegate.spacing
StatusRoundedImage {
Layout.preferredWidth: d.iconSize
Layout.preferredHeight: d.iconSize
- border.width: 2
- border.color: Theme.palette.separator
image.source: root.getFaviconFn(d.searchableTabsModel.mapToSource(index))
}
StatusBaseText {
@@ -216,15 +180,15 @@ StatusDialog {
verticalAlignment: Text.AlignVCenter
elide: Text.ElideRight
color: Theme.palette.primaryColor1
- font.pixelSize: Theme.fontSize(12)
+ font.pixelSize: Theme.fontSize(13)
font.weight: Font.Medium
wrapMode: Text.WordWrap
text: model.title
}
}
Image {
- Layout.preferredWidth: parent.width - openTabDelegateBg.border.width
- Layout.preferredHeight: 58
+ Layout.preferredWidth: parent.width - openTabDelegateBg.border.width*2
+ Layout.preferredHeight: 150 - openTabDelegateBg.border.width*2
Layout.alignment: Qt.AlignHCenter
fillMode: Image.PreserveAspectCrop
mipmap: true
@@ -253,12 +217,12 @@ StatusDialog {
required property int index
required property var model
- spacing: Theme.halfPadding
+ spacing: Theme.padding
width: ListView.view.width
icon.source: model.imageUrl || Assets.svg("globe")
- icon.width: 24
- icon.height: 24
+ icon.width: d.iconSize
+ icon.height: d.iconSize
background: Rectangle {
radius: Theme.radius
@@ -331,7 +295,7 @@ StatusDialog {
StatusBaseText {
anchors.centerIn: parent
- font.pixelSize: Theme.fontSize(11)
+ font.pixelSize: Theme.fontSize(12)
color: parent.icon.color
font.weight: Font.DemiBold
text: d.searchableTabsModel.count
@@ -346,24 +310,20 @@ StatusDialog {
StatusFlatButton {
id: searchButton
icon.name: "search"
+ icon.width: d.iconSize
+ icon.height: d.iconSize
checkable: true
tooltip.text: qsTr("Search")
onToggled: searchField.focus = checked
}
StatusFlatButton {
icon.name: "add"
+ icon.width: d.iconSize
+ icon.height: d.iconSize
tooltip.text: qsTr("Add")
onClicked: {
- switch (mainTabBar.currentIndex) {
- case TabsBookmarksOverviewModal.Mode.OpenTabs:
- root.addTabRequested()
- root.close()
- break
- case TabsBookmarksOverviewModal.Mode.Bookmarks:
- root.addBookmarkRequested()
- root.close()
- break
- }
+ root.addTabRequested()
+ root.close()
}
}
}
@@ -377,6 +337,8 @@ StatusDialog {
anchors.centerIn: parent
icon: customSwitchButton.icon.name
color: customSwitchButton.icon.color
+ width: d.iconSize
+ height: d.iconSize
}
}
}
diff --git a/ui/app/AppLayouts/Browser/views/BrowserShortcutActions.qml b/ui/app/AppLayouts/Browser/views/BrowserShortcutActions.qml
index 5642cc4096c..6e736416644 100644
--- a/ui/app/AppLayouts/Browser/views/BrowserShortcutActions.qml
+++ b/ui/app/AppLayouts/Browser/views/BrowserShortcutActions.qml
@@ -74,6 +74,7 @@ QObject {
signal resetZoomFactor()
signal nextTabRequested()
signal previousTabRequested()
+ signal removeViewRequested()
Shortcut {
sequences: ["Ctrl+L", "F6"]
@@ -89,9 +90,7 @@ QObject {
}
Shortcut {
sequences: [StandardKey.Close]
- onActivated: {
- triggerWebAction(AbstractWebView.WebAction.RequestClose)
- }
+ onActivated: root.removeViewRequested() // might be trigerred from a downloads/empty page
}
Shortcut {
sequence: "Escape"
diff --git a/ui/app/AppLayouts/Browser/views/EmptyWebPage.qml b/ui/app/AppLayouts/Browser/views/EmptyWebPage.qml
index 5be25c306a8..771ac38a908 100644
--- a/ui/app/AppLayouts/Browser/views/EmptyWebPage.qml
+++ b/ui/app/AppLayouts/Browser/views/EmptyWebPage.qml
@@ -25,10 +25,10 @@ Rectangle {
anchors.horizontalCenter: parent.horizontalCenter
anchors.top: parent.top
anchors.topMargin: 60
- width: 294
- height: 294
+ width: 240
+ height: 161
- source: Assets.png("browser/pepehand")
+ source: Theme.palette.isDark ? Assets.png("browser/new_tab_dark") : Assets.png("browser/new_tab")
cache: false
}
@@ -50,4 +50,3 @@ Rectangle {
onFavMenuRequested: (parent, pos, url, name) => root.favMenuRequested(parent, pos, url, name)
}
}
-
diff --git a/ui/app/AppLayouts/Browser/webview/BrowserWebViewContext.qml b/ui/app/AppLayouts/Browser/webview/BrowserWebViewContext.qml
index 8e6d0b30d55..d1e294d6838 100644
--- a/ui/app/AppLayouts/Browser/webview/BrowserWebViewContext.qml
+++ b/ui/app/AppLayouts/Browser/webview/BrowserWebViewContext.qml
@@ -219,7 +219,9 @@ QtObject {
webChannel: root.webChannel
enableJsLogs: root.isDebugEnabled
localAccountSensitiveSettings: root.browserSettings
+
devToolsEnabled: root.browserSettings.devToolsEnabled
+ onDevToolsToggled: enabled => root.browserSettings.devToolsEnabled = enabled
onWindowCloseRequested: root.removeView(StackLayout.index)
onNewWindowRequested: (makeCurrent, requestedUrl, callback) => {
diff --git a/ui/app/AppLayouts/Wallet/controls/DappsComboBox.qml b/ui/app/AppLayouts/Wallet/controls/DappsComboBox.qml
index eca065a7740..1725fcb346c 100644
--- a/ui/app/AppLayouts/Wallet/controls/DappsComboBox.qml
+++ b/ui/app/AppLayouts/Wallet/controls/DappsComboBox.qml
@@ -26,6 +26,7 @@ ComboBox {
property bool incognitoMode: false
property var popupDirectParent: root
property int backgroundRadius: Theme.radius
+ property int iconSize: 24
implicitHeight: 38
implicitWidth: 38
@@ -65,8 +66,8 @@ ComboBox {
StatusIcon {
objectName: "dappIcon"
anchors.centerIn: parent
- width: 24
- height: 24
+ width: root.iconSize
+ height: root.iconSize
icon: "dapp"
color: root.incognitoMode ?
Theme.palette.privacyColors.tertiary: