/* * Copyright 2009 by Alan Alpert * Copyright 2010 by Ménard Alexis * Copyright 2010 by Marco Martin * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Library General Public License as * published by the Free Software Foundation; either version 2, or * (at your option) any later version. * * This program 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 Library General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "corebindingsplugin.h" #include #include #include #include #include #include #include #include "datasource.h" #include "datamodel.h" #include "framesvgitem.h" #include "runnermodel.h" #include "svgitem.h" #include "theme.h" #include "dialog.h" #include "iconitem.h" #include "tooltip.h" #include "dataenginebindings_p.h" void CoreBindingsPlugin::initializeEngine(QDeclarativeEngine *engine, const char *uri) { QDeclarativeExtensionPlugin::initializeEngine(engine, uri); QDeclarativeContext *context = engine->rootContext(); ThemeProxy *theme = new ThemeProxy(context); context->setContextProperty("theme", theme); KDeclarative kdeclarative; kdeclarative.setDeclarativeEngine(engine); kdeclarative.initialize(); QScriptEngine *scriptEngine = kdeclarative.scriptEngine(); //inject the hack only if wasn't injected already if (!scriptEngine->globalObject().property("i18n").isValid()) { //binds things like kconfig and icons kdeclarative.setupBindings(); } registerDataEngineMetaTypes(scriptEngine); } void CoreBindingsPlugin::registerTypes(const char *uri) { Q_ASSERT(uri == QLatin1String("org.kde.plasma.core")); qmlRegisterType(uri, 0, 1, "Svg"); qmlRegisterType(uri, 0, 1, "FrameSvg"); qmlRegisterType(uri, 0, 1, "SvgItem"); qmlRegisterType(uri, 0, 1, "FrameSvgItem"); qmlRegisterType(uri, 0, 1, "Theme"); qmlRegisterType(uri, 0, 1, "DataSource"); qmlRegisterType(uri, 0, 1, "DataModel"); qmlRegisterType(uri, 0, 1, "SortFilterModel"); qmlRegisterType(uri, 0, 1, "Dialog"); qmlRegisterType(uri, 0, 1, "ToolTip"); qmlRegisterInterface("Service"); qRegisterMetaType("Service"); qmlRegisterInterface("ServiceJob"); qRegisterMetaType("ServiceJob"); qmlRegisterType(); qmlRegisterType(uri, 0, 1, "RunnerModel"); qmlRegisterInterface("QueryMatch"); qRegisterMetaType("QueryMatch"); qmlRegisterType(); qmlRegisterType(uri, 0, 1, "IconItem"); /*qmlRegisterInterface("DataSource"); qRegisterMetaType("DataSource");*/ } #include "corebindingsplugin.moc"