+++ /dev/null
-Package: situare
-Version: 1.0-1
-Section: user/other
-Priority: extra
-Architecture: armel
-Installed-Size: 40
-Maintainer: Jukka Saastamoinen <jukka.saastamoinen@ixonos.com>
-Description: This is the Situare client for Maemo
- This application is done with Qt, requires Qt4.6.2 libraries
-Maemo-Icon-26:
- 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
- fJ5/DP4/7f8A9z7iC7WTvksAAAAASUVORK5CYII
+++ /dev/null
-8c7083f125b902bd501890c05ca030ba usr/share/doc/situare/copyright
-287ad157edc49b37b8f3947f9c170c87 usr/share/doc/situare/README.Debian
+++ /dev/null
-situare for Debian
-------------------
-
-<possible notes regarding this package - if none, delete this file>
-
- -- unknown <jukka.saastamoinen@ixonos.com> Wed, 31 Mar 2010 10:36:08 +0300
+++ /dev/null
-This package was debianized by unknown <jukka.saastamoinen@ixonos.com> on
-Wed, 31 Mar 2010 10:36:08 +0300.
-
-It was downloaded from <fill in http/ftp site>
-
-Upstream Author: <put author(s) name and email here>
-
-Copyright: <put the year(s) of the copyright, and the names of the
- copyright holder(s) here>
-
-License:
-
- This package 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.
-
- This package 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 package; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-On Debian systems, the complete text of the GNU General
-Public License can be found in `/usr/share/common-licenses/GPL'.
-
-The Debian packaging is (C) 2010, unknown <jukka.saastamoinen@ixonos.com> and
-is licensed under the GPL, see above.
-
-
-# Please also look if there are files or directories which have a
-# different copyright/license attached and list them here.
#!/bin/bash
+if [$1 -eq ""]; then
+ echo "Usage of the script: ./master_test_script.sh destination_folder_for_test_reports tests_folder_location"
+else
##########################################################
# This script is executed from /scripts directory #
# in situare project folder #
#Environment settings #
##########################################################
#Store all directory names to a list
-MODULES=(`ls ../tests/`)
#Modify these paths to point to correct path
-location=$HOME/situare/repository/situare/tests/
-FILE=$HOME/situare/repository/situare/reports/tests_summary.txt
-if [ ! -e $FILE ]; then
- touch tests_summary.txt
+location=$2
+echo $location
+echo "Tests situate at: $location"
+
+TEST_REPORT=$1
+echo "Directory to store test report: $1"
+#cd $location
+if [ ! -e $1/tests_summary.txt ]; then
+ touch $1/tests_summary.txt
echo "##########################################" >> tests_summary.txt
echo "# Summary of unit tests executed #" >> tests_summary.txt
echo "# Date: `date` #" >> tests_summary.txt
echo "##########################################" >> tests_summary.txt
fi
+FILE=$1/tests_summary.txt
+cd $location
+MODULES=(`ls`)
+echo $MODULES
+
+for component in "${MODULES[@]}"
+do
+ echo "Found test directory: $component"
+done
+
##########################################################
#First part: Execution of all tests #
##########################################################
for component in "${MODULES[@]}" #Loop through components
do
cd $location/$component
- CASES=(`ls`) #List all test cases uner component directory
+ CASES=(`ls`) #List all test cases under component directory
for unittest in "${CASES[@]}"
do
cd $location/$component/$unittest
grep Totals *.txt >> $FILE
done
done
+fi
exit 0
--- /dev/null
+<RCC>
+ <qresource prefix="/">
+ <file>resources/facebook_user_64.png</file>
+ <file>resources/compas_small.png</file>
+ <file>resources/reload_icon.png</file>
+ <file>resources/sendPosition_icon.png</file>
+ <file>resources/list_small.png</file>
+ <file>resources/clock_small.png</file>
+ <file>resources/arrow_left.png</file>
+ <file>resources/arrow_right.png</file>
+ </qresource>
+</RCC>
map/mapview.cpp \
map/mapscene.cpp \
map/maptile.cpp \
- map/mapfetcher.cpp
+ map/mapfetcher.cpp\
+ ui/pixmap.cpp \
+ ui/infotab.cpp
HEADERS += ui/mainwindow.h \
ui/mapviewscreen.h \
ui/listviewscreen.h \
map/mapscene.h \
map/maptile.h \
map/mapfetcher.h \
- map/mapcommon.h
+ map/mapcommon.h \
+ ui/pixmap.h \
+ ui/infotab.h
QT += network \
webkit
--- /dev/null
+#include "infotab.h"
+
+InfoTab::InfoTab(QWidget *parent)
+ : QWidget(parent, Qt::FramelessWindowHint)
+{
+ layout = new QGridLayout(this);
+ userPicture = new QLabel;
+ userNameLabel = new QLabel;
+ messageLabel = new QLabel;
+ addressLabel = new QLabel;
+ timeLabel = new QLabel;
+ QLabel *clockLabel = new QLabel;
+ QLabel *envelopeLabel = new QLabel;
+ QLabel *compassLabel = new QLabel;
+ QToolButton *sendLocationButton = new QToolButton;
+ QToolButton *updateStatusMessageButton = new QToolButton;
+
+ sendLocationButton->setIcon(QIcon(QPixmap(":/resources/reload_icon.png")));
+ updateStatusMessageButton->setIcon(QIcon(QPixmap(":/resources/sendPosition_icon.png")));
+
+ clockLabel->setPixmap(QPixmap(":/resources/clock_small.png"));
+ envelopeLabel->setPixmap(QPixmap(":/resources/list_small.png"));
+ compassLabel->setPixmap(QPixmap(":/resources/compas_small.png"));
+ layout->addWidget(userPicture,0,0,4,1);
+ layout->addWidget(userNameLabel,0,2,1,2);
+ layout->addWidget(clockLabel,1,1,1,1);
+ layout->addWidget(envelopeLabel,2,1,1,1);
+ layout->addWidget(compassLabel,3,1,1,1);
+ layout->addWidget(timeLabel,1,2,1,1);
+ layout->addWidget(messageLabel,2,2,1,1);
+ layout->addWidget(addressLabel,3,2,1,1);
+ layout->addWidget(sendLocationButton,0,3,2,1);
+ layout->addWidget(updateStatusMessageButton,1,3,2,1);
+
+}
+
+InfoTab::~InfoTab()
+{
+ if (userPicture)
+ delete userPicture;
+ if (userNameLabel)
+ delete userNameLabel;
+ if (messageLabel)
+ delete messageLabel;
+ if (addressLabel)
+ delete addressLabel;
+ if (timeLabel)
+ delete timeLabel;
+ if (layout)
+ delete layout;
+ userPicture=NULL;
+ userNameLabel=NULL;
+ messageLabel=NULL;
+ addressLabel=NULL;
+ timeLabel=NULL;
+ layout=NULL;
+}
+
+void InfoTab::paintEvent(QPaintEvent *aPaintEvent)
+{
+ //Look and feel settings
+ QPalette qpalette;
+ QColor myColor(Qt::black);
+ myColor.setAlpha(50);
+ qpalette.setColor(QPalette::Background,myColor);
+ setPalette(qpalette);
+ int roundness(6);
+
+ QRect widgetRect = this->rect();
+ QPainter painter(this);
+ painter.save();
+
+ painter.setRenderHint(QPainter::Antialiasing);
+ QPainterPath roundedRect;
+ roundedRect.addRoundedRect(1,1,widgetRect.width() - 2, widgetRect.height()-2,roundness,roundness);
+
+ painter.setClipPath(roundedRect);
+ QRegion maskRegion = painter.clipRegion();
+
+ setMask(maskRegion);
+
+ painter.fillPath(roundedRect,QBrush(myColor));
+ painter.restore();
+}
+
+void InfoTab::setAvatar(const QPixmap &avat)
+{
+ avatar = avat;
+ userPicture->setPixmap(avat);
+}
+
+void InfoTab::setUserName(const QString &usernam)
+{
+ if(userName == usernam)
+ return;
+ userName = usernam;
+ userNameLabel->setText(userName);
+}
+
+void InfoTab::setMessageText(const QString &text)
+{
+ if(messageText == text)
+ return;
+ messageText = text;
+ messageLabel->setText(messageText);
+}
+
+void InfoTab::setAddress(const QString &addr)
+{
+ if(address == addr)
+ return;
+ address = addr;
+ addressLabel->setText(address);
+}
+
+void InfoTab::setTime(const QString &tim)
+{
+ if(time == tim)
+ return;
+ time = tim;
+ timeLabel->setText(time);
+}
--- /dev/null
+/*
+ Situare - A location system for Facebook
+ Copyright (C) 2010 Ixonos Plc. Authors:
+
+ Jukka Saastamoinen - jukka.saastamoinen@ixonos.com
+
+ Situare is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ version 2 as published by the Free Software Foundation.
+
+ Situare 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 Situare; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ USA.
+*/
+
+#ifndef INFOTAB_H
+#define INFOTAB_H
+
+#include <QtGui>
+#include <QWidget>
+
+/**
+* @brief Pixmap class.
+* Composite custom widget class used to show user information
+* @author Jukka Saastamoinen
+*/
+
+class InfoTab : public QWidget
+{
+ Q_OBJECT
+public:
+ /**
+ * @brief Constructor
+ *
+ * @param parent Parent
+ */
+ InfoTab(QWidget *parent=0);
+ /**
+ *
+ * @brief Destructor
+ */
+ ~InfoTab();
+public slots:
+ /**
+ * @brief Sets the user picture
+ *
+ * @param avat Reference to user picture
+ */
+ void setAvatar(const QPixmap & avat);
+ /**
+ * @brief Sets the user name
+ *
+ * @param usernam Reference to user name
+ */
+ void setUserName(const QString &usernam);
+ /**
+ * @brief Sets the message text
+ *
+ * @param text Reference to user message
+ */
+ void setMessageText(const QString &text);
+ /**
+ * @brief Sets the users current address
+ *
+ * @param addr Reference to users current address
+ */
+ void setAddress(const QString &addr);
+ /**
+ * @brief Sets the time of updated message
+ *
+ * @param tim Reference to time when message was sent.
+ */
+ void setTime(const QString &tim);
+protected:
+ /**
+ * @brief This function is called when the widget is drawn
+ *
+ * @param aPaintEvent Pointer to paint event
+ */
+ void paintEvent(QPaintEvent *aPaintEvent);
+private:
+ QLabel *userPicture;
+ QLabel *userNameLabel;
+ QLabel *messageLabel;
+ QLabel *addressLabel;
+ QLabel *timeLabel;
+ QGridLayout *layout;
+ QString messageText;
+ QString userName;
+ QString address;
+ QString time;
+ QPixmap avatar;
+};
+
+#endif // INFOTAB_H
Copyright (C) 2010 Ixonos Plc. Authors:
Kaj Wallin - kaj.wallin@ixonos.com
+ Jukka Saastamoinen jukka.saastamoinen@ixonos.com
Situare is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
USA.
*/
+#include <QGraphicsScene>
+#include <QGraphicsView>
+#include <QGraphicsWidget>
+#include <QtGui/QVBoxLayout>
+#include <QGraphicsProxyWidget>
+#include <QStateMachine>
#include "listviewscreen.h"
+#include "pixmap.h"
+#include "infotab.h"
+#include <QDebug>
ListViewScreen::ListViewScreen(QWidget *parent)
: QWidget(parent)
{
- QPushButton *listViewButton = new QPushButton(tr("This is listview"));
- QHBoxLayout *listViewLayout = new QHBoxLayout;
- listViewLayout->addWidget(listViewButton);
- setLayout(listViewLayout);
+ Pixmap *arrowbutton = new Pixmap(QPixmap(":/resources/arrow_right.png"));
+
+ InfoTab *personalInfo = new InfoTab;
+ personalInfo->setAvatar(QPixmap(":/resources/facebook_user_64.png"));
+ personalInfo->setUserName("Fred Facebook");
+ personalInfo->setMessageText("Hello Maemo Situare !");
+ personalInfo->setTime("1 hour ago");
+ personalInfo->setAddress("Kiviharjunlenkki 1E, 91910 Oulu");
+
+ QGraphicsProxyWidget *widgetProxy = new QGraphicsProxyWidget();
+ widgetProxy->setWidget(personalInfo);
+
+ QGraphicsScene *scene= new QGraphicsScene();
+ QGraphicsWidget *graphWidget = new QGraphicsWidget();
+ graphLayout = new QGraphicsLinearLayout(graphWidget);
+ graphLayout->setOrientation(Qt::Horizontal);
+ graphLayout->addItem(widgetProxy);
+ scene->setBackgroundBrush(Qt::white);
+ scene->addItem(graphWidget);
+ scene->addItem(arrowbutton);
+ qDebug() << "Scene width: " << scene->width();
+ qDebug() << "Scene heigth: " << scene->height();
+
+ QGraphicsView *view = new QGraphicsView(scene);
+ view->setAlignment(Qt::AlignLeft|Qt::AlignTop);
+ view->setSceneRect(0,0,7000,3000);
+ view->centerOn(QPointF(0,0));
+ view->setFrameStyle(0);
+ view->setAlignment(Qt::AlignLeft | Qt::AlignTop);
+ view->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+ view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+
+ QStateMachine *machine = new QStateMachine;
+ machine->setGlobalRestorePolicy(QStateMachine::RestoreProperties);
+
+ QState *state1 = new QState(machine);
+ QState *state2 = new QState(machine);
+ machine->setInitialState(state1);
+
+ // State 1
+ state1->assignProperty(graphWidget,"pos",QPointF(-(personalInfo->width()+20),0));
+ state1->assignProperty(arrowbutton,"pos",QPointF(0,(arrowbutton->boundingRect().height()/2)+10));
+
+ // State 2
+ state2->assignProperty(graphWidget,"pos",QPointF(-20,0));
+ state2->assignProperty(arrowbutton,"pos",QPointF((personalInfo->width()-5),(arrowbutton->boundingRect().height()/2)+10));
+
+ QAbstractTransition *trans1 = state1->addTransition(arrowbutton,SIGNAL(clicked()),state2);
+ trans1->addAnimation(new QPropertyAnimation(graphWidget,"pos"));
+ trans1->addAnimation(new QPropertyAnimation(arrowbutton,"pos"));
+
+ QAbstractTransition *trans2 = state2->addTransition(arrowbutton,SIGNAL(clicked()),state1);
+ trans2->addAnimation(new QPropertyAnimation(graphWidget,"pos"));
+ trans2->addAnimation(new QPropertyAnimation(arrowbutton,"pos"));
+
+ machine->start();
+
+ vbox = new QVBoxLayout(this);
+ vbox->addWidget(view);
+}
+
+ListViewScreen::~ListViewScreen()
+{
+ if (vbox)
+ delete vbox;
+ if (graphLayout)
+ delete graphLayout;
+ vbox=NULL;
+ graphLayout=NULL;
}
{
public:
ListViewScreen(QWidget *parent = 0);
+ ~ListViewScreen();
+private:
+ QVBoxLayout *vbox;
+ QGraphicsLinearLayout *graphLayout;
};
#endif // LISTVIEWTAB_H
: QMainWindow(parent)
{
qDebug() << __PRETTY_FUNCTION__;
- QWidget *widget = new QWidget;
- setCentralWidget(widget);
createViews();
- QVBoxLayout *mainLayout = new QVBoxLayout;
- infoLabel = new QLabel(tr("Click \"view\", to change between views"),this);
- infoLabel->setAttribute(Qt::WA_TranslucentBackground, true);
- mainLayout->addWidget(infoLabel);
- mainLayout->addWidget(situareViews);
- widget->setLayout(mainLayout);
+ setCentralWidget(situareViews);
createMenus();
-
setWindowTitle(tr("View"));
}
delete toListViewAct;
delete toMapViewAct;
delete situareViews;
- delete infoLabel;
}
void MainWindow::createMenus()
return;
}
situareViews->setCurrentIndex(nextIndex);
- infoLabel->setText(tr("Current: %1").arg(situareViews->currentIndex()));
switch (situareViews->currentIndex()) {
case 0:
setWindowTitle(tr("List"));
*/
void switchView(int);
- /**
- * @brief DUMMY LABEL, REMOVE WHEN BOTH VIEWS ARE COMPLETE
- *
- * @var infoLabel
- * @todo REMOVE THIS
- */
- QLabel *infoLabel;
-
-
public slots:
/**
* @brief Public slot, which initiates toListViewAct action to switch view
*/
#include "mapviewscreen.h"
+#include "infotab.h"
#include "../map/mapview.h"
#include "../map/mapengine.h"
+#include "infotab.h"
MapViewScreen::MapViewScreen(QWidget *parent)
: QWidget(parent)
--- /dev/null
+/*
+ Situare - A location system for Facebook
+ Copyright (C) 2010 Ixonos Plc. Authors:
+
+ Jukka Saastamoinen - jukka.saastamoinen@ixonos.com
+
+ Situare is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ version 2 as published by the Free Software Foundation.
+
+ Situare 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 Situare; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ USA.
+*/
+
+#include "pixmap.h"
+#include <QDebug>
+
+Pixmap::Pixmap(const QPixmap &picture, QGraphicsObject *parent)
+ : QGraphicsObject(parent), p(picture)
+{
+}
+
+void Pixmap::mousePressEvent(QGraphicsSceneMouseEvent *event)
+{
+ emit clicked();
+ qDebug() << __PRETTY_FUNCTION__;
+}
+
+void Pixmap::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *)
+{
+ painter->drawPixmap(QPointF(), p);
+}
+
+QRectF Pixmap::boundingRect() const
+{
+ return QRectF( QPointF(0, 0), p.size());
+}
--- /dev/null
+/*
+ Situare - A location system for Facebook
+ Copyright (C) 2010 Ixonos Plc. Authors:
+
+ Jukka Saastamoinen - jukka.saastamoinen@ixonos.com
+
+ Situare is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ version 2 as published by the Free Software Foundation.
+
+ Situare 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 Situare; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ USA.
+*/
+
+#ifndef PIXMAP_H
+#define PIXMAP_H
+
+#include <QtCore>
+#include <QtGui>
+
+/**
+* @brief Pixmap class.
+*
+* General purpose class used to display graphical objects
+* that can be animated.
+* @author Jukka Saastamoinen
+*/
+
+class Pixmap : public QGraphicsObject
+{
+ Q_OBJECT
+public:
+ /**
+ * @brief Constructor
+ *
+ * @param Reference to the picture displayed
+ * @param parent Parent
+ */
+ Pixmap(const QPixmap &, QGraphicsObject *parent = 0);
+ /**
+ * @brief Mouse press event
+ *
+ * @param event Mouse event
+ */
+ void mousePressEvent(QGraphicsSceneMouseEvent *event);
+ /**
+ * @brief Bounding box of the drawed pixmap
+ *
+ * @return Rectangle shaped bounding box of the pixmap
+ */
+ QRectF boundingRect() const;
+protected:
+ /**
+ * @brief Drawer of the given picture
+ *
+ * @param painter Pointer to painting class
+ * @param Pointer to class describing parameters needed to draw the item
+ * @param Pointer to the widget
+ */
+ void paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *);
+signals:
+ /**
+ * @brief Signal which is emitted when the pixmap
+ * bounding box area is clicked.
+ */
+ void clicked();
+private:
+ QPixmap p;
+};
+
+#endif // PIXMAP_H
--- /dev/null
+/*
+ Situare - A location system for Facebook
+ Copyright (C) 2010 Ixonos Plc. Authors:
+
+ Jukka Saastamoinen - jukka.saastamoinen@ixonos.com
+
+ Situare is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ version 2 as published by the Free Software Foundation.
+
+ Situare 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 Situare; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ USA.
+*/
+
+#include <QtTest>
+#include <QtGui>
+#include "ui/pixmap.h"
+
+
+class TestPixmap: public QObject
+{
+ Q_OBJECT
+private slots:
+ void constructorTest();
+ void boundingRegionTest();
+};
+
+/**
+* @brief Tests that the class accepts the png file used to draw the image
+*/
+void TestPixmap::constructorTest()
+{
+ Pixmap *infoTab = new Pixmap(QPixmap("dummy_personal_infotab_background.png"));
+ delete infoTab;
+ infoTab=NULL;
+ QVERIFY(!infoTab);
+}
+
+/**
+* @brief Tests that the bounding area reserved for the picture is the same as
+* the picture size.
+*/
+
+void TestPixmap::boundingRegionTest()
+{
+ Pixmap testPic(QPixmap("dummy_personal_infotab_background.png")); //350x300 pix
+ QPixmap refPic("dummy_personal_infotab_background.png");
+ QRectF boundArea = testPic.boundingRect();
+ QRectF refArea;
+ refArea.setSize(refPic.size());
+ QVERIFY(boundArea.size()==refArea.size());
+}
+
+
+QTEST_MAIN(TestPixmap)
+#include "testpixmap.moc"
+
+
--- /dev/null
+CONFIG += qtestlib
+TEMPLATE = app
+TARGET = pixmap
+DEPENDPATH += .
+INCLUDEPATH += . \
+ ../../../src/
+
+SOURCES += testpixmap.cpp \
+ ../../../src/ui/pixmap.cpp
+HEADERS += ../../../src/ui/pixmap.h