2017-01-02 17:05:30 -05:00
/*
* Copyright 2016 Smith AR < audoban @ openmailbox . org >
* 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/>.
*/
2016-12-30 16:26:38 -05:00
# include "dockpackage.h"
# include <QDebug>
2016-12-25 09:25:27 +02:00
# include <KPackage/PackageLoader>
# include <KI18n/KLocalizedString>
2016-12-30 16:26:38 -05:00
namespace Latte {
DockPackage : : DockPackage ( QObject * parent , const QVariantList & args )
2016-12-25 09:25:27 +02:00
: KPackage : : PackageStructure ( parent , args )
{
}
2016-12-30 16:26:38 -05:00
DockPackage : : ~ DockPackage ( )
2016-12-25 09:25:27 +02:00
{
}
2016-12-30 16:26:38 -05:00
void DockPackage : : initPackage ( KPackage : : Package * package )
2016-12-25 09:25:27 +02:00
{
auto fallback = KPackage : : PackageLoader : : self ( ) - > loadPackage ( " Plasma/Shell " , " org.kde.plasma.desktop " ) ;
package - > setDefaultPackageRoot ( QStringLiteral ( " plasma/shells/ " ) ) ;
2016-12-25 19:13:25 +02:00
package - > setPath ( " org.kde.latte.shell " ) ;
2018-02-03 18:44:08 +02:00
package - > addFileDefinition ( " defaults " , QStringLiteral ( " defaults " ) , i18n ( " Latte Dock defaults " ) ) ;
2016-12-30 16:26:38 -05:00
package - > addFileDefinition ( " lattedockui " , QStringLiteral ( " views/Panel.qml " ) , i18n ( " Latte Dock panel " ) ) ;
2016-12-25 09:25:27 +02:00
//Configuration
2016-12-30 16:26:38 -05:00
package - > addFileDefinition ( " lattedockconfigurationui " , QStringLiteral ( " configuration/LatteDockConfiguration.qml " ) , i18n ( " Dock configuration UI " ) ) ;
2018-01-18 21:21:32 +02:00
package - > addFileDefinition ( " lattedocksecondaryconfigurationui " , QStringLiteral ( " configuration/LatteDockSecondaryConfiguration.qml " ) , i18n ( " Dock secondary configuration UI " ) ) ;
2016-12-25 09:25:27 +02:00
package - > addFileDefinition ( " configmodel " , QStringLiteral ( " configuration/config.qml " ) , i18n ( " Config model " ) ) ;
2018-03-04 13:05:58 +02:00
package - > addFileDefinition ( " splitter " , QStringLiteral ( " images/splitter.svgz " ) , i18n ( " Splitter " ) ) ;
package - > addFileDefinition ( " trademark " , QStringLiteral ( " images/trademark.svgz " ) , i18n ( " Latte Trademark " ) ) ;
2017-07-25 14:06:48 +03:00
package - > addFileDefinition ( " infoviewui " , QStringLiteral ( " views/InfoView.qml " ) , i18n ( " Info View Window " ) ) ;
2017-04-23 12:14:44 +03:00
package - > addFileDefinition ( " layout1 " , QStringLiteral ( " layouts/Default.latterc " ) , i18n ( " default layout file " ) ) ;
package - > addFileDefinition ( " layout2 " , QStringLiteral ( " layouts/Plasma.latterc " ) , i18n ( " plasma layout file " ) ) ;
package - > addFileDefinition ( " layout3 " , QStringLiteral ( " layouts/Unity.latterc " ) , i18n ( " unity layout file " ) ) ;
package - > addFileDefinition ( " layout4 " , QStringLiteral ( " layouts/Extended.latterc " ) , i18n ( " extended layout file " ) ) ;
2017-07-02 15:17:17 +03:00
package - > addFileDefinition ( " preset1 " , QStringLiteral ( " presets/Default.layout.latte " ) , i18n ( " default preset file " ) ) ;
package - > addFileDefinition ( " preset2 " , QStringLiteral ( " presets/Plasma.layout.latte " ) , i18n ( " plasma preset file " ) ) ;
package - > addFileDefinition ( " preset3 " , QStringLiteral ( " presets/Unity.layout.latte " ) , i18n ( " unity preset file " ) ) ;
package - > addFileDefinition ( " preset4 " , QStringLiteral ( " presets/Extended.layout.latte " ) , i18n ( " extended preset file " ) ) ;
2018-01-13 12:00:47 +02:00
package - > addFileDefinition ( " preset10 " , QStringLiteral ( " presets/multiple-layouts_hidden.layout.latte " ) , i18n ( " multiple layouts hidden file " ) ) ;
2017-07-25 14:06:48 +03:00
2018-10-27 00:59:36 +03:00
package - > addFileDefinition ( " themesExtendedInfo " , QStringLiteral ( " themes/themesExtendedInforc " ) , i18n ( " a file that contains extended information for plasma themes " ) ) ;
2016-12-25 09:25:27 +02:00
package - > setFallbackPackage ( fallback ) ;
qDebug ( ) < < " package is valid " < < package - > isValid ( ) ;
}
2016-12-30 16:26:38 -05:00
void DockPackage : : pathChanged ( KPackage : : Package * package )
2016-12-25 09:25:27 +02:00
{
if ( ! package - > metadata ( ) . isValid ( ) )
return ;
2017-04-21 16:59:58 +03:00
2016-12-25 09:25:27 +02:00
const QString pluginName = package - > metadata ( ) . pluginId ( ) ;
2017-04-21 16:59:58 +03:00
2016-12-25 19:13:25 +02:00
if ( ! pluginName . isEmpty ( ) & & pluginName ! = " org.kde.latte.shell " ) {
2016-12-28 17:33:59 +02:00
auto fallback = KPackage : : PackageLoader : : self ( ) - > loadPackage ( " Plasma/Shell " , " org.kde.latte.shell " ) ;
2016-12-25 09:25:27 +02:00
package - > setFallbackPackage ( fallback ) ;
2016-12-25 19:13:25 +02:00
} else if ( pluginName . isEmpty ( ) | | pluginName = = " org.kde.latte.shell " ) {
2016-12-25 09:25:27 +02:00
package - > setFallbackPackage ( KPackage : : Package ( ) ) ;
}
}
2016-12-30 16:26:38 -05:00
}