1
mirror of https://invent.kde.org/network/falkon.git synced 2024-09-22 18:22:10 +02:00
Commit Graph

206 Commits

Author SHA1 Message Date
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
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
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
67e82e8923
TabTreeModel: Fix reordering tabs in the same tree with drag&drop 2018-02-05 16:49:31 +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
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
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
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
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
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
0c7245fa9f
TabContextMenu: Require only WebTab in constructor 2018-02-04 16:58:08 +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
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
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
61299c89b6
WebTab: Save parent tab index in session file 2018-01-31 20:55:35 +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
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
ba75905134 TabContextMenu: Add Unload Tab action
Closes #2563
2018-01-24 15:15:03 +01:00
David Rosca
0b1d9e0b16 TabIcon: Don't resize to (0,0) when hiding
ComboTabBar depends on tab button position for calculating
drag offset and it breaks with some themes that returns invalid
subElementRect for buttons with (0,0) size.
2018-01-13 16:42:54 +01:00
David Rosca
cf5831d1db ComboTabBar: Ignore buttons that returns invalid element rect in dragOffset
Closes #2546
2018-01-13 16:42:35 +01:00
David Rosca
b21e2634bc ComboTabBar: Only reset dragInProgress on left mouse button release 2018-01-13 16:42:30 +01:00
David Rosca
54bad20590 ComboTabBar: Fix division by zero when icon pixmap is null 2018-01-13 16:42:24 +01:00
David Rosca
195d3f2b93 TabWidget: Reset zoom when resetting tab when closing last tab
Closes #2540
2018-01-11 19:56:19 +01:00
David Rosca
5cd580d284 ComboTabBar: Update moving tab contents during drag
Unlike QTabBar, ComboTabBar now redraws contents of moving tab.
2018-01-11 19:50:31 +01:00
David Rosca
d7146519b4 ComboTabBar: Fix draggedTabRect returning rect of current instead of pressed index 2018-01-11 19:50:26 +01:00
David Rosca
b2de2a00f4 ComboTabBar: Fix tabPixmap with high-dpi 2018-01-11 19:50:23 +01:00
David Rosca
516bd92089 TabBar: Allow to change width of tabs using style sheets
It can be set in themes or in userChrome.css as in example.

/* userChrome.css */
TabBarTabMetrics
{
    qproperty-normalMaxWidth: 250;
    qproperty-normalMinWidth: 150;
    qproperty-activeMinWidth: 150;
    qproperty-overflowedWidth: 150;
    qproperty-pinnedWidth: 35;
}
2018-01-11 19:49:12 +01:00
David Rosca
95921692be ComboTabBar: Apply padding adjustment to all tabs 2018-01-11 19:49:03 +01:00
David Rosca
21bd073482 TabBar: Increase drag start distance to not disturb tab moving
Also remove no longer needed timer to show add tab button.
2018-01-11 19:48:55 +01:00