Tasks Previews,smoothen up the experience

--reduce workarounds for tasks previews and simplify
the previews model case. Now all previews, both single
window and group are using the same delegate in
order to be drawn
pull/17/head
Michail Vourlakos
parent 9c3bbb8b19
commit 9b18db6a23

@ -34,7 +34,6 @@ import org.kde.kquickcontrolsaddons 2.0 as KQuickControlsAddons
import org.kde.taskmanager 0.1 as TaskManager
PlasmaExtras.ScrollArea {
id: mainToolTip
property Item parentTask
@ -111,36 +110,21 @@ PlasmaExtras.ScrollArea {
Loader {
id: contentItem
active: mainToolTip.rootIndex !== undefined
asynchronous: true
sourceComponent: isGroup ? groupToolTip : singleTooltip
Component {
id: singleTooltip
ToolTipInstance {
submodelIndex: mainToolTip.rootIndex
}
}
Component {
id: groupToolTip
Grid {
rows: !isVerticalPanel
columns: isVerticalPanel
flow: isVerticalPanel ? Grid.TopToBottom : Grid.LeftToRight
spacing: units.largeSpacing
Repeater {
id: groupRepeater
model: DelegateModel {
model: mainToolTip.rootIndex ? tasksModel : null
rootIndex: mainToolTip.rootIndex
delegate: ToolTipInstance {
submodelIndex: tasksModel.makeModelIndex(mainToolTip.rootIndex.row, index)
}
active: !isLauncher
sourceComponent: Grid {
rows: !isVerticalPanel
columns: isVerticalPanel
flow: isVerticalPanel ? Grid.TopToBottom : Grid.LeftToRight
spacing: units.largeSpacing
Repeater {
id: groupRepeater
model: DelegateModel {
model: isGroup ? tasksModel : 1
rootIndex: mainToolTip.rootIndex
delegate: ToolTipInstance {
submodelIndex: isGroup ? tasksModel.makeModelIndex(mainToolTip.rootIndex.row, index) : mainToolTip.rootIndex
}
}
}

@ -190,6 +190,13 @@ Column {
sourceComponent: PlasmaCore.WindowThumbnail {
winId: thumbnailSourceItem.winId
onWinIdChanged: {
//! WORKAROUND, in order for toolTipDelegate to re-instantiate the previews model when
//! previews are changing from single instance preview to another single instance
visible = false;
visible = true;
}
}
}

@ -1109,12 +1109,7 @@ MouseArea{
function preparePreviewWindow(hideClose){
windowsPreviewDlg.visualParent = previewsVisualParent;
toolTipDelegate.parentTask = taskItem;
//! WORKAROUND, in order for toolTipDelegate to re-instantiate the previews model when
//! previews are changing from single instance preview to another single instance
toolTipDelegate.rootIndex = undefined;
toolTipDelegate.rootIndex = tasksModel.makeModelIndex(itemIndex, -1);
toolTipDelegate.hideCloseButtons = hideClose;

Loading…
Cancel
Save