Git commit 7909552277d199e94c265c70ac9f534190515def by Shantanu Tushar. Committed on 14/06/2012 at 21:12. Pushed by shantanu into branch 'creator-qmlintro-shreya'. Code cleanup, use QObject and introduce properties. Transitions doesnt let the state PropertyChanges apply immediately, disable for now. M +1 -1 creator/CMakeLists.txt M +0 -76 creator/introduction.h R +39 -43 creator/introslideshow.cpp [from: creator/introduction.cpp -= 074% similarity] C +23 -20 creator/introslideshow.h [from: creator/introduction.h - 067= % similarity] M +2 -1 creator/mainwindow.h M +10 -10 creator/ui/introduction.qml http://commits.kde.org/gluon/7909552277d199e94c265c70ac9f534190515def diff --git a/creator/CMakeLists.txt b/creator/CMakeLists.txt index 5fdf7e4..41d63bc 100644 --- a/creator/CMakeLists.txt +++ b/creator/CMakeLists.txt @@ -35,7 +35,7 @@ add_subdirectory(nodeeditor) set(gluoncreator_SRCS main.cpp mainwindow.cpp - introduction.cpp + introslideshow.cpp = dialogs/configdialog.cpp dialogs/newprojectdialogpage.cpp diff --git a/creator/introduction.h b/creator/introduction.h index 59ccccd..e69de29 100644 --- a/creator/introduction.h +++ b/creator/introduction.h @@ -1,76 +0,0 @@ -/*************************************************************************= ***** - * This file is part of the Gluon Development Platform - * Copyright (c) 2012 Shreya Pandit - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-13= 01 USA - */ - -#ifndef INTRODUCTION_H -#define INTRODUCTION_H - -#include "mainwindow.h" -#include -#include -#include - -class QDeclarativeItem; -class QString; - - -class IntroSlideShow: public QDeclarativeItem -{ - Q_OBJECT - Q_PROPERTY(QString dockername READ dockername WRITE setdockername = NOTIFY dockernameChanged) - Q_PROPERTY(int width READ width WRITE setWidth ) - Q_PROPERTY(int height READ height WRITE setHeight ) - Q_PROPERTY(int xpos READ xpos WRITE setXpos ) - Q_PROPERTY(int ypos READ ypos WRITE setYpos ) - - public: - IntroSlideShow(); - ~IntroSlideShow(); - QString dockername(); - qreal width() const; - qreal height() const; - Q_INVOKABLE qreal getdockX(); - Q_INVOKABLE qreal getdockWidth(); - Q_INVOKABLE qreal getrefWidth(); - int xpos() const; - int ypos() const; - void setWidth(qreal width); - void setHeight(qreal height); - void setXpos(qreal xpos); - void setYpos(qreal ypos); - void setdockername(QString name); - void updateDocker(); - int count; - QString docker; - qreal refWidth; - qreal dockX; - qreal dockWidth; - - signals: - - void dockernameChanged(); - void widthChanged(); - void heightChanged(); - void xposChanged(); - void yposChanged(); - void alignmentChanged(); - - -}; - -#endif // IntroSlideShow_H diff --git a/creator/introduction.cpp b/creator/introslideshow.cpp similarity index 74% rename from creator/introduction.cpp rename to creator/introslideshow.cpp index fb8a1c3..ff1b6f8 100644 --- a/creator/introduction.cpp +++ b/creator/introslideshow.cpp @@ -17,7 +17,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-13= 01 USA */ = -#include "introduction.h" +#include "introslideshow.h" #include #include #include @@ -36,40 +36,34 @@ IntroSlideShow::~IntroSlideShow() delete this; } = -void IntroSlideShow::setWidth(qreal width) +int IntroSlideShow::height() const { - setImplicitWidth(width); - emit widthChanged(); + return m_height; } = - -void IntroSlideShow::setHeight(qreal height) +int IntroSlideShow::width() const { - setImplicitHeight(height); - emit heightChanged(); + return m_width; } = -void IntroSlideShow::setXpos(qreal xpos) +void IntroSlideShow::setWidth(qreal width) { - setX(xpos); - emit xposChanged(); + m_width =3D width; + emit widthChanged(); } = -void IntroSlideShow::setYpos(qreal ypos) +void IntroSlideShow::setHeight(qreal height) { - setY(ypos); - emit yposChanged(); + m_height =3D height; + emit heightChanged(); } - -void IntroSlideShow::setdockername(QString name) +void IntroSlideShow::setDockername(QString name) { = docker=3Dname; -// if(QString::compare(docker,"", Qt::CaseInsensitive)) { +// if(QString::compare(docker,"", Qt::CaseInsensitive)) { updateDocker(); - - -emit dockernameChanged(); + emit dockernameChanged(); } = qreal IntroSlideShow::getdockX() @@ -82,7 +76,7 @@ qreal IntroSlideShow::getdockWidth() return dockWidth; } = -QString IntroSlideShow::dockername() +QString IntroSlideShow::dockername() const { return docker; } @@ -92,26 +86,6 @@ qreal IntroSlideShow::getrefWidth() return refWidth; } = -qreal IntroSlideShow::width() const -{ - return implicitWidth(); -} - -qreal IntroSlideShow::height() const -{ - return implicitHeight(); -} - -int IntroSlideShow::ypos() const -{ - return y(); -} - -int IntroSlideShow::xpos() const -{ - return x(); -} - void IntroSlideShow::updateDocker() { count++; @@ -119,15 +93,37 @@ void IntroSlideShow::updateDocker() = qDebug()<<"in update docker for" << count <<"th time"; QRect rectangle; + rectangle=3D kapp->activeWindow()->findChild(docker)->frameG= eometry(); setWidth(rectangle.width()); refWidth=3Dkapp->activeWindow()->width()/2 ; dockX=3D rectangle.x(); dockWidth=3D rectangle.width(); setHeight(rectangle.height()); - setXpos(rectangle.x()); - setYpos(rectangle.y()); + setX(rectangle.x()); + setY(rectangle.y()); qDebug()<activeWindow()->width()/2 ; } = +void IntroSlideShow::setX (int x) +{ + m_x =3D x; + emit xChanged(); +} + +void IntroSlideShow::setY (int y) +{ + m_y =3D y; + emit yChanged(); +} + +int IntroSlideShow::x() const +{ + return m_x; +} + +int IntroSlideShow::y() const +{ + return m_y; +} diff --git a/creator/introduction.h b/creator/introslideshow.h similarity index 67% copy from creator/introduction.h copy to creator/introslideshow.h index 59ccccd..4c763c8 100644 --- a/creator/introduction.h +++ b/creator/introslideshow.h @@ -28,49 +28,52 @@ class QDeclarativeItem; class QString; = - -class IntroSlideShow: public QDeclarativeItem +class IntroSlideShow: public QObject { Q_OBJECT - Q_PROPERTY(QString dockername READ dockername WRITE setdockername = NOTIFY dockernameChanged) - Q_PROPERTY(int width READ width WRITE setWidth ) - Q_PROPERTY(int height READ height WRITE setHeight ) - Q_PROPERTY(int xpos READ xpos WRITE setXpos ) - Q_PROPERTY(int ypos READ ypos WRITE setYpos ) + Q_PROPERTY(QString dockername READ dockername WRITE setDockername = NOTIFY dockernameChanged) + Q_PROPERTY(int width READ width WRITE setWidth NOTIFY widthChanged= ) + Q_PROPERTY(int height READ height WRITE setHeight NOTIFY heightCha= nged) + Q_PROPERTY(int x READ x WRITE setX NOTIFY xChanged) + Q_PROPERTY(int y READ y WRITE setY NOTIFY yChanged) = public: IntroSlideShow(); ~IntroSlideShow(); - QString dockername(); - qreal width() const; - qreal height() const; + QString dockername() const; + int width() const; + int height() const; + //TODO: change to properties instead of INVOKABLEs Q_INVOKABLE qreal getdockX(); Q_INVOKABLE qreal getdockWidth(); Q_INVOKABLE qreal getrefWidth(); - int xpos() const; - int ypos() const; void setWidth(qreal width); void setHeight(qreal height); - void setXpos(qreal xpos); - void setYpos(qreal ypos); - void setdockername(QString name); + void setDockername(QString name); void updateDocker(); + int x() const; + void setX(int x); + void setY(int y); + int y() const; + + private: int count; QString docker; qreal refWidth; qreal dockX; qreal dockWidth; + int m_width; + int m_height; + int m_x; + int m_y; = signals: - void dockernameChanged(); void widthChanged(); void heightChanged(); - void xposChanged(); - void yposChanged(); void alignmentChanged(); - - + void xChanged(); + void yChanged(); }; = #endif // IntroSlideShow_H diff --git a/creator/mainwindow.h b/creator/mainwindow.h index 923cdc9..e109551 100644 --- a/creator/mainwindow.h +++ b/creator/mainwindow.h @@ -21,11 +21,12 @@ #ifndef GLUONCREATOR_MAINWINDOW_H #define GLUONCREATOR_MAINWINDOW_H = +#include "introslideshow.h" + #include #include #include #include -#include = class KStandardDirs; class QDeclarativeView; diff --git a/creator/ui/introduction.qml b/creator/ui/introduction.qml index 2b71416..55bc559 100644 --- a/creator/ui/introduction.qml +++ b/creator/ui/introduction.qml @@ -79,8 +79,8 @@ Item { } = id: viewport; - width: animator.implicitWidth; - height: animator.implicitHeight; + width: animator.width; + height: animator.height; x: animator.x; y: animator.y; = @@ -255,14 +255,14 @@ Item { } ] = - transitions: [ - - Transition { - from: "*"; to: "*" - NumberAnimation { properties: "x,y,width,height"; duration= : 500 } - ScriptAction { scriptName: "myScript" } - } - ] +// transitions: [ +// = +// Transition { +// from: "*"; to: "*" +// NumberAnimation { properties: "x,y,width,height"; durat= ion: 500 } +// ScriptAction { scriptName: "myScript" } +// } +// ] = = }