Enable build of QtExtras, make it build, install

ColumnProxyModel and QIconItem work, more pending.
This commit is contained in:
Sebastian Kügler 2013-02-14 02:07:37 +01:00
parent 9864f15c56
commit 1d666bfcb1
7 changed files with 28 additions and 29 deletions

View File

@ -1,7 +1,7 @@
add_subdirectory(core)
#add_subdirectory(draganddrop)
#add_subdirectory(krunnermodel)
#add_subdirectory(qtextracomponents)
add_subdirectory(qtextracomponents)
add_subdirectory(plasmacomponents)
#add_subdirectory(plasmaextracomponents)
#add_subdirectory(locale)

View File

@ -22,7 +22,6 @@
#include "corebindingsplugin.h"
//#include <QtDeclarative/qdeclarative.h>
#include <QQmlContext>
#include <QScriptEngine>

View File

@ -8,9 +8,9 @@ set(qtextracomponents_SRCS
qtextracomponentsplugin.cpp
# qpixmapitem.cpp
# qimageitem.cpp
# qiconitem.cpp
qiconitem.cpp
# mouseeventlistener.cpp
# columnproxymodel.cpp
columnproxymodel.cpp
)
INCLUDE_DIRECTORIES(
@ -31,12 +31,6 @@ target_link_libraries(qtextracomponentsplugin
${KDE4_KDEUI_LIBRARY}
${KDECLARATIVE_LIBRARIES}
plasma)
#${KDE4_KDEUI_LIBS} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${Qt5Quick_LIBRARIES} ${Qt5Qml_LIBRARIES})
# set(QML_INSTALL_DIR "/home/sebas/kf5/install/lib/qml")
# message("!!! Forcing Imports install location: ${QML_INSTALL_DIR}")
# message("!!! Remove once merged into cmake-extra-modules")
message("### QML_INSTALL_DIR ${QML_INSTALL_DIR}")
install(TARGETS qtextracomponentsplugin DESTINATION ${QML_INSTALL_DIR}/org/kde/qtextracomponents)

View File

@ -19,18 +19,19 @@
#include "qiconitem.h"
#include <KIcon>
#include <KIconLoader>
#include <KIconEffect>
#include <QIcon>
#include <QPainter>
QIconItem::QIconItem(QQuickItem *parent)
: QQuickItem(parent),
: QQuickPaintedItem(parent),
m_smooth(false),
m_state(DefaultState)
{
setFlag(QGraphicsItem::ItemHasNoContents, false);
setFlag(ItemHasContents, true);
}
@ -43,7 +44,7 @@ void QIconItem::setIcon(const QVariant &icon)
if(icon.canConvert<QIcon>()) {
m_icon = icon.value<QIcon>();
} else if(icon.canConvert<QString>()) {
m_icon = KIcon(icon.toString());
m_icon = QIcon::fromTheme(icon.toString());
} else {
m_icon = QIcon();
}
@ -95,11 +96,8 @@ bool QIconItem::smooth() const
return m_smooth;
}
void QIconItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
void QIconItem::paint(QPainter *painter)
{
Q_UNUSED(option);
Q_UNUSED(widget);
if (m_icon.isNull()) {
return;
}

View File

@ -19,11 +19,12 @@
#ifndef QICONITEM_H
#define QICONITEM_H
#include <QQuickItem>
#include <QIcon>
#include <QQuickPaintedItem>
#include <QPixmap>
#include <QVariant>
class QIconItem : public QQuickItem
class QIconItem : public QQuickPaintedItem
{
Q_OBJECT
@ -58,7 +59,7 @@ public:
void setSmooth(const bool smooth);
bool smooth() const;
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
void paint(QPainter *painter);
Q_SIGNALS:
void stateChanged(State state);

View File

@ -21,26 +21,32 @@
#include "qtextracomponentsplugin.h"
#include <QtDeclarative/qdeclarative.h>
#include <QQmlComponent>
#include <QDebug>
// #include "qpixmapitem.h"
// #include "qimageitem.h"
// #include "qiconitem.h"
#include "qiconitem.h"
//#include "mouseeventlistener.h"
#include "columnproxymodel.h"
// void QtExtraComponentsPlugin::initializeEngine(QQmlEngine *engine, const char *uri)
// {
// qDebug() << "=========> QtExtras engine : " << uri;
// }
void QtExtraComponentsPlugin::registerTypes(const char *uri)
{
Q_ASSERT(uri == QLatin1String("org.kde.qtextracomponents"));
qDebug() << "=========> import loading: " << uri;
// qmlRegisterType<QPixmapItem>(uri, 0, 1, "QPixmapItem");
// qmlRegisterType<QImageItem>(uri, 0, 1, "QImageItem");
// qmlRegisterType<QIconItem>(uri, 0, 1, "QIconItem");
qmlRegisterType<QIconItem>(uri, 0, 1, "QIconItem");
// qmlRegisterType<MouseEventListener>(uri, 0, 1, "MouseEventListener");
// qmlRegisterType<ColumnProxyModel>(uri, 0, 1, "ColumnProxyModel");
//
// qmlRegisterType<QAbstractItemModel>();
// qRegisterMetaType<QModelIndex>("QModelIndex");
qmlRegisterType<ColumnProxyModel>(uri, 0, 1, "ColumnProxyModel");
qmlRegisterType<QAbstractItemModel>();
qRegisterMetaType<QModelIndex>("QModelIndex");
}

View File

@ -31,6 +31,7 @@ class QtExtraComponentsPlugin : public QQmlExtensionPlugin
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
public:
//void initializeEngine(QQmlEngine *engine, const char *uri);
void registerTypes(const char *uri);
};