introduce AppletAbilities as qml library
--introduce AppletAbilities qml library which is going to be available to all applets to use it freely. In the stage all components will be qml-only but in the future when any of the components have been stabilized for their apis then many of them could gain c++ implementationpull/15/head
parent
810dd5a1b4
commit
3bee600a98
@ -1,5 +1,6 @@
|
||||
add_subdirectory(core)
|
||||
install(DIRECTORY abilities/ DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/latte/abilities)
|
||||
install(DIRECTORY applet/ DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/latte/applet)
|
||||
install(DIRECTORY components/ DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/latte/components)
|
||||
install(DIRECTORY container/ DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/latte/container)
|
||||
|
||||
|
||||
|
@ -0,0 +1,83 @@
|
||||
/*
|
||||
* Copyright 2020 Michail Vourlakos <mvourlakos@gmail.com>
|
||||
*
|
||||
* This file is part of Latte-Dock
|
||||
*
|
||||
* Latte-Dock is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* Latte-Dock is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import QtQuick 2.0
|
||||
|
||||
import org.kde.latte.container.abilities 0.1 as ContainerAbility
|
||||
|
||||
ContainerAbility.AppletRequirements{
|
||||
id: requirements
|
||||
readonly property bool isActive: bridge !== null
|
||||
|
||||
property Item bridge: null
|
||||
|
||||
onIsActiveChanged: {
|
||||
if (isActive) {
|
||||
bridge.applet.activeIndicatorEnabled = requirements.activeIndicatorEnabled;
|
||||
bridge.applet.latteSideColoringEnabled = requirements.latteSideColoringEnabled;
|
||||
bridge.applet.latteIconOverlayEnabled = requirements.latteIconOverlayEnabled;
|
||||
bridge.applet.lengthMarginsEnabled = requirements.lengthMarginsEnabled;
|
||||
bridge.applet.parabolicEffectLocked = requirements.parabolicEffectLocked;
|
||||
bridge.applet.screenEdgeMarginSupported = requirements.screenEdgeMarginSupported;
|
||||
bridge.applet.windowsTrackingEnabled = requirements.windowsTrackingEnabled;
|
||||
}
|
||||
}
|
||||
|
||||
onActiveIndicatorEnabledChanged: {
|
||||
if (isActive) {
|
||||
bridge.applet.activeIndicatorEnabled = requirements.activeIndicatorEnabled;
|
||||
}
|
||||
}
|
||||
|
||||
onLatteSideColoringEnabledChanged: {
|
||||
if (isActive) {
|
||||
bridge.applet.latteSideColoringEnabled = requirements.latteSideColoringEnabled;
|
||||
}
|
||||
}
|
||||
|
||||
onLatteIconOverlayEnabledChanged: {
|
||||
if (bridge) {
|
||||
bridge.applet.latteIconOverlayEnabled = requirements.latteIconOverlayEnabled;
|
||||
}
|
||||
}
|
||||
|
||||
onLengthMarginsEnabledChanged: {
|
||||
if (isActive) {
|
||||
bridge.applet.lengthMarginsEnabled = requirements.lengthMarginsEnabled;
|
||||
}
|
||||
}
|
||||
|
||||
onParabolicEffectLockedChanged: {
|
||||
if (isActive) {
|
||||
bridge.applet.parabolicEffectLocked = requirements.parabolicEffectLocked;
|
||||
}
|
||||
}
|
||||
|
||||
onScreenEdgeMarginSupportedChanged: {
|
||||
if (isActive) {
|
||||
bridge.applet.screenEdgeMarginSupported = requirements.screenEdgeMarginSupported;
|
||||
}
|
||||
}
|
||||
|
||||
onWindowsTrackingEnabledChanged: {
|
||||
if (isActive) {
|
||||
bridge.applet.windowsTrackingEnabled = requirements.windowsTrackingEnabled;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
module org.kde.latte.applet.abilities
|
||||
|
||||
Requirements 0.1 Requirements.qml
|
@ -1,3 +1,3 @@
|
||||
module org.kde.latte.abilities
|
||||
module org.kde.latte.container.abilities
|
||||
|
||||
AppletRequirements 0.1 AppletRequirements.qml
|
Loading…
Reference in New Issue