Fix/misc browser UI fixes#20883
Conversation
There was a problem hiding this comment.
Pull request overview
This PR collects several Browser UI fixes plus minor StatusQ component tweaks. It updates sizing/spacing across the Mobile Browser per latest Figma (zooming address bar, find bar, bottom nav, tab/bookmark cards, settings menu icons), swaps the empty-tab illustration, fixes the favicon clipping in the address bar, ensures opening tabs/bookmarks no longer activates the address bar, propagates DevTools toggle state through a new devToolsToggled signal so the DevTools window's own close button works, and refactors StatusDialogHeader to use top-only corner radii.
Changes:
- Mobile Browser UI scaling/sizing updates (toolbars, address/find bars, tab & bookmark cards, settings menu, header buttons).
- Browser behavior fixes: opening tab/bookmark stays in view mode (
addNewTabno longer auto-activates address bar; newaddNewEmptyTabhelper); DevTools close button properly disables DevTools via newdevToolsToggledsignal;StandardKey.Closenow removes the current view via a newremoveViewRequestedsignal. - StatusQ tweaks:
StatusDialogHeaderuses per-corner radii;StatusBaseButtonusespointerHoverHandler.hovered(instead ofroot.hovered) for text color and tooltip visibility, and the round-icon size now followsroot.icon.width/height;StatusTextFieldnon-hovered background usesprimaryColor3.
Reviewed changes
Copilot reviewed 21 out of 27 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| ui/StatusQ/src/StatusQ/Popups/Dialog/StatusDialogHeader.qml | Use per-corner radii instead of bottom-corner cover rectangle. |
| ui/StatusQ/src/StatusQ/Controls/StatusTextField.qml | Use primaryColor3 as default (non-hovered) background. |
| ui/StatusQ/src/StatusQ/Controls/StatusBaseButton.qml | Switch to pointerHoverHandler.hovered; round icon uses icon.width/height. |
| ui/StatusQ/src/assets/png/png.qrc | Replace pepehand.png with new_tab.png. |
| ui/app/AppLayouts/Wallet/controls/DappsComboBox.qml | Add configurable iconSize. |
| ui/app/AppLayouts/Browser/webview/BrowserWebViewContext.qml | Wire onDevToolsToggled to persist setting. |
| ui/app/AppLayouts/Browser/views/EmptyWebPage.qml | Use new tab illustration with new dimensions. |
| ui/app/AppLayouts/Browser/views/BrowserShortcutActions.qml | Add removeViewRequested signal for StandardKey.Close. |
| ui/app/AppLayouts/Browser/popups/TabsBookmarksOverviewModal.qml | Replace inline search field with SearchBox; resize cards/icons/font. |
| ui/app/AppLayouts/Browser/popups/MobileSettingsMenu.qml | Extract SettingsListItem component with consistent asset size. |
| ui/app/AppLayouts/Browser/popups/BrowserSettingsMenu.qml | Take browserSettings as required prop instead of using global. |
| ui/app/AppLayouts/Browser/panels/MobileAddressBar.qml | Bump close button icon size; mark as round; tighten layout spacing. |
| ui/app/AppLayouts/Browser/panels/FindBar.qml | Extract FindBarButton component; bump icon sizes. |
| ui/app/AppLayouts/Browser/panels/BrowserPortraitToolbar.qml | Bump open-tabs counter font size. |
| ui/app/AppLayouts/Browser/panels/BrowserLandscapeToolbar.qml | Resize DappsComboBox; bump open-tabs counter font size. |
| ui/app/AppLayouts/Browser/controls/BrowserHeaderButton.qml | Resize button/icon and use icon.color instead of asset.color. |
| ui/app/AppLayouts/Browser/controls/BrowserAddressField.qml | Use Theme.radius; enlarge favicon to 60% of height. |
| ui/app/AppLayouts/Browser/BrowserLayout.qml | Add addNewEmptyTab, optional activate flag for new tabs; wire onRemoveViewRequested; pass browserSettings to settings menu. |
| ui/app/AppLayouts/Browser/adapters/WebViewAdapter.qml | Emit devToolsToggled(false) instead of mutating devToolsEnabled. |
| ui/app/AppLayouts/Browser/adapters/LazyWebViewAdapter.qml | Forward onDevToolsToggled from inner view. |
| ui/app/AppLayouts/Browser/adapters/AbstractWebView.qml | Declare devToolsToggled(bool enabled) signal. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Jenkins BuildsClick to see older builds (20)
|
|
Tested APK build # 1 Summary: Fixes #20443 - partially fixed. Logged bugs from 10-16 on the ticket |
d6cc151 to
50a4cd5
Compare
- also size-optimize some browser PNGs using `optipng` Fixes #20601
- we don't have an active WebView, so the abstract action wouldn't do anything
…field - make a distinction between opening a new tab for viewing, and an empty one (where we actually do want to start entering the URL) Fixes #20656
- don't break the settings binding, and update the internal action properly
- don't take the value from `d.iconSize` which is precomputed, make it possible to set it properly via `icon.width/height`
…ltips and text color - that way we don't get spurious hover events on touch
- in Qt 6.11, we can set the radius on an individual rectangle corner, no need to create an extra fake Rectangle
- no need to set the border here at all Fixes #20683
- increase font sizes and spacings - use default corner radius - element sizes upped to 44, icon sizes to 28 - use the standard SearchBox component - increase the webpage preview size Fixes #20443
- adjust the flags to make it more privacy oriented
- also add a dark variant Fixes #20601
50a4cd5 to
0445b78
Compare
What does the PR do
Best review commit by commit, in a nutshell:
minor Browser UI fixes according to latest Figma and We need to zoom in all the browser UI elements across the board #20443
separate fixes for new tab image ([Browser] Update the new tab image #20601), favicon ([Browser] Transparent favicon bleeds outside circle container #20683) and URL entry field ([Browser] clicking on an open or bookmarked tab opens it the browser edit mode while it should be opened in the browser view mode #20656)
fix closing the DevTools using its own close button
small fixes to StatusBaseButton and StatusDialogHeader
Fixes #20443
Fixes #20601
Fixes #20683
Fixes #20656
Affected areas
Browser
Quality checklist
My PR is consistent with this document: QML Architecture Guidelines
Screencapture of the functionality
Impact on end user
Better Mobile Browser UX
How to test
Risk