Merge branch 'master' of github.com:Sankore/Sankore-3.1

preferencesAboutTextFull
shibakaneki 13 years ago
commit 71b6a9d039
  1. 137
      src/adaptors/UBCFFSubsetAdaptor.cpp
  2. 1
      src/adaptors/UBCFFSubsetAdaptor.h
  3. 1
      src/desktop/UBDesktopAnnotationController.cpp
  4. 1
      src/domain/UBGraphicsAudioItem.cpp
  5. 1
      src/domain/UBGraphicsAudioItemDelegate.cpp
  6. 1
      src/domain/UBGraphicsMediaItem.cpp
  7. 1
      src/domain/UBGraphicsScene.cpp
  8. 1
      src/domain/UBGraphicsVideoItem.cpp
  9. 1
      src/domain/UBGraphicsVideoItemDelegate.cpp
  10. 1
      src/domain/UBGraphicsWidgetItem.cpp
  11. 1
      src/domain/UBGraphicsWidgetItemDelegate.cpp
  12. 1
      src/domain/UBItem.cpp
  13. 14
      src/gui/UBActionPalette.cpp
  14. 36
      src/gui/UBMagnifer.cpp
  15. 14
      src/gui/UBMagnifer.h

@ -42,6 +42,7 @@ static QString tMeta = "meta";
static QString tPage = "page";
static QString tPageset = "pageset";
static QString tPolygon = "polygon";
static QString tPolyline = "polyline";
static QString tRect = "rect";
static QString tSvg = "svg";
static QString tText = "text";
@ -70,6 +71,7 @@ static QString aFontstretch = "font-stretch";
static QString aFontstyle = "font-style";
static QString aFontweight = "font-weight";
static QString aTextalign = "text-align";
static QString aPoints = "points";
UBCFFSubsetAdaptor::UBCFFSubsetAdaptor()
@ -229,6 +231,12 @@ bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseCurrentElementStart()
return false;
}
else
if ( elName == tPolyline)
{
if (!parsePolyline())
return false;
}
else
if ( elName == tPage)
{
if (!parsePage())
@ -749,6 +757,135 @@ bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parsePolygon()
if (currentState == SVG && mCurrentScene == NULL)
createNewScene();
QStringRef svgPoints = mReader.attributes().value("points");
QPolygonF polygon;
if (!svgPoints.isNull()) {
QStringList ts = svgPoints.toString().split(QLatin1Char(' '),
QString::SkipEmptyParts);
foreach(const QString sPoint, ts) {
QStringList sCoord = sPoint.split(QLatin1Char(','), QString::SkipEmptyParts);
if (sCoord.size() == 2) {
QPointF point;
point.setX(sCoord.at(0).toFloat());
point.setY(sCoord.at(1).toFloat());
polygon << point;
}
else {
qWarning() << "cannot make sense of a 'point' value" << sCoord;
}
}
}
//bounding rect lef top corner coordinates
qreal x1 = polygon.boundingRect().topLeft().x();
qreal y1 = polygon.boundingRect().topLeft().y();
//bounding rect dimensions
qreal width = polygon.boundingRect().width();
qreal height = polygon.boundingRect().height();
QPen pen;
if (mReader.attributes().hasAttribute(aStroke))
pen.setColor(colorFromString(mReader.attributes().value(aStroke).toString()));
if (mReader.attributes().hasAttribute(aStrokewidth))
pen.setWidth(mReader.attributes().value(aStrokewidth).toString().toInt());
QBrush brush;
if (mReader.attributes().hasAttribute(aFill)) {
brush.setColor(colorFromString(mReader.attributes().value(aFill).toString()));
brush.setStyle(Qt::SolidPattern);
}
QSvgGenerator *generator = createSvgGenerator(width + pen.width(), height + pen.width());
QPainter painter;
painter.begin(generator); //drawing to svg tmp file
painter.translate(pen.widthF() / 2 - x1, pen.widthF() / 2 - y1);
painter.setBrush(brush);
painter.setPen(pen);
painter.drawPolygon(polygon);
painter.end();
//add resulting svg file to scene
UBGraphicsSvgItem *svgItem = mCurrentScene->addSvg(QUrl::fromLocalFile(generator->fileName()));
QTransform transform;
bool hastransform = getCurElementTransorm(transform);
repositionSvgItem(svgItem, width + 10, height + 10, x1 - 5, y1 - 5, hastransform, transform);
delete generator;
return true;
}
bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parsePolyline()
{
if (currentState != SVG && currentState != PAGE)
{
qWarning() << "iwb content parse error, unexpected polyline tag at line" << mReader.lineNumber();
return false;
}
//create new scene if it's not created yet (for one page document case)
if (currentState == SVG && mCurrentScene == NULL)
createNewScene();
QStringRef svgPoints = mReader.attributes().value("points");
QPolygonF polygon;
if (!svgPoints.isNull()) {
QStringList ts = svgPoints.toString().split(QLatin1Char(' '),
QString::SkipEmptyParts);
foreach(const QString sPoint, ts) {
QStringList sCoord = sPoint.split(QLatin1Char(','), QString::SkipEmptyParts);
if (sCoord.size() == 2) {
QPointF point;
point.setX(sCoord.at(0).toFloat());
point.setY(sCoord.at(1).toFloat());
polygon << point;
}
else {
qWarning() << "cannot make sense of a 'point' value" << sCoord;
}
}
polygon.translate(-polygon.boundingRect().topLeft());
}
//bounding rect lef top corner coordinates
qreal x1 = polygon.boundingRect().topLeft().x();
qreal y1 = polygon.boundingRect().topLeft().y();
//bounding rect dimensions
qreal width = polygon.boundingRect().width();
qreal height = polygon.boundingRect().height();
QPen pen;
if (mReader.attributes().hasAttribute(aStroke))
pen.setColor(colorFromString(mReader.attributes().value(aStroke).toString()));
if (mReader.attributes().hasAttribute(aStrokewidth))
pen.setWidth(mReader.attributes().value(aStrokewidth).toString().toInt());
pen.setColor(Qt::yellow);
QSvgGenerator *generator = createSvgGenerator(width + pen.width(), height + pen.width());
QPainter painter;
painter.begin(generator); //drawing to svg tmp file
painter.translate(pen.widthF() / 2, pen.widthF() / 2);
painter.setPen(pen);
painter.drawPolyline(polygon);
painter.end();
//add resulting svg file to scene
UBGraphicsSvgItem *svgItem = mCurrentScene->addSvg(QUrl::fromLocalFile(generator->fileName()));
QTransform transform;
bool hastransform = getCurElementTransorm(transform);
repositionSvgItem(svgItem, width + 10, height + 10, x1 - 5, y1 - 5, hastransform, transform);
delete generator;
return true;
}

@ -84,6 +84,7 @@ private:
bool parseTextArea();
bool parseText();
bool parsePolygon();
bool parsePolyline();
bool parsePage();
bool parsePageSet();
bool parseIwbElementRef();

@ -856,6 +856,7 @@ void UBDesktopAnnotationController::refreshMask()
{
if(mIsFullyTransparent
|| UBDrawingController::drawingController()->stylusTool() == UBStylusTool::Selector
//Needed to work correctly when another actions on stylus are checked
|| UBDrawingController::drawingController()->stylusTool() == UBStylusTool::Eraser
|| UBDrawingController::drawingController()->stylusTool() == UBStylusTool::Pointer
|| UBDrawingController::drawingController()->stylusTool() == UBStylusTool::Pen

@ -12,6 +12,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "UBGraphicsAudioItem.h"
#include "UBGraphicsAudioItemDelegate.h"
#include "UBGraphicsDelegateFrame.h"

@ -12,6 +12,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "UBGraphicsAudioItemDelegate.h"
#include "domain/UBGraphicsAudioItem.h"
#include "domain/UBGraphicsDelegateFrame.h"

@ -12,6 +12,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "UBGraphicsMediaItem.h"
#include "UBGraphicsScene.h"
#include "UBGraphicsDelegateFrame.h"

@ -343,7 +343,6 @@ bool UBGraphicsScene::inputDeviceRelease()
}
UBDrawingController *dc = UBDrawingController::drawingController();
UBStylusTool::Enum currentTool = (UBStylusTool::Enum)dc->stylusTool();
if (dc->isDrawingTool())
{
mCurrentStroke = 0;

@ -12,6 +12,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "UBGraphicsVideoItem.h"
#include "UBGraphicsVideoItemDelegate.h"
#include "UBGraphicsDelegateFrame.h"

@ -13,7 +13,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <QtGui>
#include <QtSvg>

@ -12,6 +12,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "UBGraphicsWidgetItem.h"
#include "api/UBWidgetUniboardAPI.h"

@ -13,7 +13,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <QtGui>
#include <QtSvg>

@ -12,6 +12,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "UBItem.h"
#include "core/memcheck.h"

@ -1,8 +1,16 @@
/*
* UBActionPalette.cpp
* This program 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 3 of the License, or
* (at your option) any later version.
*
* Created on: 8 oct. 2009
* Author: Luc
* This program 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 program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "UBActionPalette.h"

@ -1,4 +1,17 @@
/*
* This program 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 3 of the License, or
* (at your option) any later version.
*
* This program 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 program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <QtGui>
#include "UBMagnifer.h"
@ -7,25 +20,15 @@
#include "board/UBBoardController.h"
#include "domain/UBGraphicsScene.h"
// #include <QPainter>
// #include <QPixmap>
// #include <QDebug>
// #include <QWidget>
// #include <QGraphicsView>
// #include <QTimerEvent>
// #include <QBitmap>
// #include <QPen>
UBMagnifier::UBMagnifier(QWidget *parent, bool isInteractive)
: QWidget(parent, parent ? Qt::Widget : Qt::Tool | (Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint | Qt::X11BypassWindowManagerHint))
, gView(0)
, mView(0)
, inTimer(false)
, borderPen(Qt::darkGray)
, mShouldMoveWidget(false)
, mShouldResizeWidget(false)
, inTimer(false)
, borderPen(Qt::darkGray)
, gView(0)
, mView(0)
{
isCusrsorAlreadyStored = false;
setMouseTracking(true);
@ -134,10 +137,9 @@ void UBMagnifier::setZoom(qreal zoom)
void UBMagnifier::paintEvent(QPaintEvent * event)
{
Q_UNUSED(event);
QPainter painter(this);
// painter.drawRect(0,0,size().width()-1, size().height()-1);
painter.setRenderHint(QPainter::Antialiasing);
painter.setPen(Qt::NoPen);

@ -1,3 +1,17 @@
/*
* This program 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 3 of the License, or
* (at your option) any later version.
*
* This program 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 program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef UBMAGNIFIER_H
#define UBMAGNIFIER_H

Loading…
Cancel
Save