1
mirror of https://invent.kde.org/network/falkon.git synced 2024-12-20 18:56:34 +01:00
Commit Graph

3914 Commits

Author SHA1 Message Date
David Rosca
4caab39269
Fix building password backend plugins 2018-02-06 17:53:21 +01:00
David Rosca
41b6ae21cd
WebTab: Return requestedUrl when url is empty 2018-02-06 17:40:35 +01:00
David Rosca
2283b41fdc
TabBar: Fix calculating pinned tab width
It takes into account cornerWidth and calculates correct value with RTL.

For the last time now hopefully.
2018-02-06 17:40:31 +01:00
David Rosca
c506283534
ComboTabBar: Disable tab drag bounds with RTL 2018-02-06 17:40:27 +01:00
David Rosca
977b45505c
PluginProxy: Remove QZ_REGISTER_* macros 2018-02-06 17:40:14 +01:00
David Rosca
43fa19121a
VerticalTabs: Make it possible to change height of pinned tab view
Same as TabTreeView, TabListView uses font metrics to calculate height.
Themes can change it with "font-size" property.
2018-02-06 17:39:52 +01:00
David Rosca
6c94d40187
BrowserWindow: Make Ctrl+PgUp/Down shortcuts use tab bar order 2018-02-06 17:39:47 +01:00
David Rosca
beeb68f7a6
TabMruModel: Ignore moving already first index 2018-02-06 17:39:42 +01:00
David Rosca
71f5d72a65
Move last tab tracking from TabWidget to TabBar 2018-02-06 17:39:37 +01:00
David Rosca
0f2728e49e
BrowserWindow: Always create tab models in initialization 2018-02-06 17:39:33 +01:00
David Rosca
94e6b98450
TabModel: Check return value of beginMoveRows 2018-02-06 17:39:26 +01:00
David Rosca
b933e87c99
Add TabMruModel
Sorts tabs in most recently used order.
2018-02-06 17:39:05 +01:00
David Rosca
6aee383a9c
VerticalTabs: Add Tab Tree context menu with tree actions
With Close Tree + Expand/Collapse all actions.
2018-02-05 16:49:38 +01:00
David Rosca
67e82e8923
TabTreeModel: Fix reordering tabs in the same tree with drag&drop 2018-02-05 16:49:31 +01:00
David Rosca
5e2af2ff66
VerticalTabs: Add support for creating groups
Long press on New Tab button will show menu with existing groups
and clicking on group will open new tab inside this group.
2018-02-05 16:49:24 +01:00
David Rosca
e74f18e8e8
History: Only save whitelisted schemes 2018-02-05 16:48:19 +01:00
David Rosca
e28b2048df
NetworkManager: Add support for "extension://" scheme 2018-02-05 16:47:46 +01:00
David Rosca
ea432a7de7
TabContextMenu: Add Options flags 2018-02-05 16:44:44 +01:00
David Rosca
825ee7ea96
Revert "TabContextMenu: Require only WebTab in constructor"
This broke context menu on empty tab bar space.

This reverts commit e791e77045b572af02d27f7a15ae082a4a13814c.
2018-02-05 16:44:39 +01:00
David Rosca
408b2ffad6
TabWidget: Add public webTab method
Also cleanup tabbedwebview.h includes.
2018-02-05 16:44:23 +01:00
David Rosca
fbbe3c6385
TabTreeModel: Ignore dropping child on its parent 2018-02-04 17:23:52 +01:00
David Rosca
aa332a4ed2
VerticalTabs: Reject drop on last row in pinned tabs model
It seems like a weird behavior in Qt because source model receives
drop on last index (in filter model) as drop on last index in source
model instead of filter model and it can't make a right decision.

Source model:
| 1 | 2 | 3 | 4 | 5 | 6 |
Filter model:
| 1 | 2 | 3 | 4 |
                ^
Dropping here propagates to source model as drop on index 7, not 5.

Let's just ignore this case to workaround it.
2018-02-04 17:23:46 +01:00
David Rosca
9eccf4fae3
TabModel: Rework drag&drop logic
Use QMimeData subclass to safely pass pointers.
Only allow to drop one tab at a time and disable drop action
when not possible. Allow to move tabs to other windows, with the
exception of tabs with children.
2018-02-04 17:23:06 +01:00
David Rosca
ca15006145
TabWidget: Track last WebTab instead of only index 2018-02-04 17:22:05 +01:00
David Rosca
dbd4e75941
VerticalTabs: Save expanded state in session 2018-02-04 17:22:00 +01:00
David Rosca
095e0ff517
WebTab: Add sessionData property 2018-02-04 17:21:57 +01:00
David Rosca
62264501e2
VerticalTabs: Switch tabs with mouse wheel
But only when there is no scrollbar in normal tabs view.
2018-02-04 17:21:54 +01:00
David Rosca
bbbe136346
VerticalTabs: Handle Ctrl+Tab switching tabs in tree order 2018-02-04 17:21:50 +01:00
David Rosca
ee2e1e9f78
TabWidget: Add BrowserWindow accessor 2018-02-04 17:21:47 +01:00
David Rosca
0bf881c168
Plugins: Hook key events in TabWidget 2018-02-04 17:21:42 +01:00
David Rosca
25d70e557a
VerticalTabs: Add Simple theme 2018-02-04 17:21:38 +01:00
David Rosca
7bb2b5dfed
VerticalTabs: Cleanups in Windows theme 2018-02-04 17:21:34 +01:00
David Rosca
b24041cb8e
LocationCompleterDelegate: Don't use selected icon mode for favicons
Same reason as previous commit
2018-02-04 17:21:31 +01:00
David Rosca
ca60f9a300
VerticalTabs: Don't use selected icon mode for favicons
On some styles (particularly QStyleSheetStyle) it returns pixmap
drawn onto background color.
2018-02-04 17:21:26 +01:00
David Rosca
4db34d4645
VerticalTabs: Remove custom properties for colors 2018-02-04 17:21:23 +01:00
David Rosca
06621a6f8a
VerticalTabs: Add windows theme 2018-02-04 17:21:15 +01:00
David Rosca
2c731111d7
VerticalTabs: Add support for changing themes 2018-02-04 17:21:12 +01:00
David Rosca
2c60d8bcfb
VerticalTabs: Add option to append/prepend new child tabs 2018-02-04 17:21:08 +01:00
David Rosca
e981f638de
VerticalTabs: Hide pinned tabs view when empty 2018-02-04 17:21:04 +01:00
David Rosca
f3d5f27cdf
VerticalTabs: Set Qt::NoFocus policy
Fixes some styles painting unwanted focus indicator.
2018-02-04 17:21:01 +01:00
David Rosca
8c96660852
VerticalTabs: Add new tab button 2018-02-04 17:20:56 +01:00
David Rosca
faec2d2b20
VerticalTabs: Fix object names for close button 2018-02-04 17:20:52 +01:00
David Rosca
ac9830381d
VerticalTabs: Add option to indentate background of items 2018-02-04 17:20:49 +01:00
David Rosca
e5a55a6c69
VerticalTabs: Fix rendering negative margins when updating single index 2018-02-04 17:20:44 +01:00
David Rosca
79d116d07c
TabTreeDelegate: Make it stylable on which items to show close button 2018-02-04 17:20:40 +01:00
David Rosca
36eb1f5523
VerticalTabs: Fix QSS styling issues
It is now possible to replicate tabbar from Windows theme.
2018-02-04 17:20:28 +01:00
David Rosca
ad387fe712
TabTreeView: Draw real tabbar close button and make it stylable 2018-02-04 17:20:17 +01:00
David Rosca
6985a8567a
RestoreManager: Validate all elements in session file
Session file can be corrupted or have data from unsupported version
inside the file.
2018-02-04 17:20:10 +01:00
David Rosca
e6b220a87a
WebTab: Add option to prepend child tabs instead of appending 2018-02-04 17:20:00 +01:00
David Rosca
81e86d4a3c
BookmarksToolbar: Fix setting correct minimum height
Closes #2588
2018-02-04 17:19:39 +01:00
David Rosca
4ad6d6cda1
TabTreeModel: Only sync top-level tabs when closing window
Otherwise reordering tabs is too distracting when tabbar is visible.
2018-02-04 17:18:39 +01:00
David Rosca
ae4d971d1a
BrowserWindow: Add aboutToClose signal 2018-02-04 17:18:35 +01:00
David Rosca
05bb94adfe
VerticalTabs: Correctly delete models when switching view type 2018-02-04 17:18:31 +01:00
David Rosca
68c30781bb
VerticalTabs: Show tooltips for tabs 2018-02-04 17:18:27 +01:00
David Rosca
e9f3679bb1
TabTreeModel: Sync top-level tabs with main tabbar
This way the order of top-level tabs is also preserved in session.
2018-02-04 17:18:23 +01:00
David Rosca
a1101c129c
VerticalTabs: Move scrollbar to the left 2018-02-04 17:18:19 +01:00
David Rosca
805c23ddb9
VerticalTabs: Expand subtree when new tab is inserted 2018-02-04 17:18:13 +01:00
David Rosca
072d3c28ee
VerticalTabs: Show pinned tabs in horizontal list above normal tabs 2018-02-04 17:18:01 +01:00
David Rosca
801c1845b5
Cleanups in TabTreeView 2018-02-04 17:16:19 +01:00
David Rosca
fc9f88ae67
VerticalTabs: Set scrolling per pixel 2018-02-04 17:15:57 +01:00
David Rosca
ebd2b6da51
VerticalTabs: Automatically scroll to current tab 2018-02-04 17:15:50 +01:00
David Rosca
66023d2dba
Add VerticalTabs plugin 2018-02-04 17:15:23 +01:00
David Rosca
af95dd14e2
WebTab: Fix updating isCurrentTab in attach 2018-02-04 16:59:23 +01:00
David Rosca
16c7af63b6
BrowserWindow: Add accessor for TabModel 2018-02-04 16:58:43 +01:00
David Rosca
9f4ac24cf8
TabBar: Initialize pinned tab width from real tab
Calculates the padding between tab border and icon from tabRect
instead of using style pixel metric which was oftentimes incorrect.

Pinned tabs should now have correct size and icon be perfectly centered
with all possible widget and qss styles.
2018-02-04 16:58:35 +01:00
David Rosca
01c5397fef
WebTab: Don't set "Loading..." tab text
Instead improve page title from url when title is empty
2018-02-04 16:58:18 +01:00
David Rosca
0c7245fa9f
TabContextMenu: Require only WebTab in constructor 2018-02-04 16:58:08 +01:00
David Rosca
29735b24c8
WebTab: Add makeCurrentTab and closeTab methods 2018-02-04 16:58:01 +01:00
David Rosca
349f6b9c32
TabWidget: Fix emitting tabMoved when pinning tabs 2018-02-04 16:57:49 +01:00
David Rosca
188082b690
TabModel: Add AudioPlayingRole and AudioMutedRole 2018-02-04 16:56:04 +01:00
David Rosca
47be65f903
TabIcon: Make static image data public 2018-02-04 16:47:25 +01:00
David Rosca
59dbfc1f48
TabTreeModel: Reset model when source resets 2018-01-31 21:06:33 +01:00
David Rosca
ebaab19f88
TabWidget: Correctly emit tabRemoved when detaching tab 2018-01-31 21:05:56 +01:00
David Rosca
43e472e50e
TabBar: Disallow detaching tab when there is only one tab in the only window
Otherwise it would close the last window which would quit the app.
2018-01-31 21:05:48 +01:00
David Rosca
dc8ddb03c1
TabTreeModel: Don't allow to move pinned tabs 2018-01-31 21:05:41 +01:00
David Rosca
85def54d3c
WebTab: Preserve order of child tabs in session file 2018-01-31 21:05:30 +01:00
David Rosca
4bb75de25c
WebTab: Fix removing from existing parent in addChildTab 2018-01-31 21:05:21 +01:00
David Rosca
1c7288204c
ProfileManager: Never allow to use session from newer profile version
Always make a backup instead of possibly corrupting it.
2018-01-31 21:04:54 +01:00
David Rosca
fa19d97dc4
WebTab: Don't add pinned tabs to tab tree 2018-01-31 21:03:11 +01:00
David Rosca
e57fb65c95
Add TabTreeModel
This model orders tabs in "Tree Style Tabs" fashion.
2018-01-31 21:03:06 +01:00
David Rosca
57b605e4e0
TabModel: add CurrentTabRole and LoadingRole 2018-01-31 21:01:36 +01:00
David Rosca
a8bda61f3e
TabModel: Remove ParentTabRole and ChildTabsRole 2018-01-31 21:00:20 +01:00
David Rosca
2b994920ad
WebTab: Fix detaching completer and site icon
Fixes crash when detaching tab and closing the originating window.
2018-01-31 20:59:32 +01:00
David Rosca
67973d704d
WebTab: Add addChildTab method
Also fix detaching from parent/child tabs and add autotest.
2018-01-31 20:58:36 +01:00
David Rosca
1b473ac580
Detach WebTab when removing tab
That way tab is removed from parent and children before
it is removed from tabbar.
2018-01-31 20:56:48 +01:00
David Rosca
72c4b605a5
TabModel: Implement drag&drop 2018-01-31 20:56:39 +01:00
David Rosca
8fe53f1c2c
WebTab: Correctly reparent children in destructor 2018-01-31 20:55:52 +01:00
David Rosca
33b2f0f908
WebView: Try requestedUrl when url is empty in title() 2018-01-31 20:55:44 +01:00
David Rosca
61299c89b6
WebTab: Save parent tab index in session file 2018-01-31 20:55:35 +01:00
David Rosca
5b7653188b
Track parent tab for WebTab when opening new tabs 2018-01-31 20:55:25 +01:00
David Rosca
e44877d4c7
WebTab: Add parentTab and childTabs properties 2018-01-31 20:54:59 +01:00
David Rosca
2377503517
Add TabModel 2018-01-31 20:54:50 +01:00
David Rosca
f8531ac632
MainMenu: Fix null session manager warnings in test mode 2018-01-31 20:45:32 +01:00
David Rosca
0d71069122
LocationBar: Don't suggest to search for javascript: scheme 2018-01-31 20:45:17 +01:00
David Rosca
a89fcf9002
GM_Manager: Remove no longer needed doDownloadScript helper
downloadScript is now always called from main thread again.
2018-01-31 20:45:07 +01:00
David Rosca
f9feab7d9d
GM_Script: Download icon and display it in settings 2018-01-31 20:44:33 +01:00
David Rosca
4283260504
GM_Script: Fix support for @noframes 2018-01-31 20:44:09 +01:00
David Rosca
b5b77e7932
GM_Script: Add iconUrl property 2018-01-31 20:43:57 +01:00
David Rosca
1c4937b64c
LocationBar: Fix transforming text to url when searching is disabled
Closes #2578
2018-01-31 20:43:28 +01:00
David Rosca
056d5ec3aa
Autotests: Clean test profile directory before each test 2018-01-29 00:24:09 +01:00
David Rosca
069c10c1f1
BrowserWindow: Don't show window in test mode 2018-01-29 00:21:49 +01:00
David Rosca
662f935f68
Fix build with older GCC 2018-01-29 00:21:31 +01:00
David Rosca
f36799a8da
WebView: Correctly transfer loading signals when changing page 2018-01-29 00:21:11 +01:00
David Rosca
1fe7f0c232
Correctly handle possibility that page changes in WebView 2018-01-28 22:41:08 +01:00
David Rosca
b5d872f64e
TabContextMenu: Add Load Tab action 2018-01-28 22:40:46 +01:00
David Rosca
13e81d0b21
LocationBar: Don't allow to load url when tab is not restored
This can currently happen only when unloading tab
2018-01-28 22:40:30 +01:00
David Rosca
2d01a6d092
WebTab: Set new WebPage when unloading tab
This way it is not needed to have special handling for unloading
in WebTab and it also kills the QtWebEngineProcess entirely.
2018-01-28 22:40:17 +01:00
David Rosca
9b3f56093e
TabbedWebView: Rename setWebPage -> setPage
Fixes hovered links not being shown in statusbar for target=_blank
tabs as WebPage is setting new page of webview with setPage.
2018-01-28 22:40:04 +01:00
David Rosca
deca7f7399
LocationBar: Also whitelist data: scheme for loading urls 2018-01-28 15:50:24 +01:00
David Rosca
ae3aebc06c
Preferences: Always show Password Manager options
Show Password Manager options even when storing passwords on sites
is disabled as Password Manager still works (it will complete already
saved passwords).
2018-01-28 15:48:31 +01:00
David Rosca
89f3b18df3
AutoFill: Add option to disable auto complete on sites
This is particularly useful with Encrypted backend as it will
only prompt for password when you actually want to fill passwords.
2018-01-28 15:47:57 +01:00
David Rosca
e719a959d4
AutoFill: completePage now returns only list of usernames 2018-01-28 15:47:10 +01:00
David Rosca
fa8fe079cb
SqlDatabase: Correctly create new connections for threads
In Qt 5.11 QSqlDatabase can be accessed only from thread where
it was created, so it is no longer possible to clone it from other
threads.
2018-01-28 12:56:32 +01:00
David Rosca
2a22f61dec
AutoFill: Make it possible to request only usernames from backend 2018-01-28 12:53:59 +01:00
David Rosca
c2d7e1eb48
SiteIcon: Set Qt::NoFocus focus policy 2018-01-28 12:53:03 +01:00
David Rosca
310f3cfde7
ButtonWithMenu: Fix down state handling 2018-01-28 12:52:46 +01:00
David Rosca
00e2af4164
WebSearchBar: Fix typo "comobobox" -> "combobox" 2018-01-28 12:52:37 +01:00
David Rosca
723aee6a33
MainApplication: Load private.css style from theme in private browsing
Closes #2575
2018-01-28 12:52:21 +01:00
David Rosca
d20d491e52
Filter duplicated plugins in falkon:config page
Also show plugin filename
2018-01-28 12:52:13 +01:00
David Rosca
e6edae7d63
Show all data paths in falkon:config page
Also show Extensions paths.
2018-01-28 12:52:00 +01:00
David Rosca
53568d4f3f
Set bigger maximum width for falkon:about and falkon:config pages 2018-01-28 12:51:47 +01:00
David Rosca
5bcffae242
LocationCompleter: Show bookmark as first suggestion when found with keyword 2018-01-27 17:36:13 +01:00
David Rosca
e23edd7420
WebPage: Improve createWindow focus issue workaround 2018-01-27 17:36:08 +01:00
David Rosca
538299116f
LocationCompleterDelegate: Only show Visit action on hovered/active items 2018-01-27 17:36:04 +01:00
David Rosca
0cf48359f9
LocationCompleterDelegate: Draw search engine icon for search shortcuts 2018-01-27 17:36:00 +01:00
David Rosca
8208d7ceda
LocationBar: Fix setting search engine for Search action 2018-01-27 17:35:55 +01:00
David Rosca
51b4a39399
LocationCompleter: Allow to force loading typed text with Shift+Enter
Allow to ignore the suggested search action and instead just
try to load the typed text as url.
2018-01-27 17:35:43 +01:00
David Rosca
eae11b9a9a
LocationBar: Only allow whitelisted schemes to be loaded as url 2018-01-27 17:35:27 +01:00
David Rosca
958fc63f01
LocationBar: Only allow spaces in url query
Fixes correctly searching for "site:website.com searchterm"

BUG: 389491
2018-01-27 11:16:33 +01:00
David Rosca
2e7436c741
LocationBar: Handle url/search resolution in loadAction instead of WebView::load 2018-01-27 11:15:45 +01:00
David Rosca
0af95e3b1f
MainApplication: Add support for starting in test mode 2018-01-27 10:56:02 +01:00
David Rosca
c2a730e9f4
LocationCompleter: Fix removing search shortcut from search string
Closes #2573
2018-01-27 10:52:41 +01:00
David Rosca
b3d2bd1f5f
DownloadItem: Fix calculating remaining time
It is still not correct as it uses QTime which can only represent
24 hour timeframe.
2018-01-27 10:52:32 +01:00
David Rosca
d9c494b8f7
IconProvider: Replace favicon entry in cache if already exists 2018-01-27 10:52:17 +01:00
David Rosca
486b6b9463
LocationCompleterView: Make PageUp/Down skip over 5 entries
Instead of default behavior (one screen = 12 entries) which is too much.
2018-01-27 10:52:12 +01:00
David Rosca
a0472177c2
LocationCompleterView: Make the search button area into QFrame 2018-01-27 10:52:07 +01:00
Jimi Huotari
addbb21c77
Fix build against Qt 5.11 2018-01-26 12:59:03 +01:00
David Rosca
8d06eee009
LocationCompleterView: Fix incorrect resize in some cases 2018-01-26 12:58:12 +01:00
David Rosca
5ee0623d32
LocationCompleter: Fix popup opening with suggestions after it was closed 2018-01-26 12:58:08 +01:00
David Rosca
b9294e02bb
LocationBar: Don't show favicon in site icon
Most of the sites are https nowadays, for which favicon is not
displayed, so there is no more a reason to show favicon in site
icon in locationbar.
Favicon is still displayed in tab icon.

Closes #918
2018-01-26 12:58:04 +01:00
David Rosca
948e623f9e
LocationBar: Show search icon as site icon when completion popup is open 2018-01-26 12:57:59 +01:00
David Rosca
4ad5900604
LocationCompleter: Call closePopup+clearCompletion also in indexActivated 2018-01-26 12:57:53 +01:00
David Rosca
3469d5b114
LocationCompleterView: Always resize on first adjustSize after show 2018-01-26 12:57:48 +01:00
David Rosca
3ec4d96f74
LocationCompleter: Properly close popup when showing search engines dialog 2018-01-26 12:57:44 +01:00
David Rosca
52076009e0
LocationComplterRefreshJob: Set HistoryRole for most visited completions
Closes #2570
2018-01-26 12:57:39 +01:00
David Rosca
99ceda4324
LocationCompleterView: Delay resizing popup to reduce flicker 2018-01-26 12:57:34 +01:00
David Rosca
09ee6007e9
LocationCompleter: Handle creating LoadRequest
Instead of just passing string that LocationBar should somehow
parse and decide what to do (which may not correspond to what was
indicated in completion entry), make the LocationCompleter create
it with all needed info and pass it to LocationBar to load.

This fixes issue where search completions may have been loaded
with different search engine when suggestion starts with search
engine shortcut (which would also get cut in the search).

This also removes the possibility to open new window from completer
with activating entry with Shift key.
2018-01-26 12:57:30 +01:00
David Rosca
8d45c910bf
LocationBar: Add LoadAction
It represents action to be taken after submitting text in LocationBar.
Use it from LocationCompleterDelegate instead of duplicating the logic.

This fixes showing incorrect indication when typing bookmark keyword
and when search suggestions begins with search engine shortcut.
2018-01-26 12:57:22 +01:00
David Rosca
4140aae6d2
LocationCompleterView: Add buttons with all search engines 2018-01-26 12:56:50 +01:00
David Rosca
fe8eb7f122
LocationCompleterView: No need to use QPointer for SearchEnginesDialog 2018-01-26 12:55:57 +01:00