linphone-desktop/linphone-app/ui/modules/Common/Image/Icon.qml
Julien Wadel 3aab79261e - Chat room loading optimization.
- Fix loading more chat entries when going to beginning.
- Fix right padding text in chat messages.
- Fix black screen videos.
2022-01-26 15:37:08 +01:00

57 lines
1.6 KiB
QML

import QtQuick 2.7
import QtGraphicalEffects 1.12
import Common 1.0
import Linphone 1.0
import Utils 1.0
// =============================================================================
// An icon image properly resized.
// =============================================================================
Item {
id: mainItem
property var iconSize // Required.
property int iconHeight: 0 // Or this
property int iconWidth: 0 // <-- too
property string icon
property color overwriteColor
property alias horizontalAlignment: image.horizontalAlignment
property alias verticalAlignment: image.verticalAlignment
property alias fillMode: image.fillMode
// Use this slot because of testing overwriteColor in layer doesn't seem to work
onOverwriteColorChanged: if(overwriteColor)
image.colorOverwriteEnabled = true
else
image.colorOverwriteEnabled = false
height: iconHeight > 0 ? iconHeight : iconSize
width: iconWidth > 0 ? iconWidth : iconSize
Image {
id:image
property bool colorOverwriteEnabled : false
mipmap: SettingsModel.mipmapEnabled
cache: Images.areReadOnlyImages
asynchronous: true
//anchors.centerIn: parent
anchors.fill: parent
//width: iconWidth > 0 ? iconWidth : mainItem.width
//height: iconHeight > 0 ? iconHeight : mainItem.height
fillMode: Image.PreserveAspectFit
source: Utils.resolveImageUri(icon)
sourceSize.width: iconWidth > 0 ? iconWidth : iconSize
sourceSize.height: iconHeight > 0 ? iconHeight : iconSize
layer {
enabled: image.colorOverwriteEnabled
effect: ColorOverlay {
color: mainItem.overwriteColor
}
}
}
}