Commit 50d5cd22 authored by eekkelund's avatar eekkelund

[AppLauncher] Fix icon scaling with Theme.iconSizeLauncher. Fix moving app icons inside of folder

parent b2030497
......@@ -34,17 +34,20 @@ import QtQuick.Controls.Styles.Nemo 1.0
GridView {
id: gridview
cellWidth: cellSize
cellHeight: cellSize
width: parent.width
width: cellWidth * columns
cacheBuffer: gridview.contentHeight
property Item reorderItem
property bool onUninstall
property alias deleter: deleter
property var switcher: null
property string searchString
property int minCellSize: Theme.iconSizeLauncher + Theme.itemSpacingHuge
property int rows: Math.floor(parent.height / minCellSize)
property int columns: Math.floor(parent.width / minCellSize)
cellWidth: parent.width / columns
cellHeight: Math.round(parent.height / rows)
property int cellSize: Math.min(parent.width,parent.height)/4
property int folderIndex: -1
property bool isRootFolder:true
property bool newFolderActive
......@@ -260,12 +263,11 @@ GridView {
//Using loader that in the future we can also have widgets as delegate
delegate: Loader {
id:loader
width: cellSize
height: cellSize
width: cellWidth
height: cellHeight
onXChanged: item.x = x
onYChanged: item.y = y
property QtObject modelData : model
property int cellSize: gridview.cellHeight
property int cellIndex: index
sourceComponent: object.type == LauncherModel.Folder ? folder : app
}
......
......@@ -67,19 +67,18 @@ Item {
Item {
id: iconWrapper
width: parent.width -parent.width/10
height: width - iconText.height
anchors.centerIn: parent
height: parent.height - iconText.height
width: parent.width
anchors.horizontalCenter: parent.horizontalCenter
y: Math.round((parent.height - (height + iconText.height)) / 2)
Image {
id: iconImage
anchors {
// centerIn: launcherItem.n.otNemoIcon ? parent : undefined
horizontalCenter: /* launcherItemnotNemoIcon ? undefined : */parent.horizontalCenter
top: parent.top
//topMargin: Theme.itemSpacingExtraSmall
}
width:/*launcherItem.notNemoIcon ? parent.width-parent.width/3 : */parent.width - parent.width/4
height: width
anchors.centerIn: parent
sourceSize.width: Theme.iconSizeLauncher
sourceSize.height: Theme.iconSizeLauncher
height: Theme.iconSizeLauncher
width: height
asynchronous: true
onStatusChanged: {
if (iconImage.status == Image.Error) {
......@@ -89,11 +88,7 @@ Item {
}
Spinner {
id: spinnerr
anchors {
centerIn: iconImage
top: iconImage.top
topMargin: Theme.itemSpacingExtraSmall
}
anchors.centerIn: iconImage
width: iconWrapper.width
height: width
enabled: (modelData.object.type === LauncherModel.Application) ? modelData.object.isLaunching ? switcher.switchModel.getWindowIdForTitle(modelData.object.title) == 0 : false : false
......@@ -116,13 +111,13 @@ Item {
width: iconWrapper.width
elide: Text.ElideRight
horizontalAlignment: Text.AlignHCenter
font.pixelSize: Theme.fontSizeSmall
font.pixelSize: Theme.fontSizeTiny
color: Theme.textColor
//https://bugreports.qt.io/browse/QTBUG-56052
y: -contentHeight + font.pixelSize + iconWrapper.y + iconWrapper.height
anchors {
left: parent.left
right: parent.right
bottom: parent.bottom
topMargin: Theme.itemSpacingExtraSmall
}
}
}
......
......@@ -73,10 +73,11 @@ Item {
}
Item {
id:folderIconStack
width: size
height: size
property int size: parent.width -parent.width/10
property int iconSize: (/*launcherItem.notNemoIcon ? size-size/3 : */ (size - size/4)) * 0.9
width: parent.width
height: parent.height - iconText.height
anchors.horizontalCenter: parent.horizontalCenter
y: Math.round((parent.height - (height + iconText.height)) / 2)
property int iconSize: Theme.iconSizeLauncher * 0.9
property real transparency: 0.6
property int iconCount: 4
property var icons: addIcons()
......@@ -146,13 +147,13 @@ Item {
width: launcherItem.width
elide: Text.ElideRight
horizontalAlignment: Text.AlignHCenter
font.pixelSize: Theme.fontSizeSmall
font.pixelSize: Theme.fontSizeTiny
color: Theme.textColor
//https://bugreports.qt.io/browse/QTBUG-56052
y: -contentHeight + font.pixelSize + folderIconStack.y + folderIconStack.height
anchors {
left: parent.left
right: parent.right
bottom: parent.bottom
topMargin: Theme.itemSpacingExtraSmall
}
}
......@@ -173,15 +174,16 @@ Item {
id: folderLoader
property Item reorderItem
property bool isRootFolder:false
property int folderIndex: -1
cacheBuffer: folderLoader.contentHeight
parent: gridview.contentItem
y: wrapper.y + wrapper.width
x: 0
z: wrapper.z + 100
width: gridview.width
height: count == 0 ? 0 : (Math.floor((count*wrapper.height-1)/width) + 1) * wrapper.height
height: count == 0 ? 0 : (Math.floor((count*wrapper.width-1)/width) + 1) * wrapper.height
cellWidth: wrapper.width
cellHeight: wrapper.width
cellHeight: wrapper.height
onReorderItemChanged: if(reorderItem == null) folderIconStack.icons=folderIconStack.addIcons()
Rectangle {
......
......@@ -89,9 +89,11 @@ MouseArea {
drag.target = null
parentItem.reorderItem = null
pager.interactive = true
parentItem.onUninstall = false
deleteState="basic"
deleter.uninstalling(deleteState)
if(parentItem.onUninstall){
parentItem.onUninstall = false
deleteState="basic"
deleter.uninstalling(deleteState)
}
parentItem.folderIndex = -1
reparent(parentItem.contentItem)
z = parent.z
......
......@@ -247,7 +247,7 @@ Item {
}
Image {
id: iconImage
width: parent.height-Theme.itemSpacingMedium
width: Math.min(Theme.iconSizeLauncher, parent.height-Theme.itemSpacingMedium)
height: width
source:iconSource
anchors.verticalCenter: parent.verticalCenter
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment