David Rosca
fbbe3c6385
TabTreeModel: Ignore dropping child on its parent
2018-02-04 17:23:52 +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
095e0ff517
WebTab: Add sessionData property
2018-02-04 17:21:57 +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
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
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
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
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
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