Commit 0594cfe0 authored by Ilia Ryabokon's avatar Ilia Ryabokon

UBBoardView conflicts merged

parents 625c239e d3ca55c9
Copyright (C) 2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
Copyright (C) 2013 Groupement d'Intert Public pour l'Education NumŽrique en Afrique (GIP ENA)
Open-Sankoré is free software: you can redistribute it and/or modify
Open-SankorŽ 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, version 3 of the License,
with a specific linking exception for the OpenSSL project's
......
......@@ -26,9 +26,9 @@
<key>International</key>
<dict>
<key>Mode</key>
<integer>0</integer>
<integer>1</integer>
<key>Path</key>
<string></string>
<string>LICENSE.txt</string>
<key>Path Type</key>
<integer>2</integer>
</dict>
......
......@@ -10,8 +10,8 @@ CONFIG += debug_and_release \
VERSION_MAJ = 2
VERSION_MIN = 00
VERSION_TYPE = r # a = alpha, b = beta, r = release, other => error
VERSION_PATCH = 05
VERSION_TYPE = b # a = alpha, b = beta, r = release, other => error
VERSION_PATCH = 06
VERSION = "$${VERSION_MAJ}.$${VERSION_MIN}.$${VERSION_TYPE}.$${VERSION_PATCH}"
VERSION = $$replace(VERSION, "\\.r", "")
......
......@@ -19,6 +19,15 @@
# functions
#**********************
checkUser()
{
if [ `id -u` -ne 0 ]; then
echo "Please run the script as root, may be using fakeroot command as follow"
echo "fakeroot ./buildDebianPackage.sh [options]"
exit 1
fi
}
initializeVariables()
{
MAKE_TAG=true
......@@ -120,6 +129,7 @@ buildWithStandardQt(){
#**********************
# script
#**********************
checkUser
initializeVariables
buildWithStandardQt
......@@ -375,12 +385,13 @@ chmod 755 "$BASE_WORKING_DIR/DEBIAN/postint"
mkdir -p "install/linux"
DEBIAN_PACKAGE_NAME="Open-Sankore_${VERSION}_$ARCHITECTURE.deb"
fakeroot chown -R root:root $BASE_WORKING_DIR
chown -R root:root $BASE_WORKING_DIR
dpkg -b "$BASE_WORKING_DIR" "install/linux/$DEBIAN_PACKAGE_NAME"
notifyProgress "Open-Sankore" "Package built"
#clean up mess
fakeroot rm -rf $BASE_WORKING_DIR
rm -rf $BASE_WORKING_DIR
notifyProgress "Open-Sankore" "Package built"
if [ $CREATE_DIENA_DISTRIBUTION_ZIP == true ]; then
......@@ -392,3 +403,4 @@ if [ $CREATE_DIENA_DISTRIBUTION_ZIP == true ]; then
notifyProgress "Open-Sankore" "Build Diena zip file for distribution"
fi
exit 0
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......@@ -100,7 +100,7 @@ private:
bool parseUBZPolygon(const QDomElement &element, QMultiMap<int, QDomElement> &dstSvgList);
bool parseUBZPolyline(const QDomElement &element, QMultiMap<int, QDomElement> &dstSvgList);
bool parseUBZLine(const QDomElement &element, QMultiMap<int, QDomElement> &dstSvgList);
bool parseUBZLine(const QDomElement &element, QMultiMap<int, QDomElement> &dstSvgList);
void addSVGElementToResultModel(const QDomElement &element, QMultiMap<int, QDomElement> &dstList, int layer = DEFAULT_LAYER);
void addIWBElementToResultModel(const QDomElement &element);
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Sankoré editor</title>
<style type="text/css">
<!--
.white { color: #FFF;
}
body {
background-color: #E5E3DB;
}
body,td,th {
font-family: Verdana, Geneva, sans-serif;
color: #666;
text-align: left;
}
.conteneur {
background-color: #5C5C5C;
text-align: center;
}
.c {
text-align: center;
}
.m {
font-size: medium;
}
a:link {
color: #666;
}
a:visited {
color: #666;
}
a:hover {
color: #000;
}
a:active {
color: #666;
}
-->
</style>
</head>
<body>
<table width="843" border="0" align="center">
<tr>
<td class="conteneur"><p><img src="files/logo.png" width="196" height="22" alt="editeur" /></p>
<p><span class="white">Instructions on how to use Sankoré editor </span></p>
<p><span class="white">THE CURRENT VERSION IS ONLY AVAILABLE IN FRENCH</span></p></td>
</tr>
<tr>
<td><div align="center"><img src="files/outils.png" width="128" height="128" alt="outils" /> <img src="files/mappe.png" width="128" height="128" alt="mappe" /> <img src="files/calepin.png" width="128" height="128" alt="calepin" /></div></td>
</tr>
<tr>
<td><p>Sankoré Editor allows you to create rich interactivity scenarios. Create interactive content easily with basic activities that can be used in various subjects (attach images, sounds, order of words, phrases, create categories ...). This content can then be added to the software Open-Sankore. </p></td>
</tr>
<tr>
<td><p>Requirement to work with the editor :</p>
<ul>
<li>a Web access</li>
<li>an account on Planète Sankoré</li>
</ul></td>
</tr>
<tr>
<td><div align="center">
<p>&nbsp;</p>
<p><a href="http://editeur.sankore.org" title="Editeur" target="_self" class="c">Click here to connect to the Sankoré Editor</a></p>
</div></td>
</tr>
<tr>
<td><p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p></td>
</tr>
<tr>
<td>Sankoré editor is hosted on <a href="http://planete.sankore.org/" target="_self">planete.sankore.org</a></td>
</tr>
</table>
<p>&nbsp;</p>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Editeur Sankoré</title>
<style type="text/css">
<!--
.white { color: #FFF;
}
body {
background-color: #E5E3DB;
}
body,td,th {
font-family: Verdana, Geneva, sans-serif;
color: #666;
text-align: left;
}
.conteneur {
background-color: #5C5C5C;
text-align: center;
}
.c {
text-align: center;
}
.m {
font-size: medium;
}
a:link {
color: #666;
}
a:visited {
color: #666;
}
a:hover {
color: #000;
}
a:active {
color: #666;
}
-->
</style>
</head>
<body>
<table width="843" border="0" align="center">
<tr>
<td class="conteneur"><p><img src="files/logo.png" width="196" height="22" alt="editeur" /></p>
<p><span class="white">Instructions pour l'utilisation de l'éditeur Sankoré</span></p></td>
</tr>
<tr>
<td><div align="center"><img src="files/outils.png" width="128" height="128" alt="outils" /> <img src="files/mappe.png" width="128" height="128" alt="mappe" /> <img src="files/calepin.png" width="128" height="128" alt="calepin" /></div></td>
</tr>
<tr>
<td>L'éditeur Sankoré vous permet de réaliser des scénarios d'interactivités riches. Il facilite la création de contenu interactif avec des activités de base qui peuvent être utilisées dans diverses disciplines (associer des images, des sons, ordonner des mots, des phrases, créer des catégories...). Ce contenu peut ensuite être ajouté à votre cours sur le logiciel Open-Sankoré. L'éditeur repose sur votre compte utilisateur Planète Sankoré.</td>
</tr>
<tr>
<td><p>Éléments requis pour travailler avec l'éditeur :</p>
<ul>
<li>un accès Web</li>
<li>un compte Planète Sankoré</li>
</ul></td>
</tr>
<tr>
<td><div align="center">
<p>&nbsp;</p>
<p><a href="http://editeur.sankore.org" title="Editeur" target="_self" class="c">Accès à l'éditeur Sankoré</a></p>
</div></td>
</tr>
<tr>
<td><p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p></td>
</tr>
<tr>
<td>L'éditeur Sankoré est hébergé sur <a href="http://planete.sankore.org/" target="_self">planete.sankore.org</a></td>
</tr>
</table>
<p>&nbsp;</p>
</body>
</html>
......@@ -1596,18 +1596,6 @@
<string>Check Update</string>
</property>
</action>
<action name="actionSankoreEditor">
<property name="icon">
<iconset resource="../sankore.qrc">
<normaloff>:/images/toolbar/paraschool.png</normaloff>:/images/toolbar/paraschool.png</iconset>
</property>
<property name="text">
<string>Open-Sankoré Editor</string>
</property>
<property name="toolTip">
<string>Show Open-Sankoré Widgets Editor</string>
</property>
</action>
<action name="actionHideApplication">
<property name="icon">
<iconset resource="../sankore.qrc">
......
......@@ -295,7 +295,6 @@
<file>images/toolbar/updates.png</file>
<file>images/paletteLibrary.png</file>
<file>images/paletteNavigator.png</file>
<file>images/toolbar/paraschool.png</file>
<file>images/toolbar/display.png</file>
<file>images/toolbar/hide.png</file>
<file>images/toolbar/record.png</file>
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
This diff is collapsed.
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......@@ -158,9 +158,6 @@ class UBSvgSubsetAdaptor
void graphicsItemFromSvg(QGraphicsItem* gItem);
qreal getZValueFromSvg();
QUuid getUuidFromSvg();
QXmlStreamReader mXmlReader;
int mFileVersion;
UBDocumentProxy *mProxy;
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......@@ -358,9 +358,7 @@ void UBBoardController::setupToolbar()
void UBBoardController::setToolCursor(int tool)
{
if (mActiveScene)
{
mActiveScene->setToolCursor(tool);
}
mControlView->setToolCursor(tool);
}
......@@ -1893,10 +1891,7 @@ void UBBoardController::updateSystemScaleFactor()
}
if (mSystemScaleFactor != newScaleFactor)
{
mSystemScaleFactor = newScaleFactor;
emit systemScaleFactorChanged(newScaleFactor);
}
UBGraphicsScene::SceneViewState viewState = mActiveScene->viewState();
......@@ -1961,13 +1956,8 @@ void UBBoardController::setPageSize(QSize newSize)
void UBBoardController::notifyCache(bool visible)
{
if(visible)
{
emit cacheEnabled();
}
else
{
emit cacheDisabled();
}
mCacheWidgetIsEnabled = visible;
}
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......@@ -149,7 +149,7 @@ class UBBoardController : public UBDocumentContainer
void setBoxing(QRect displayRect);
void setToolbarTexts();
static QUrl expandWidgetToTempDir(const QByteArray& pZipedData, const QString& pExtension = QString("wgt"));
// static QRect freeRectInGlobalPos() const {return ;}
void setPageSize(QSize newSize);
UBBoardPaletteManager *paletteManager()
{
......@@ -239,12 +239,10 @@ class UBBoardController : public UBDocumentContainer
void newPageAdded();
void activeSceneChanged();
void zoomChanged(qreal pZoomFactor);
void systemScaleFactorChanged(qreal pSystemScaleFactor);
void penColorChanged();
void controlViewportChanged();
void backgroundChanged();
void cacheEnabled();
void cacheDisabled();
void documentReorganized(int index);
void displayMetadata(QMap<QString, QString> metadata);
void pageSelectionChanged(int index);
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......@@ -175,7 +175,7 @@ void UBBoardPaletteManager::setupDockPaletteWidgets()
void UBBoardPaletteManager::slot_changeMainMode(UBApplicationController::MainMode mainMode)
{
// Board = 0, Internet, Document, Tutorial, ParaschoolEditor, WebDocument
// Board = 0, Internet, Document, Tutorial, WebDocument
switch( mainMode )
{
......@@ -821,8 +821,6 @@ void UBBoardPaletteManager::changeMode(eUBDockPaletteWidgetMode newMode, bool is
if( !isInit )
UBApplication::boardController->notifyPageChanged();
emit signal_changeMode(newMode);
}
void UBBoardPaletteManager::addItem(const QPixmap& pPixmap, const QPointF& pos, qreal scaleFactor, const QUrl& sourceUrl)
......@@ -970,11 +968,6 @@ void UBBoardPaletteManager::changeStylusPaletteOrientation(QVariant var)
}
void UBBoardPaletteManager::connectToDocumentController()
{
emit connectToDocController();
}
void UBBoardPaletteManager::refreshPalettes()
{
mRightPalette->update();
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......@@ -64,7 +64,6 @@ class UBBoardPaletteManager : public QObject
UBActionPalette *addItemPalette() {return mAddItemPalette;}
void showVirtualKeyboard(bool show = true);
void initPalettesPosAtStartup();
void connectToDocumentController();
void refreshPalettes();
UBKeyboardPalette *mKeyboardPalette;
......@@ -79,10 +78,6 @@ class UBBoardPaletteManager : public QObject
void startDownloads();
void stopDownloads();
signals:
void connectToDocController();
void signal_changeMode(eUBDockPaletteWidgetMode newMode);
public slots:
void activeSceneChanged();
......
This diff is collapsed.
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......@@ -38,150 +38,145 @@ class UBBoardView : public QGraphicsView
{
Q_OBJECT
public:
public:
UBBoardView(UBBoardController* pController, QWidget* pParent = 0, bool isControl = false, bool isDesktop = false);
UBBoardView(UBBoardController* pController, int pStartLayer, int pEndLayer, QWidget* pParent = 0, bool isControl = false, bool isDesktop = false);
virtual ~UBBoardView();
UBBoardView(UBBoardController* pController, QWidget* pParent = 0, bool isControl = false, bool isDesktop = false);
UBBoardView(UBBoardController* pController, int pStartLayer, int pEndLayer, QWidget* pParent = 0, bool isControl = false, bool isDesktop = false);
virtual ~UBBoardView();
UBGraphicsScene* scene();
UBGraphicsScene* scene();
void forcedTabletRelease();
void forcedTabletRelease();
void setToolCursor(int tool);
void setToolCursor(int tool);
void rubberItems();
void moveRubberedItems(QPointF movingVector);
void rubberItems();
void moveRubberedItems(QPointF movingVector);
void setMultiselection(bool enable);
bool isMultipleSelectionEnabled() { return mMultipleSelectionIsEnabled; }
// work around for handling tablet events on MAC OS with Qt 4.8.0 and above
void setMultiselection(bool enable);
bool isMultipleSelectionEnabled() { return mMultipleSelectionIsEnabled; }
// work around for handling tablet events on MAC OS with Qt 4.8.0 and above
#if defined(Q_WS_MACX)
bool directTabletEvent(QEvent *event);
QWidget *widgetForTabletEvent(QWidget *w, const QPoint &pos);
bool directTabletEvent(QEvent *event);
QWidget *widgetForTabletEvent(QWidget *w, const QPoint &pos);
#endif
signals:
signals:
void resized(QResizeEvent* event);
void shown();
void clickOnBoard();
void mouseReleased();
void resized(QResizeEvent* event);
void hidden();
void shown();
void clickOnBoard();
void mouseReleased();
protected:
protected:
bool itemIsLocked(QGraphicsItem *item);
bool isUBItem(QGraphicsItem *item); // we should to determine items who is not UB and use general scene behavior for them.
bool isCppTool(QGraphicsItem *item);
void handleItemsSelection(QGraphicsItem *item);
bool itemShouldReceiveMousePressEvent(QGraphicsItem *item);
bool itemShouldReceiveSuspendedMousePressEvent(QGraphicsItem *item);
bool itemHaveParentWithType(QGraphicsItem *item, int type);
bool itemShouldBeMoved(QGraphicsItem *item);
QGraphicsItem* determineItemToPress(QGraphicsItem *item);
QGraphicsItem* determineItemToMove(QGraphicsItem *item);
void handleItemMousePress(QMouseEvent *event);
void handleItemMouseMove(QMouseEvent *event);
bool itemIsLocked(QGraphicsItem *item);
bool isUBItem(QGraphicsItem *item); // we should to determine items who is not UB and use general scene behavior for them.
bool isCppTool(QGraphicsItem *item);
void handleItemsSelection(QGraphicsItem *item);
bool itemShouldReceiveMousePressEvent(QGraphicsItem *item);
bool itemShouldReceiveSuspendedMousePressEvent(QGraphicsItem *item);
bool itemHaveParentWithType(QGraphicsItem *item, int type);
bool itemShouldBeMoved(QGraphicsItem *item);
QGraphicsItem* determineItemToPress(QGraphicsItem *item);
QGraphicsItem* determineItemToMove(QGraphicsItem *item);
void handleItemMousePress(QMouseEvent *event);
void handleItemMouseMove(QMouseEvent *event);
virtual bool event (QEvent * e);
virtual bool event (QEvent * e);
virtual void keyPressEvent(QKeyEvent *event);
virtual void keyReleaseEvent(QKeyEvent *event);
virtual void tabletEvent(QTabletEvent * event);
virtual void mouseDoubleClickEvent(QMouseEvent *event);
virtual void mousePressEvent(QMouseEvent *event);
virtual void mouseMoveEvent(QMouseEvent *event);
virtual void mouseReleaseEvent(QMouseEvent *event);
virtual void wheelEvent(QWheelEvent *event);
virtual void leaveEvent ( QEvent * event);
virtual void keyPressEvent(QKeyEvent *event);
virtual void keyReleaseEvent(QKeyEvent *event);
virtual void tabletEvent(QTabletEvent * event);
virtual void mouseDoubleClickEvent(QMouseEvent *event);
virtual void mousePressEvent(QMouseEvent *event);
virtual void mouseMoveEvent(QMouseEvent *event);
virtual void mouseReleaseEvent(QMouseEvent *event);
virtual void wheelEvent(QWheelEvent *event);
virtual void leaveEvent ( QEvent * event);
virtual void focusOutEvent ( QFocusEvent * event );
virtual void focusOutEvent ( QFocusEvent * event );
virtual void drawItems(QPainter *painter, int numItems,
QGraphicsItem *items[],
const QStyleOptionGraphicsItem options[]);
virtual void drawItems(QPainter *painter, int numItems,
QGraphicsItem *items[],
const QStyleOptionGraphicsItem options[]);
// virtual void dragEnterEvent(QDragEnterEvent * event);
virtual void dropEvent(QDropEvent *event);
virtual void dragMoveEvent(QDragMoveEvent *event);
virtual void dropEvent(QDropEvent *event);
virtual void dragMoveEvent(QDragMoveEvent *event);
virtual void resizeEvent(QResizeEvent * event);
virtual void resizeEvent(QResizeEvent * event);
virtual void drawBackground(QPainter *painter, const QRectF &rect);
virtual void drawBackground(QPainter *painter, const QRectF &rect);
virtual void showEvent(QShowEvent * event);
virtual void hideEvent(QHideEvent * event);
private:
private:
void init();
void init();
inline bool shouldDisplayItem(QGraphicsItem *item)
{
bool ok;
int itemLayerType = item->data(UBGraphicsItemData::ItemLayerType).toInt(&ok);
return (ok && (itemLayerType >= mStartLayer && itemLayerType <= mEndLayer));
}
inline bool shouldDisplayItem(QGraphicsItem *item)
{
bool ok;
int itemLayerType = item->data(UBGraphicsItemData::ItemLayerType).toInt(&ok);
return (ok && (itemLayerType >= mStartLayer && itemLayerType <= mEndLayer));
}
QList<QUrl> processMimeData(const QMimeData* pMimeData);
QList<QUrl> processMimeData(const QMimeData* pMimeData);
UBBoardController* mController;
UBBoardController* mController;
int mStartLayer, mEndLayer;
bool mFilterZIndex;
int mStartLayer, mEndLayer;
bool mFilterZIndex;
bool mTabletStylusIsPressed;
bool mUsingTabletEraser;
bool mTabletStylusIsPressed;
bool mUsingTabletEraser;
bool mPendingStylusReleaseEvent;
bool mPendingStylusReleaseEvent;
bool mMouseButtonIsPressed;
QPointF mPreviousPoint;
QPoint mMouseDownPos;
bool mMouseButtonIsPressed;
QPointF mPreviousPoint;
QPoint mMouseDownPos;
bool mPenPressureSensitive;
bool mMarkerPressureSensitive;
bool mUseHighResTabletEvent;
bool mPenPressureSensitive;
bool mMarkerPressureSensitive;
bool mUseHighResTabletEvent;
QRubberBand *mRubberBand;
bool mIsCreatingTextZone;
bool mIsCreatingSceneGrabZone;
QRubberBand *mRubberBand;
bool mIsCreatingTextZone;
bool mIsCreatingSceneGrabZone;
bool isAbsurdPoint(QPoint point);
bool isAbsurdPoint(QPoint point);
bool mVirtualKeyboardActive;
bool mOkOnWidget;
bool mVirtualKeyboardActive;
bool mOkOnWidget;
bool mWidgetMoved;
QPointF mLastPressedMousePos;
QGraphicsItem *movingItem;
QMouseEvent *suspendedMousePressEvent;
bool mWidgetMoved;
QPointF mLastPressedMousePos;
QGraphicsItem *movingItem;
QMouseEvent *suspendedMousePressEvent;
bool moveRubberBand;
UBRubberBand *mUBRubberBand;
bool moveRubberBand;
UBRubberBand *mUBRubberBand;
QList<QGraphicsItem *> mRubberedItems;
QSet<QGraphicsItem*> mJustSelectedItems;
QList<QGraphicsItem *> mRubberedItems;
QSet<QGraphicsItem*> mJustSelectedItems;
int mLongPressInterval;
QTimer mLongPressTimer;
int mLongPressInterval;
QTimer mLongPressTimer;
bool mIsDragInProgress;
bool mMultipleSelectionIsEnabled;
bool bIsControl;
bool bIsDesktop;
bool mRubberBandInPlayMode;
bool mIsDragInProgress;
bool mMultipleSelectionIsEnabled;
bool bIsControl;
bool bIsDesktop;
bool mRubberBandInPlayMode;
static bool hasSelectedParents(QGraphicsItem * item);
static bool hasSelectedParents(QGraphicsItem * item);
private slots:
private slots:
void settingChanged(QVariant newValue);
void settingChanged(QVariant newValue);
public slots:
public slots:
void virtualKeyboardActivated(bool b);
void longPressEvent();
void virtualKeyboardActivated(bool b);
void longPressEvent();
};
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......@@ -159,35 +159,23 @@ bool UBDrawingController::isDrawingTool()
int UBDrawingController::currentToolWidthIndex()
{
if (stylusTool() == UBStylusTool::Pen || stylusTool() == UBStylusTool::Line)
{
return UBSettings::settings()->penWidthIndex();
}
else if (stylusTool() == UBStylusTool::Marker)
{
return UBSettings::settings()->markerWidthIndex();
}
else
{
return -1;
}
}
qreal UBDrawingController::currentToolWidth()
{
if (stylusTool() == UBStylusTool::Pen || stylusTool() == UBStylusTool::Line)
{
return UBSettings::settings()->currentPenWidth();
}
else if (stylusTool() == UBStylusTool::Marker)
{
return UBSettings::settings()->currentMarkerWidth();
}
else
{
//failsafe
return UBSettings::settings()->currentPenWidth();
}
}
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......@@ -37,7 +37,6 @@
#include "domain/UBGraphicsScene.h"
#include "domain/UBGraphicsSvgItem.h"
#include "domain/UBGraphicsPixmapItem.h"
#include "domain/UBGraphicsVideoItem.h"
#include "domain/UBGraphicsWidgetItem.h"
#include "gui/UBFeaturesWidget.h"
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......@@ -50,17 +50,17 @@ struct UBStylusTool
{
enum Enum
{
Pen = 0,
Eraser,
Marker,
Selector,
Pen = 0,
Eraser,
Marker,
Selector,
Play,
Hand,
ZoomIn,
ZoomOut,
Pointer,
Line,
Text,
Hand,
ZoomIn,
ZoomOut,
Pointer,
Line,
Text,
Capture
};
};
......@@ -138,17 +138,17 @@ struct UBGraphicsItemType
{
enum Enum
{
PolygonItemType = QGraphicsItem::UserType + 1,
PolygonItemType = QGraphicsItem::UserType + 1,
PixmapItemType,
SvgItemType,
SvgItemType,
DelegateButtonType,
MediaItemType,
PDFItemType,
MediaItemType,
PDFItemType,
TextItemType,
CurtainItemType,
RulerItemType,
CompassItemType,
ProtractorItemType,
RulerItemType,
CompassItemType,
ProtractorItemType,
StrokeItemType,
TriangleItemType,
MagnifierItemType,
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......@@ -317,8 +317,6 @@ int UBApplication::exec(const QString& pFileToImport)
webController = new UBWebController(mainWindow);
documentController = new UBDocumentController(mainWindow);
boardController->paletteManager()->connectToDocumentController();
UBDrawingController::drawingController()->setStylusTool((int)UBStylusTool::Pen);
applicationController = new UBApplicationController(boardController->controlView(),
......@@ -349,7 +347,6 @@ int UBApplication::exec(const QString& pFileToImport)
connect(mainWindow->actionPreferences, SIGNAL(triggered()), mPreferencesController, SLOT(show()));
connect(mainWindow->actionTutorial, SIGNAL(triggered()), applicationController, SLOT(showTutorial()));
connect(mainWindow->actionTutorial, SIGNAL(triggered()), this, SLOT(stopScript()));
connect(mainWindow->actionSankoreEditor, SIGNAL(triggered()), applicationController, SLOT(showSankoreEditor()));
connect(mainWindow->actionCheckUpdate, SIGNAL(triggered()), applicationController, SLOT(checkUpdateRequest()));
......@@ -543,7 +540,6 @@ void UBApplication::decorateActionMenu(QAction* action)
menu->addSeparator();
menu->addAction(mainWindow->actionTutorial);
menu->addAction(mainWindow->actionSankoreEditor);
#ifndef Q_WS_X11 // No Podcast on Linux yet
menu->addAction(mainWindow->actionPodcast);
......@@ -651,12 +647,10 @@ void UBApplication::cleanup()
if (webController) delete webController;
if (documentController) delete documentController;
applicationController = NULL;
boardController = NULL;
webController = NULL;
documentController = NULL;
}
void UBStyle::drawItemText(QPainter *painter, const QRect &rect, int alignment, const QPalette &pal,
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......@@ -68,9 +68,9 @@
#include "core/memcheck.h"
UBApplicationController::UBApplicationController(UBBoardView *pControlView,
UBApplicationController::UBApplicationController(UBBoardView *pControlView,
UBBoardView *pDisplayView,
UBMainWindow* pMainWindow,
UBMainWindow* pMainWindow,
QObject* parent,
UBRightPalette* rightPalette)
: QObject(parent)
......@@ -371,7 +371,7 @@ void UBApplicationController::showBoard()
UBPlatformUtils::setDesktopMode(false);
mUninoteController->hideWindow();
mMainWindow->show();
emit mainModeChanged(Board);
......@@ -513,42 +513,14 @@ void UBApplicationController::showTutorial()
}
void UBApplicationController::showSankoreEditor()
{
if (UBApplication::boardController)
{
UBApplication::boardController->persistCurrentScene();
UBApplication::boardController->hide();
}
// it's needed not to duplicate webbrowser search in web mode. If I've breaked smbd's code let Ivan know
UBApplication::webController->show(UBWebController::Paraschool);
mMainWindow->webToolBar->hide();
mMainWindow->boardToolBar->hide();
mMainWindow->documentToolBar->hide();
mMainWindow->tutorialToolBar->show();
mMainMode = ParaschoolEditor;
adaptToolBar();
mUninoteController->hideWindow();
mirroringEnabled(false);
emit mainModeChanged(mMainMode);
}
void UBApplicationController::checkUpdate()
{
if(mHttp)
delete mHttp;
QUrl url("http://ftp.open-sankore.org/update.json");
mHttp = new QHttp(url.host());
connect(mHttp, SIGNAL(requestFinished(int,bool)), this, SLOT(updateRequestFinished(int,bool)));
mHttp->get(url.path());
// if(mHttp)
// delete mHttp;
// QUrl url("http://ftp.open-sankore.org/update.json");
// mHttp = new QHttp(url.host());
// connect(mHttp, SIGNAL(requestFinished(int,bool)), this, SLOT(updateRequestFinished(int,bool)));
// mHttp->get(url.path());
}
void UBApplicationController::updateRequestFinished(int id, bool error)
......@@ -622,10 +594,6 @@ void UBApplicationController::hideDesktop()
{
showTutorial();
}
else if (mMainMode == ParaschoolEditor)
{
showSankoreEditor();
}
mIsShowingDesktop = false;
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......@@ -92,7 +92,7 @@ class UBApplicationController : public QObject
enum MainMode
{
Board = 0, Internet, Document, Tutorial, ParaschoolEditor, WebDocument
Board = 0, Internet, Document, Tutorial, WebDocument
};
MainMode displayMode()
......@@ -137,7 +137,6 @@ class UBApplicationController : public QObject
void actionPaste();
void showTutorial();
void showSankoreEditor();
void checkUpdateRequest();
void checkUpdateAtLaunch();
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......@@ -19,6 +19,7 @@
* along with Open-Sankoré. If not, see <http://www.gnu.org/licenses/>.
*/
#include "UBDisplayManager.h"
#include "frameworks/UBPlatformUtils.h"
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
/*
* Copyright (C) 2012 Webdoc SA
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA)
*
* This file is part of Open-Sankoré.
*
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment