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(core)
#add_subdirectory(draganddrop) #add_subdirectory(draganddrop)
#add_subdirectory(krunnermodel) #add_subdirectory(krunnermodel)
#add_subdirectory(qtextracomponents) add_subdirectory(qtextracomponents)
add_subdirectory(plasmacomponents) add_subdirectory(plasmacomponents)
#add_subdirectory(plasmaextracomponents) #add_subdirectory(plasmaextracomponents)
#add_subdirectory(locale) #add_subdirectory(locale)

View File

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

View File

@ -8,9 +8,9 @@ set(qtextracomponents_SRCS
qtextracomponentsplugin.cpp qtextracomponentsplugin.cpp
# qpixmapitem.cpp # qpixmapitem.cpp
# qimageitem.cpp # qimageitem.cpp
# qiconitem.cpp qiconitem.cpp
# mouseeventlistener.cpp # mouseeventlistener.cpp
# columnproxymodel.cpp columnproxymodel.cpp
) )
INCLUDE_DIRECTORIES( INCLUDE_DIRECTORIES(
@ -31,12 +31,6 @@ target_link_libraries(qtextracomponentsplugin
${KDE4_KDEUI_LIBRARY} ${KDE4_KDEUI_LIBRARY}
${KDECLARATIVE_LIBRARIES} ${KDECLARATIVE_LIBRARIES}
plasma) 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) install(TARGETS qtextracomponentsplugin DESTINATION ${QML_INSTALL_DIR}/org/kde/qtextracomponents)

View File

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

View File

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

View File

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

View File

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