Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
OpenBoard
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lifo
Nicolas Ollinger
OpenBoard
Commits
1a799632
Commit
1a799632
authored
Sep 10, 2012
by
Aleksei Kanash
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' of github.com:Sankore/Sankore-3.1 into aleksei_kanash_dev
parents
304591d1
46b81abe
Changes
47
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
47 changed files
with
481 additions
and
601 deletions
+481
-601
toque.png
resources/images/toque.png
+0
-0
sankore.qrc
resources/sankore.qrc
+1
-0
UBSvgSubsetAdaptor.cpp
src/adaptors/UBSvgSubsetAdaptor.cpp
+1
-1
UBWidgetMessageAPI.cpp
src/api/UBWidgetMessageAPI.cpp
+0
-2
UBBoardController.cpp
src/board/UBBoardController.cpp
+3
-3
UBFeaturesController.cpp
src/board/UBFeaturesController.cpp
+7
-7
UBPersistenceManager.cpp
src/core/UBPersistenceManager.cpp
+3
-0
UBDocumentController.cpp
src/document/UBDocumentController.cpp
+8
-15
UBGraphicsGroupContainerItem.cpp
src/domain/UBGraphicsGroupContainerItem.cpp
+15
-21
UBGraphicsGroupContainerItem.h
src/domain/UBGraphicsGroupContainerItem.h
+1
-4
UBGraphicsItemDelegate.cpp
src/domain/UBGraphicsItemDelegate.cpp
+1
-1
UBGraphicsItemGroupUndoCommand.cpp
src/domain/UBGraphicsItemGroupUndoCommand.cpp
+2
-2
UBGraphicsItemUndoCommand.cpp
src/domain/UBGraphicsItemUndoCommand.cpp
+63
-3
UBGraphicsItemUndoCommand.h
src/domain/UBGraphicsItemUndoCommand.h
+5
-1
UBGraphicsMediaItem.cpp
src/domain/UBGraphicsMediaItem.cpp
+12
-11
UBGraphicsMediaItem.h
src/domain/UBGraphicsMediaItem.h
+0
-1
UBGraphicsPDFItem.cpp
src/domain/UBGraphicsPDFItem.cpp
+9
-15
UBGraphicsPDFItem.h
src/domain/UBGraphicsPDFItem.h
+0
-4
UBGraphicsPixmapItem.cpp
src/domain/UBGraphicsPixmapItem.cpp
+10
-19
UBGraphicsPixmapItem.h
src/domain/UBGraphicsPixmapItem.h
+0
-3
UBGraphicsProxyWidget.cpp
src/domain/UBGraphicsProxyWidget.cpp
+10
-27
UBGraphicsProxyWidget.h
src/domain/UBGraphicsProxyWidget.h
+1
-7
UBGraphicsScene.cpp
src/domain/UBGraphicsScene.cpp
+16
-6
UBGraphicsScene.h
src/domain/UBGraphicsScene.h
+1
-1
UBGraphicsStrokesGroup.cpp
src/domain/UBGraphicsStrokesGroup.cpp
+11
-18
UBGraphicsStrokesGroup.h
src/domain/UBGraphicsStrokesGroup.h
+0
-2
UBGraphicsSvgItem.cpp
src/domain/UBGraphicsSvgItem.cpp
+9
-16
UBGraphicsSvgItem.h
src/domain/UBGraphicsSvgItem.h
+0
-3
UBGraphicsTextItem.cpp
src/domain/UBGraphicsTextItem.cpp
+21
-30
UBGraphicsTextItem.h
src/domain/UBGraphicsTextItem.h
+0
-3
UBGraphicsWebView.cpp
src/domain/UBGraphicsWebView.cpp
+0
-152
UBGraphicsWebView.h
src/domain/UBGraphicsWebView.h
+0
-61
UBGraphicsWidgetItem.cpp
src/domain/UBGraphicsWidgetItem.cpp
+93
-64
UBGraphicsWidgetItem.h
src/domain/UBGraphicsWidgetItem.h
+11
-8
UBItem.cpp
src/domain/UBItem.cpp
+24
-0
UBItem.h
src/domain/UBItem.h
+11
-11
domain.pri
src/domain/domain.pri
+2
-4
UBDocumentNavigator.cpp
src/gui/UBDocumentNavigator.cpp
+28
-6
UBTeacherGuideWidget.cpp
src/gui/UBTeacherGuideWidget.cpp
+63
-37
UBTeacherGuideWidget.h
src/gui/UBTeacherGuideWidget.h
+8
-1
UBTeacherGuideWidgetsTools.cpp
src/gui/UBTeacherGuideWidgetsTools.cpp
+14
-0
UBTeacherGuideWidgetsTools.h
src/gui/UBTeacherGuideWidgetsTools.h
+2
-0
Utils.cpp
src/pdf-merger/Utils.cpp
+3
-8
UBGraphicsCurtainItem.cpp
src/tools/UBGraphicsCurtainItem.cpp
+8
-15
UBGraphicsCurtainItem.h
src/tools/UBGraphicsCurtainItem.h
+0
-3
UBGraphicsCurtainItemDelegate.h
src/tools/UBGraphicsCurtainItemDelegate.h
+2
-3
UBWebController.cpp
src/web/UBWebController.cpp
+2
-2
No files found.
resources/images/toque.png
0 → 100644
View file @
1a799632
3.34 KB
resources/sankore.qrc
View file @
1a799632
...
...
@@ -365,5 +365,6 @@
<file>images/teacherGuide/pencil.svg</file>
<file>images/duplicateDisabled.svg</file>
<file>images/teacherGuide/flash_24x24.svg</file>
<file>images/toque.png</file>
</qresource>
</RCC>
src/adaptors/UBSvgSubsetAdaptor.cpp
View file @
1a799632
...
...
@@ -1084,7 +1084,7 @@ QGraphicsItem *UBSvgSubsetAdaptor::UBSvgSubsetReader::readElementFromGroup()
{
QGraphicsItem
*
result
=
0
;
result
=
mScene
->
item
By
Uuid
(
QUuid
(
mXmlReader
.
attributes
().
value
(
aId
).
toString
()));
result
=
mScene
->
item
For
Uuid
(
QUuid
(
mXmlReader
.
attributes
().
value
(
aId
).
toString
()));
mXmlReader
.
skipCurrentElement
();
mXmlReader
.
readNext
();
...
...
src/api/UBWidgetMessageAPI.cpp
View file @
1a799632
...
...
@@ -17,8 +17,6 @@
#include "core/UBApplication.h"
#include "domain/UBGraphicsWebView.h"
#include "core/memcheck.h"
UBWidgetMessageAPI
::
UBWidgetMessageAPI
(
UBGraphicsWidgetItem
*
graphicsWidgetItem
,
QObject
*
parent
)
...
...
src/board/UBBoardController.cpp
View file @
1a799632
...
...
@@ -645,7 +645,7 @@ void UBBoardController::duplicateItem(UBItem *item)
{
mActiveScene
->
addItem
(
gitem
);
gitem
->
setPos
(
itemPos
);
mLastCreatedItem
=
gitem
;
mLastCreatedItem
=
gitem
;
gitem
->
setSelected
(
true
);
}
return
;
...
...
@@ -1132,7 +1132,7 @@ UBItem *UBBoardController::downloadFinished(bool pSuccess, QUrl sourceUrl, QStri
QString
destFile
;
bool
b
=
UBPersistenceManager
::
persistenceManager
()
->
addFileToDocument
(
selectedDocument
(),
""
,
sourceUrl
.
toString
(),
UBPersistenceManager
::
videoDirectory
,
uuid
,
destFile
,
...
...
@@ -1175,7 +1175,7 @@ UBItem *UBBoardController::downloadFinished(bool pSuccess, QUrl sourceUrl, QStri
QString
destFile
;
bool
b
=
UBPersistenceManager
::
persistenceManager
()
->
addFileToDocument
(
selectedDocument
(),
""
,
sourceUrl
.
toString
(),
UBPersistenceManager
::
audioDirectory
,
uuid
,
destFile
,
...
...
src/board/UBFeaturesController.cpp
View file @
1a799632
...
...
@@ -144,7 +144,7 @@ void UBFeaturesComputingThread::compute(const QList<QPair<QUrl, UBFeature> > &pS
void
UBFeaturesComputingThread
::
run
()
{
forever
{
qDebug
()
<<
"Custom thread started execution"
;
//
qDebug() << "Custom thread started execution";
mMutex
.
lock
();
QList
<
QPair
<
QUrl
,
UBFeature
>
>
searchData
=
mScanningData
;
...
...
@@ -158,17 +158,17 @@ void UBFeaturesComputingThread::run()
break
;
}
QTime
curTime
=
QTime
::
currentTime
();
//
QTime curTime = QTime::currentTime();
int
fsCnt
=
featuresCountAll
(
searchData
);
int
msecsto
=
curTime
.
msecsTo
(
QTime
::
currentTime
());
qDebug
()
<<
"time on evaluation"
<<
msecsto
;
//
int msecsto = curTime.msecsTo(QTime::currentTime());
//
qDebug() << "time on evaluation" << msecsto;
emit
maxFilesCountEvaluated
(
fsCnt
);
emit
scanStarted
();
curTime
=
QTime
::
currentTime
();
//
curTime = QTime::currentTime();
scanAll
(
searchData
,
favoriteSet
);
qDebug
()
<<
"Time on finishing"
<<
curTime
.
msecsTo
(
QTime
::
currentTime
());
//
qDebug() << "Time on finishing" << curTime.msecsTo(QTime::currentTime());
emit
scanFinished
();
mMutex
.
lock
();
...
...
@@ -183,7 +183,7 @@ void UBFeaturesComputingThread::run()
UBFeaturesComputingThread
::~
UBFeaturesComputingThread
()
{
qDebug
()
<<
"thread destructor catched"
;
//
qDebug() << "thread destructor catched";
mMutex
.
lock
();
abort
=
true
;
...
...
src/core/UBPersistenceManager.cpp
View file @
1a799632
...
...
@@ -913,6 +913,7 @@ bool UBPersistenceManager::addFileToDocument(UBDocumentProxy* pDocumentProxy,
QString
&
destinationPath
,
QByteArray
*
data
)
{
Q_ASSERT
(
path
.
length
());
QFileInfo
fi
(
path
);
if
(
!
pDocumentProxy
||
objectUuid
.
isNull
())
...
...
@@ -920,6 +921,8 @@ bool UBPersistenceManager::addFileToDocument(UBDocumentProxy* pDocumentProxy,
if
(
data
==
NULL
&&
!
fi
.
exists
())
return
false
;
qDebug
()
<<
fi
.
suffix
();
QString
fileName
=
subdir
+
"/"
+
objectUuid
.
toString
()
+
"."
+
fi
.
suffix
();
destinationPath
=
pDocumentProxy
->
persistencePath
()
+
"/"
+
fileName
;
...
...
src/document/UBDocumentController.cpp
View file @
1a799632
...
...
@@ -366,25 +366,18 @@ void UBDocumentController::setupViews()
connect
(
mDocumentUI
->
thumbnailWidget
,
SIGNAL
(
sceneDropped
(
UBDocumentProxy
*
,
int
,
int
)),
this
,
SLOT
(
moveSceneToIndex
(
UBDocumentProxy
*
,
int
,
int
)));
connect
(
mDocumentUI
->
thumbnailWidget
,
SIGNAL
(
resized
()),
this
,
SLOT
(
thumbnailViewResized
()));
connect
(
mDocumentUI
->
thumbnailWidget
,
SIGNAL
(
mouseDoubleClick
(
QGraphicsItem
*
,
int
)),
this
,
SLOT
(
pageDoubleClicked
(
QGraphicsItem
*
,
int
)));
connect
(
mDocumentUI
->
thumbnailWidget
,
SIGNAL
(
mouseClick
(
QGraphicsItem
*
,
int
)),
this
,
SLOT
(
pageClicked
(
QGraphicsItem
*
,
int
)));
connect
(
mDocumentUI
->
thumbnailWidget
,
SIGNAL
(
mouseDoubleClick
(
QGraphicsItem
*
,
int
)),
this
,
SLOT
(
pageDoubleClicked
(
QGraphicsItem
*
,
int
)));
connect
(
mDocumentUI
->
thumbnailWidget
,
SIGNAL
(
mouseClick
(
QGraphicsItem
*
,
int
)),
this
,
SLOT
(
pageClicked
(
QGraphicsItem
*
,
int
)));
connect
(
mDocumentUI
->
thumbnailWidget
->
scene
(),
SIGNAL
(
selectionChanged
()),
this
,
SLOT
(
pageSelectionChanged
()));
connect
(
mDocumentUI
->
thumbnailWidget
->
scene
(),
SIGNAL
(
selectionChanged
()),
this
,
SLOT
(
pageSelectionChanged
()));
connect
(
UBPersistenceManager
::
persistenceManager
(),
SIGNAL
(
documentCreated
(
UBDocumentProxy
*
)),
this
,
SLOT
(
addDocumentInTree
(
UBDocumentProxy
*
)));
connect
(
UBPersistenceManager
::
persistenceManager
(),
SIGNAL
(
documentCreated
(
UBDocumentProxy
*
)),
this
,
SLOT
(
addDocumentInTree
(
UBDocumentProxy
*
)));
connect
(
UBPersistenceManager
::
persistenceManager
(),
SIGNAL
(
documentMetadataChanged
(
UBDocumentProxy
*
)),
this
,
SLOT
(
updateDocumentInTree
(
UBDocumentProxy
*
)));
connect
(
UBPersistenceManager
::
persistenceManager
(),
SIGNAL
(
documentMetadataChanged
(
UBDocumentProxy
*
)),
this
,
SLOT
(
updateDocumentInTree
(
UBDocumentProxy
*
)));
connect
(
UBPersistenceManager
::
persistenceManager
(),
SIGNAL
(
documentSceneCreated
(
UBDocumentProxy
*
,
int
)),
this
,
SLOT
(
documentSceneChanged
(
UBDocumentProxy
*
,
int
)));
connect
(
UBPersistenceManager
::
persistenceManager
(),
SIGNAL
(
documentSceneCreated
(
UBDocumentProxy
*
,
int
)),
this
,
SLOT
(
documentSceneChanged
(
UBDocumentProxy
*
,
int
)));
connect
(
UBPersistenceManager
::
persistenceManager
(),
SIGNAL
(
documentSceneWillBeDeleted
(
UBDocumentProxy
*
,
int
)),
this
,
SLOT
(
documentSceneChanged
(
UBDocumentProxy
*
,
int
)));
connect
(
UBPersistenceManager
::
persistenceManager
(),
SIGNAL
(
documentSceneWillBeDeleted
(
UBDocumentProxy
*
,
int
)),
this
,
SLOT
(
documentSceneChanged
(
UBDocumentProxy
*
,
int
)));
mDocumentUI
->
thumbnailWidget
->
setBackgroundBrush
(
UBSettings
::
documentViewLightColor
);
...
...
@@ -1006,7 +999,7 @@ void UBDocumentController::addFolderOfImages()
if
(
importedImageNumber
==
0
)
{
showMessage
(
tr
(
"Folder does not contain any image files
!
"
));
showMessage
(
tr
(
"Folder does not contain any image files"
));
UBApplication
::
applicationController
->
showDocument
();
}
else
...
...
src/domain/UBGraphicsGroupContainerItem.cpp
View file @
1a799632
...
...
@@ -16,8 +16,8 @@ UBGraphicsGroupContainerItem::UBGraphicsGroupContainerItem(QGraphicsItem *parent
{
setData
(
UBGraphicsItemData
::
ItemLayerType
,
UBItemLayerType
::
Object
);
mDelegate
=
new
UBGraphicsGroupContainerItemDelegate
(
this
,
0
);
mDelegate
->
init
();
setDelegate
(
new
UBGraphicsGroupContainerItemDelegate
(
this
,
0
)
);
Delegate
()
->
init
();
setFlag
(
QGraphicsItem
::
ItemSendsGeometryChanges
,
true
);
setFlag
(
QGraphicsItem
::
ItemIsSelectable
,
true
);
...
...
@@ -32,8 +32,6 @@ UBGraphicsGroupContainerItem::UBGraphicsGroupContainerItem(QGraphicsItem *parent
UBGraphicsGroupContainerItem
::~
UBGraphicsGroupContainerItem
()
{
if
(
mDelegate
)
delete
mDelegate
;
}
void
UBGraphicsGroupContainerItem
::
addToGroup
(
QGraphicsItem
*
item
)
...
...
@@ -50,14 +48,14 @@ void UBGraphicsGroupContainerItem::addToGroup(QGraphicsItem *item)
//Check if group is allready rotatable or flippable
if
(
childItems
().
count
())
{
if
(
UBGraphicsItem
::
isFlippable
(
this
)
&&
!
UBGraphicsItem
::
isFlippable
(
item
))
{
mDelegate
->
setFlippable
(
false
);
Delegate
()
->
setFlippable
(
false
);
}
if
(
UBGraphicsItem
::
isRotatable
(
this
)
&&
!
UBGraphicsItem
::
isRotatable
(
item
))
{
mDelegate
->
setRotatable
(
false
);
Delegate
()
->
setRotatable
(
false
);
}
}
else
{
mDelegate
->
setFlippable
(
UBGraphicsItem
::
isFlippable
(
item
));
mDelegate
->
setRotatable
(
UBGraphicsItem
::
isRotatable
(
item
));
Delegate
()
->
setFlippable
(
UBGraphicsItem
::
isFlippable
(
item
));
Delegate
()
->
setRotatable
(
UBGraphicsItem
::
isRotatable
(
item
));
}
// COMBINE
...
...
@@ -125,6 +123,8 @@ void UBGraphicsGroupContainerItem::removeFromGroup(QGraphicsItem *item)
pRemoveFromGroup
(
item
);
item
->
setFlags
(
ItemIsSelectable
|
ItemIsFocusable
);
}
void
UBGraphicsGroupContainerItem
::
deselectCurrentItem
()
...
...
@@ -207,19 +207,13 @@ void UBGraphicsGroupContainerItem::copyItemParameters(UBItem *copy) const
}
}
void
UBGraphicsGroupContainerItem
::
remove
()
{
if
(
mDelegate
)
mDelegate
->
remove
();
}
void
UBGraphicsGroupContainerItem
::
setUuid
(
const
QUuid
&
pUuid
)
{
UBItem
::
setUuid
(
pUuid
);
setData
(
UBGraphicsItemData
::
ItemUuid
,
QVariant
(
pUuid
));
//store item uuid inside the QGraphicsItem to fast operations with Items on the scene
}
void
UBGraphicsGroupContainerItem
::
destroy
()
{
void
UBGraphicsGroupContainerItem
::
destroy
(
bool
canUndo
)
{
foreach
(
QGraphicsItem
*
item
,
childItems
())
{
pRemoveFromGroup
(
item
);
...
...
@@ -227,7 +221,7 @@ void UBGraphicsGroupContainerItem::destroy() {
item
->
setFlag
(
QGraphicsItem
::
ItemIsFocusable
,
true
);
}
remove
();
remove
(
canUndo
);
}
void
UBGraphicsGroupContainerItem
::
clearSource
()
...
...
@@ -244,7 +238,7 @@ void UBGraphicsGroupContainerItem::clearSource()
void
UBGraphicsGroupContainerItem
::
mousePressEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
->
mousePressEvent
(
event
))
{
if
(
Delegate
()
->
mousePressEvent
(
event
))
{
//NOOP
}
else
{
...
...
@@ -257,7 +251,7 @@ void UBGraphicsGroupContainerItem::mousePressEvent(QGraphicsSceneMouseEvent *eve
void
UBGraphicsGroupContainerItem
::
mouseMoveEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
->
mouseMoveEvent
(
event
))
{
if
(
Delegate
()
->
mouseMoveEvent
(
event
))
{
// NOOP;
}
else
{
QGraphicsItem
::
mouseMoveEvent
(
event
);
...
...
@@ -273,7 +267,7 @@ void UBGraphicsGroupContainerItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *e
QVariant
UBGraphicsGroupContainerItem
::
itemChange
(
GraphicsItemChange
change
,
const
QVariant
&
value
)
{
QVariant
newValue
=
mDelegate
->
itemChange
(
change
,
value
);
QVariant
newValue
=
Delegate
()
->
itemChange
(
change
,
value
);
foreach
(
QGraphicsItem
*
child
,
children
())
{
...
...
@@ -317,8 +311,8 @@ void UBGraphicsGroupContainerItem::pRemoveFromGroup(QGraphicsItem *item)
break
;
}
}
mDelegate
->
setFlippable
(
flippableNow
);
mDelegate
->
setRotatable
(
rotatableNow
);
Delegate
()
->
setFlippable
(
flippableNow
);
Delegate
()
->
setRotatable
(
rotatableNow
);
}
}
...
...
src/domain/UBGraphicsGroupContainerItem.h
View file @
1a799632
...
...
@@ -22,13 +22,10 @@ public:
QRectF
boundingRect
()
const
;
void
paint
(
QPainter
*
painter
,
const
QStyleOptionGraphicsItem
*
option
,
QWidget
*
widget
);
virtual
UBGraphicsItemDelegate
*
Delegate
()
const
{
return
mDelegate
;}
virtual
UBCoreGraphicsScene
*
corescene
();
virtual
UBGraphicsGroupContainerItem
*
deepCopy
()
const
;
virtual
void
copyItemParameters
(
UBItem
*
copy
)
const
;
virtual
void
remove
();
enum
{
Type
=
UBGraphicsItemType
::
groupContainerType
};
virtual
int
type
()
const
...
...
@@ -37,7 +34,7 @@ public:
}
virtual
void
setUuid
(
const
QUuid
&
pUuid
);
void
destroy
();
void
destroy
(
bool
canUndo
=
true
);
virtual
void
clearSource
();
...
...
src/domain/UBGraphicsItemDelegate.cpp
View file @
1a799632
...
...
@@ -407,7 +407,7 @@ void UBGraphicsItemDelegate::remove(bool canUndo)
scene
->
removeItem
(
mFrame
);
/* this is performed because when removing delegated from scene while it contains flash content, segfault happens because of QGraphicsScene::removeItem() */
UBGraphicsW
ebView
*
mDelegated_casted
=
dynamic_cast
<
UBGraphicsWebView
*>
(
mDelegated
);
UBGraphicsW
idgetItem
*
mDelegated_casted
=
dynamic_cast
<
UBGraphicsWidgetItem
*>
(
mDelegated
);
if
(
mDelegated_casted
)
mDelegated_casted
->
setHtml
(
QString
());
...
...
src/domain/UBGraphicsItemGroupUndoCommand.cpp
View file @
1a799632
...
...
@@ -22,7 +22,7 @@ UBGraphicsItemGroupUndoCommand::~UBGraphicsItemGroupUndoCommand()
void
UBGraphicsItemGroupUndoCommand
::
undo
()
{
mGroup
->
destroy
();
mGroup
->
destroy
(
false
);
foreach
(
QGraphicsItem
*
item
,
mItems
)
{
item
->
setSelected
(
true
);
}
...
...
@@ -41,7 +41,7 @@ void UBGraphicsItemGroupUndoCommand::redo()
QList
<
QGraphicsItem
*>
childItems
=
item
->
childItems
();
UBGraphicsGroupContainerItem
*
currentGroup
=
dynamic_cast
<
UBGraphicsGroupContainerItem
*>
(
item
);
if
(
currentGroup
)
{
currentGroup
->
destroy
();
currentGroup
->
destroy
(
false
);
}
foreach
(
QGraphicsItem
*
chItem
,
childItems
)
{
mGroup
->
addToGroup
(
chItem
);
...
...
src/domain/UBGraphicsItemUndoCommand.cpp
View file @
1a799632
...
...
@@ -27,10 +27,11 @@
#include "domain/UBGraphicsGroupContainerItem.h"
UBGraphicsItemUndoCommand
::
UBGraphicsItemUndoCommand
(
UBGraphicsScene
*
pScene
,
const
QSet
<
QGraphicsItem
*>&
pRemovedItems
,
const
QSet
<
QGraphicsItem
*>&
pAddedItems
)
const
QSet
<
QGraphicsItem
*>&
pAddedItems
,
const
GroupDataTable
&
groupsMap
)
:
mScene
(
pScene
)
,
mRemovedItems
(
pRemovedItems
-
pAddedItems
)
,
mAddedItems
(
pAddedItems
-
pRemovedItems
)
,
mRemovedItems
(
pRemovedItems
-
pAddedItems
)
,
mAddedItems
(
pAddedItems
-
pRemovedItems
)
,
mExcludedFromGroup
(
groupsMap
)
{
mFirstRedo
=
true
;
...
...
@@ -110,6 +111,36 @@ void UBGraphicsItemUndoCommand::undo()
}
}
QMapIterator
<
UBGraphicsGroupContainerItem
*
,
QUuid
>
curMapElement
(
mExcludedFromGroup
);
UBGraphicsGroupContainerItem
*
nextGroup
=
0
;
UBGraphicsGroupContainerItem
*
previousGroupItem
;
bool
groupChanged
=
false
;
while
(
curMapElement
.
hasNext
())
{
curMapElement
.
next
();
groupChanged
=
previousGroupItem
!=
curMapElement
.
key
();
//trying to find the group on the scene;
if
(
!
nextGroup
||
groupChanged
)
{
UBGraphicsGroupContainerItem
*
groupCandidate
=
curMapElement
.
key
();
if
(
groupCandidate
)
{
nextGroup
=
groupCandidate
;
if
(
!
mScene
->
items
().
contains
(
nextGroup
))
{
mScene
->
addItem
(
nextGroup
);
}
nextGroup
->
setVisible
(
true
);
}
}
QGraphicsItem
*
groupedItem
=
mScene
->
itemForUuid
(
curMapElement
.
value
());
if
(
groupedItem
)
{
nextGroup
->
addToGroup
(
groupedItem
);
}
previousGroupItem
=
curMapElement
.
key
();
UBGraphicsItem
::
Delegate
(
nextGroup
)
->
update
();
}
// force refresh, QT is a bit lazy and take a lot of time (nb item ^2 ?) to trigger repaint
mScene
->
update
(
mScene
->
sceneRect
());
...
...
@@ -125,6 +156,35 @@ void UBGraphicsItemUndoCommand::redo()
return
;
}
QMapIterator
<
UBGraphicsGroupContainerItem
*
,
QUuid
>
curMapElement
(
mExcludedFromGroup
);
UBGraphicsGroupContainerItem
*
nextGroup
=
0
;
UBGraphicsGroupContainerItem
*
previousGroupItem
;
bool
groupChanged
=
false
;
while
(
curMapElement
.
hasNext
())
{
curMapElement
.
next
();
groupChanged
=
previousGroupItem
!=
curMapElement
.
key
();
//trying to find the group on the scene;
if
(
!
nextGroup
||
groupChanged
)
{
UBGraphicsGroupContainerItem
*
groupCandidate
=
curMapElement
.
key
();
if
(
groupCandidate
)
{
nextGroup
=
groupCandidate
;
}
}
QGraphicsItem
*
groupedItem
=
mScene
->
itemForUuid
(
curMapElement
.
value
());
if
(
groupedItem
)
{
if
(
nextGroup
->
childItems
().
count
()
==
1
)
{
nextGroup
->
destroy
(
false
);
break
;
}
nextGroup
->
removeFromGroup
(
groupedItem
);
}
previousGroupItem
=
curMapElement
.
key
();
UBGraphicsItem
::
Delegate
(
nextGroup
)
->
update
();
}
QSetIterator
<
QGraphicsItem
*>
itRemoved
(
mRemovedItems
);
while
(
itRemoved
.
hasNext
())
{
...
...
src/domain/UBGraphicsItemUndoCommand.h
View file @
1a799632
...
...
@@ -18,6 +18,7 @@
#include <QtGui>
#include "UBAbstractUndoCommand.h"
#include "UBGraphicsGroupContainerItem.h"
class
UBGraphicsScene
;
...
...
@@ -26,8 +27,10 @@ class UBGraphicsScene;
class
UBGraphicsItemUndoCommand
:
public
UBAbstractUndoCommand
{
public
:
typedef
QMultiMap
<
UBGraphicsGroupContainerItem
*
,
QUuid
>
GroupDataTable
;
UBGraphicsItemUndoCommand
(
UBGraphicsScene
*
pScene
,
const
QSet
<
QGraphicsItem
*>&
pRemovedItems
,
const
QSet
<
QGraphicsItem
*>&
pAddedItems
);
const
QSet
<
QGraphicsItem
*>&
pAddedItems
,
const
GroupDataTable
&
groupsMap
=
GroupDataTable
()
);
UBGraphicsItemUndoCommand
(
UBGraphicsScene
*
pScene
,
QGraphicsItem
*
pRemovedItem
,
QGraphicsItem
*
pAddedItem
);
...
...
@@ -47,6 +50,7 @@ class UBGraphicsItemUndoCommand : public UBAbstractUndoCommand
UBGraphicsScene
*
mScene
;
QSet
<
QGraphicsItem
*>
mRemovedItems
;
QSet
<
QGraphicsItem
*>
mAddedItems
;
GroupDataTable
mExcludedFromGroup
;
bool
mFirstRedo
;
};
...
...
src/domain/UBGraphicsMediaItem.cpp
View file @
1a799632
...
...
@@ -72,6 +72,10 @@ UBGraphicsMediaItem::UBGraphicsMediaItem(const QUrl& pMediaFileUrl, QGraphicsIte
update
();
mMediaObject
=
new
Phonon
::
MediaObject
(
this
);
setDelegate
(
new
UBGraphicsMediaItemDelegate
(
this
,
mMediaObject
));
Delegate
()
->
init
();
if
(
pMediaFileUrl
.
toLocalFile
().
contains
(
"videos"
))
{
mMediaType
=
mediaType_Video
;
...
...
@@ -116,18 +120,14 @@ UBGraphicsMediaItem::UBGraphicsMediaItem(const QUrl& pMediaFileUrl, QGraphicsIte
mSource
=
Phonon
::
MediaSource
(
pMediaFileUrl
);
mMediaObject
->
setCurrentSource
(
mSource
);
UBGraphicsMediaItemDelegate
*
itemDelegate
=
new
UBGraphicsMediaItemDelegate
(
this
,
mMediaObject
);
itemDelegate
->
init
();
setDelegate
(
itemDelegate
);
if
(
mediaType_Audio
==
mMediaType
)
mDelegate
->
frame
()
->
setOperationMode
(
UBGraphicsDelegateFrame
::
ResizingHorizontally
);
Delegate
()
->
frame
()
->
setOperationMode
(
UBGraphicsDelegateFrame
::
ResizingHorizontally
);
else
mDelegate
->
frame
()
->
setOperationMode
(
UBGraphicsDelegateFrame
::
Resizing
);
Delegate
()
->
frame
()
->
setOperationMode
(
UBGraphicsDelegateFrame
::
Resizing
);
setData
(
UBGraphicsItemData
::
itemLayerType
,
QVariant
(
itemLayerType
::
ObjectItem
));
//Necessary to set if we want z value to be assigned correctly
connect
(
mDelegate
,
SIGNAL
(
showOnDisplayChanged
(
bool
)),
this
,
SLOT
(
showOnDisplayChanged
(
bool
)));
connect
(
Delegate
()
,
SIGNAL
(
showOnDisplayChanged
(
bool
)),
this
,
SLOT
(
showOnDisplayChanged
(
bool
)));
connect
(
mMediaObject
,
SIGNAL
(
hasVideoChanged
(
bool
)),
this
,
SLOT
(
hasMediaChanged
(
bool
)));
}
...
...
@@ -220,7 +220,7 @@ void UBGraphicsMediaItem::hasMediaChanged(bool hasMedia)
{
Q_UNUSED
(
hasMedia
);
mMediaObject
->
seek
(
mInitialPos
);
UBGraphicsMediaItemDelegate
*
med
=
dynamic_cast
<
UBGraphicsMediaItemDelegate
*>
(
mDelegate
);
UBGraphicsMediaItemDelegate
*
med
=
dynamic_cast
<
UBGraphicsMediaItemDelegate
*>
(
Delegate
()
);
if
(
med
)
med
->
updateTicker
(
initialPos
());
}
...
...
@@ -289,9 +289,9 @@ void UBGraphicsMediaItem::copyItemParameters(UBItem *copy) const
void
UBGraphicsMediaItem
::
mousePressEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
)
if
(
Delegate
()
)
{
mDelegate
->
mousePressEvent
(
event
);
Delegate
()
->
mousePressEvent
(
event
);
if
(
parentItem
()
&&
UBGraphicsGroupContainerItem
::
Type
==
parentItem
()
->
type
())
{
UBGraphicsGroupContainerItem
*
group
=
qgraphicsitem_cast
<
UBGraphicsGroupContainerItem
*>
(
parentItem
());
...
...
@@ -304,7 +304,7 @@ void UBGraphicsMediaItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
}
group
->
setCurrentItem
(
this
);
this
->
setSelected
(
true
);
mDelegate
->
positionHandles
();
Delegate
()
->
positionHandles
();
}
}
...
...
@@ -351,3 +351,4 @@ void UBGraphicsMediaItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
event
->
accept
();
}
src/domain/UBGraphicsMediaItem.h
View file @
1a799632
...
...
@@ -112,7 +112,6 @@ protected:
virtual
QVariant
itemChange
(
GraphicsItemChange
change
,
const
QVariant
&
value
);
virtual
void
mousePressEvent
(
QGraphicsSceneMouseEvent
*
event
);
virtual
void
mouseMoveEvent
(
QGraphicsSceneMouseEvent
*
event
);
virtual
void
clearSource
();
Phonon
::
MediaObject
*
mMediaObject
;
...
...
src/domain/UBGraphicsPDFItem.cpp
View file @
1a799632
...
...
@@ -28,21 +28,20 @@ UBGraphicsPDFItem::UBGraphicsPDFItem(PDFRenderer *renderer, int pageNumber, QGra
{
setData
(
UBGraphicsItemData
::
ItemLayerType
,
UBItemLayerType
::
Object
);
//deprecated
setData
(
UBGraphicsItemData
::
itemLayerType
,
QVariant
(
itemLayerType
::
BackgroundItem
));
//Necessary to set if we want z value to be assigned correctly
mDelegate
=
new
UBGraphicsItemDelegate
(
this
,
0
,
true
,
false
,
false
);
mDelegate
->
init
();
setDelegate
(
new
UBGraphicsItemDelegate
(
this
,
0
,
true
,
false
,
false
));
Delegate
()
->
init
();
}
UBGraphicsPDFItem
::~
UBGraphicsPDFItem
()
{
if
(
mDelegate
)
delete
mDelegate
;
}
QVariant
UBGraphicsPDFItem
::
itemChange
(
GraphicsItemChange
change
,
const
QVariant
&
value
)
{
QVariant
newValue
=
mDelegate
->
itemChange
(
change
,
value
);
QVariant
newValue
=
Delegate
()
->
itemChange
(
change
,
value
);
return
GraphicsPDFItem
::
itemChange
(
change
,
newValue
);
}
...
...
@@ -54,7 +53,7 @@ void UBGraphicsPDFItem::setUuid(const QUuid &pUuid)
void
UBGraphicsPDFItem
::
mousePressEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
->
mousePressEvent
(
event
))
if
(
Delegate
()
->
mousePressEvent
(
event
))
{
// NOOP
}
...
...
@@ -67,7 +66,7 @@ void UBGraphicsPDFItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
void
UBGraphicsPDFItem
::
mouseMoveEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
->
mouseMoveEvent
(
event
))
if
(
Delegate
()
->
mouseMoveEvent
(
event
))
{
// NOOP
}
...
...
@@ -80,7 +79,7 @@ void UBGraphicsPDFItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
void
UBGraphicsPDFItem
::
mouseReleaseEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
mDelegate
->
mouseReleaseEvent
(
event
);
Delegate
()
->
mouseReleaseEvent
(
event
);
GraphicsPDFItem
::
mouseReleaseEvent
(
event
);
}
...
...
@@ -131,13 +130,6 @@ UBGraphicsScene* UBGraphicsPDFItem::scene()
}
void
UBGraphicsPDFItem
::
remove
()
{
if
(
mDelegate
)
mDelegate
->
remove
(
true
);
}
UBGraphicsPixmapItem
*
UBGraphicsPDFItem
::
toPixmapItem
()
const
{
QPixmap
pixmap
(
mRenderer
->
pageSizeF
(
mPageNumber
).
toSize
());
...
...
@@ -155,3 +147,5 @@ UBGraphicsPixmapItem* UBGraphicsPDFItem::toPixmapItem() const
return
pixmapItem
;
}
src/domain/UBGraphicsPDFItem.h
View file @
1a799632
...
...
@@ -47,10 +47,7 @@ class UBGraphicsPDFItem: public GraphicsPDFItem, public UBItem, public UBGraphic
virtual
UBGraphicsScene
*
scene
();
virtual
void
remove
();
virtual
UBGraphicsPixmapItem
*
toPixmapItem
()
const
;
virtual
UBGraphicsItemDelegate
*
Delegate
()
const
{
return
mDelegate
;}
virtual
void
clearSource
(){;}
virtual
void
setUuid
(
const
QUuid
&
pUuid
);
...
...
@@ -63,7 +60,6 @@ class UBGraphicsPDFItem: public GraphicsPDFItem, public UBItem, public UBGraphic
virtual
QVariant
itemChange
(
GraphicsItemChange
change
,
const
QVariant
&
value
);
// UBGraphicsItemDelegate* mDelegate;
};
#endif
/* UBGRAPHICSPDFITEM_H_ */
src/domain/UBGraphicsPixmapItem.cpp
View file @
1a799632
...
...
@@ -28,10 +28,10 @@
UBGraphicsPixmapItem
::
UBGraphicsPixmapItem
(
QGraphicsItem
*
parent
)
:
QGraphicsPixmapItem
(
parent
)
{
mDelegate
=
new
UBGraphicsItemDelegate
(
this
,
0
,
true
);
mDelegate
->
init
();
mDelegate
->
setFlippable
(
true
);
mDelegate
->
setRotatable
(
true
);
setDelegate
(
new
UBGraphicsItemDelegate
(
this
,
0
,
true
)
);
Delegate
()
->
init
();
Delegate
()
->
setFlippable
(
true
);
Delegate
()
->
setRotatable
(
true
);
setData
(
UBGraphicsItemData
::
ItemLayerType
,
UBItemLayerType
::
Object
);
setTransformationMode
(
Qt
::
SmoothTransformation
);
...
...
@@ -44,13 +44,11 @@ UBGraphicsPixmapItem::UBGraphicsPixmapItem(QGraphicsItem* parent)
UBGraphicsPixmapItem
::~
UBGraphicsPixmapItem
()
{
if
(
mDelegate
)
delete
mDelegate
;
}
QVariant
UBGraphicsPixmapItem
::
itemChange
(
GraphicsItemChange
change
,
const
QVariant
&
value
)
{
QVariant
newValue
=
mDelegate
->
itemChange
(
change
,
value
);
QVariant
newValue
=
Delegate
()
->
itemChange
(
change
,
value
);
return
QGraphicsPixmapItem
::
itemChange
(
change
,
newValue
);
}
...
...
@@ -64,14 +62,14 @@ void UBGraphicsPixmapItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
QMimeData
*
pMime
=
new
QMimeData
();
pMime
->
setImageData
(
pixmap
().
toImage
());
mDelegate
->
setMimeData
(
pMime
);
Delegate
()
->
setMimeData
(
pMime
);
qreal
k
=
(
qreal
)
pixmap
().
width
()
/
100.0
;
QSize
newSize
((
int
)(
pixmap
().
width
()
/
k
),
(
int
)(
pixmap
().
height
()
/
k
));
mDelegate
->
setDragPixmap
(
pixmap
().
scaled
(
newSize
,
Qt
::
IgnoreAspectRatio
,
Qt
::
SmoothTransformation
));
Delegate
()
->
setDragPixmap
(
pixmap
().
scaled
(
newSize
,
Qt
::
IgnoreAspectRatio
,
Qt
::
SmoothTransformation
));
if
(
mDelegate
->
mousePressEvent
(
event
))
if
(
Delegate
()
->
mousePressEvent
(
event
))
{
//NOOP
}
...
...
@@ -83,7 +81,7 @@ void UBGraphicsPixmapItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
void
UBGraphicsPixmapItem
::
mouseMoveEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
->
mouseMoveEvent
(
event
))
if
(
Delegate
()
->
mouseMoveEvent
(
event
))
{
// NOOP;
}
...
...
@@ -95,7 +93,7 @@ void UBGraphicsPixmapItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
void
UBGraphicsPixmapItem
::
mouseReleaseEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
mDelegate
->
mouseReleaseEvent
(
event
);
Delegate
()
->
mouseReleaseEvent
(
event
);
QGraphicsPixmapItem
::
mouseReleaseEvent
(
event
);
}
...
...
@@ -145,13 +143,6 @@ UBGraphicsScene* UBGraphicsPixmapItem::scene()
}
void
UBGraphicsPixmapItem
::
remove
()
{
if
(
mDelegate
)
mDelegate
->
remove
(
true
);
}
void
UBGraphicsPixmapItem
::
setOpacity
(
qreal
op
)
{
QGraphicsPixmapItem
::
setOpacity
(
op
);
...
...
src/domain/UBGraphicsPixmapItem.h
View file @
1a799632
...
...
@@ -44,14 +44,11 @@ class UBGraphicsPixmapItem : public QObject, public QGraphicsPixmapItem, public
virtual
UBGraphicsScene
*
scene
();
virtual
void
remove
();
Q_PROPERTY
(
qreal
opacity
READ
opacity
WRITE
setOpacity
)
void
setOpacity
(
qreal
op
);
qreal
opacity
()
const
;
virtual
UBGraphicsItemDelegate
*
Delegate
()
const
{
return
mDelegate
;}
virtual
void
clearSource
(){;}
virtual
void
setUuid
(
const
QUuid
&
pUuid
);
...
...
src/domain/UBGraphicsProxyWidget.cpp
View file @
1a799632
...
...
@@ -29,8 +29,9 @@ UBGraphicsProxyWidget::UBGraphicsProxyWidget(QGraphicsItem* parent)
{
setData
(
UBGraphicsItemData
::
ItemLayerType
,
UBItemLayerType
::
Object
);
mDelegate
=
new
UBGraphicsItemDelegate
(
this
,
0
,
true
,
false
,
false
);
mDelegate
->
init
();
//UBGraphicsItemDelegate* delegate = new UBGraphicsItemDelegate(this,0, true, false, false);
//delegate->init();
//setDelegate(delegate);
setFlag
(
QGraphicsItem
::
ItemSendsGeometryChanges
,
true
);
...
...
@@ -40,8 +41,6 @@ UBGraphicsProxyWidget::UBGraphicsProxyWidget(QGraphicsItem* parent)
UBGraphicsProxyWidget
::~
UBGraphicsProxyWidget
()
{
if
(
mDelegate
)
delete
mDelegate
;
}
...
...
@@ -67,7 +66,7 @@ QVariant UBGraphicsProxyWidget::itemChange(GraphicsItemChange change, const QVar
}
}
QVariant
newValue
=
mDelegate
->
itemChange
(
change
,
value
);
QVariant
newValue
=
Delegate
()
->
itemChange
(
change
,
value
);
return
QGraphicsProxyWidget
::
itemChange
(
change
,
newValue
);
}
...
...
@@ -79,7 +78,7 @@ void UBGraphicsProxyWidget::setUuid(const QUuid &pUuid)
void
UBGraphicsProxyWidget
::
mousePressEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
->
mousePressEvent
(
event
))
if
(
Delegate
()
->
mousePressEvent
(
event
))
{
//NOOP
}
...
...
@@ -95,7 +94,7 @@ void UBGraphicsProxyWidget::mousePressEvent(QGraphicsSceneMouseEvent *event)
void
UBGraphicsProxyWidget
::
mouseMoveEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
->
mouseMoveEvent
(
event
))
if
(
Delegate
()
->
mouseMoveEvent
(
event
))
{
// NOOP;
}
...
...
@@ -108,13 +107,13 @@ void UBGraphicsProxyWidget::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
void
UBGraphicsProxyWidget
::
mouseReleaseEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
mDelegate
->
mouseReleaseEvent
(
event
);
Delegate
()
->
mouseReleaseEvent
(
event
);
QGraphicsProxyWidget
::
mouseReleaseEvent
(
event
);
}
void
UBGraphicsProxyWidget
::
wheelEvent
(
QGraphicsSceneWheelEvent
*
event
)
{
if
(
mDelegate
->
weelEvent
(
event
)
)
if
(
Delegate
()
->
weelEvent
(
event
)
)
{
QGraphicsProxyWidget
::
wheelEvent
(
event
);
event
->
accept
();
...
...
@@ -132,17 +131,6 @@ void UBGraphicsProxyWidget::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
// NOOP
}
void
UBGraphicsProxyWidget
::
setDelegate
(
UBGraphicsItemDelegate
*
pDelegate
)
{
if
(
mDelegate
)
{
delete
mDelegate
;
}
mDelegate
=
pDelegate
;
}
void
UBGraphicsProxyWidget
::
resize
(
qreal
w
,
qreal
h
)
{
UBGraphicsProxyWidget
::
resize
(
QSizeF
(
w
,
h
));
...
...
@@ -177,8 +165,8 @@ void UBGraphicsProxyWidget::resize(const QSizeF & pSize)
QGraphicsProxyWidget
::
resize
(
size
.
width
(),
size
.
height
());
if
(
widget
())
widget
()
->
resize
(
size
.
width
(),
size
.
height
());
if
(
mDelegate
)
mDelegate
->
positionHandles
();
if
(
Delegate
()
)
Delegate
()
->
positionHandles
();
if
(
scene
())
scene
()
->
setModified
(
true
);
}
...
...
@@ -197,8 +185,3 @@ UBGraphicsScene* UBGraphicsProxyWidget::scene()
}
void
UBGraphicsProxyWidget
::
remove
()
{
if
(
mDelegate
)
mDelegate
->
remove
(
true
);
}
src/domain/UBGraphicsProxyWidget.h
View file @
1a799632
...
...
@@ -27,7 +27,6 @@ class UBGraphicsItemDelegate;
class
UBGraphicsProxyWidget
:
public
QGraphicsProxyWidget
,
public
UBItem
,
public
UBResizableGraphicsItem
,
public
UBGraphicsItem
{
public
:
UBGraphicsProxyWidget
(
QGraphicsItem
*
parent
=
0
);
virtual
~
UBGraphicsProxyWidget
();
virtual
void
resize
(
qreal
w
,
qreal
h
);
...
...
@@ -35,18 +34,13 @@ class UBGraphicsProxyWidget: public QGraphicsProxyWidget, public UBItem, public
virtual
QSizeF
size
()
const
;
void
setDelegate
(
UBGraphicsItemDelegate
*
pDelegate
);
virtual
UBGraphicsScene
*
scene
();
virtual
void
remove
();
virtual
UBGraphicsItemDelegate
*
Delegate
()
const
{
return
mDelegate
;}
virtual
void
clearSource
(){;}
virtual
void
setUuid
(
const
QUuid
&
pUuid
);
protected
:
UBGraphicsProxyWidget
(
QGraphicsItem
*
parent
=
0
);
virtual
void
mousePressEvent
(
QGraphicsSceneMouseEvent
*
event
);
virtual
void
mouseMoveEvent
(
QGraphicsSceneMouseEvent
*
event
);
...
...
src/domain/UBGraphicsScene.cpp
View file @
1a799632
...
...
@@ -1067,6 +1067,7 @@ UBItem* UBGraphicsScene::deepCopy() const
void
UBGraphicsScene
::
clearContent
(
clearCase
pCase
)
{
QSet
<
QGraphicsItem
*>
removedItems
;
UBGraphicsItemUndoCommand
::
GroupDataTable
groupsMap
;
switch
(
pCase
)
{
case
clearBackground
:
...
...
@@ -1106,8 +1107,14 @@ void UBGraphicsScene::clearContent(clearCase pCase)
if
(
shouldDelete
)
{
if
(
itemGroup
)
{
itemGroup
->
removeFromGroup
(
item
);
groupsMap
.
insert
(
itemGroup
,
UBGraphicsItem
::
getOwnUuid
(
item
));
if
(
itemGroup
->
childItems
().
count
()
==
1
)
{
itemGroup
->
destroy
();
groupsMap
.
insert
(
itemGroup
,
UBGraphicsItem
::
getOwnUuid
(
itemGroup
->
childItems
().
first
()));
QGraphicsItem
*
lastItem
=
itemGroup
->
childItems
().
first
();
bool
isSelected
=
itemGroup
->
isSelected
();
itemGroup
->
destroy
(
false
);
lastItem
->
setSelected
(
isSelected
);
}
itemGroup
->
Delegate
()
->
update
();
}
...
...
@@ -1123,7 +1130,8 @@ void UBGraphicsScene::clearContent(clearCase pCase)
update
(
sceneRect
());
if
(
enableUndoRedoStack
)
{
//should be deleted after scene own undo stack implemented
UBGraphicsItemUndoCommand
*
uc
=
new
UBGraphicsItemUndoCommand
(
this
,
removedItems
,
QSet
<
QGraphicsItem
*>
());
UBGraphicsItemUndoCommand
*
uc
=
new
UBGraphicsItemUndoCommand
(
this
,
removedItems
,
QSet
<
QGraphicsItem
*>
(),
groupsMap
);
UBApplication
::
undoStack
->
push
(
uc
);
}
...
...
@@ -1442,6 +1450,7 @@ UBGraphicsTextItem* UBGraphicsScene::textForObjectName(const QString& pString, c
textItem
->
setObjectName
(
objectName
);
QSizeF
size
=
textItem
->
size
();
textItem
->
setPos
(
QPointF
(
-
size
.
width
()
/
2.0
,
-
size
.
height
()
/
2.0
));
textItem
->
setData
(
UBGraphicsItemData
::
ItemEditable
,
QVariant
(
false
));
}
textItem
->
setPlainText
(
pString
);
...
...
@@ -1571,8 +1580,9 @@ void UBGraphicsScene::removeItem(QGraphicsItem* item)
void
UBGraphicsScene
::
removeItems
(
const
QSet
<
QGraphicsItem
*>&
items
)
{
foreach
(
QGraphicsItem
*
item
,
items
)
foreach
(
QGraphicsItem
*
item
,
items
)
{
UBCoreGraphicsScene
::
removeItem
(
item
);
}
mItemCount
-=
items
.
size
();
...
...
@@ -1665,7 +1675,7 @@ QRectF UBGraphicsScene::normalizedSceneRect(qreal ratio)
return
normalizedRect
;
}
QGraphicsItem
*
UBGraphicsScene
::
item
By
Uuid
(
QUuid
uuid
)
QGraphicsItem
*
UBGraphicsScene
::
item
For
Uuid
(
QUuid
uuid
)
{
QGraphicsItem
*
result
=
0
;
...
...
@@ -2041,8 +2051,8 @@ void UBGraphicsScene::drawItems (QPainter * painter, int numItems,
{
if
(
!
mTools
.
contains
(
rootItem
(
items
[
i
])))
{
UBGraphicsPDFItem
*
pdfItem
=
qgraphicsitem_cast
<
UBGraphicsPDFItem
*>
(
items
[
i
])
;
if
(
!
p
dfItem
||
mRenderingContext
==
NonScreen
)
bool
isPdfItem
=
qgraphicsitem_cast
<
UBGraphicsPDFItem
*>
(
items
[
i
])
!=
NULL
;
if
(
!
isP
dfItem
||
mRenderingContext
==
NonScreen
)
{
itemsFiltered
[
count
]
=
items
[
i
];
optionsFiltered
[
count
]
=
options
[
i
];
...
...
src/domain/UBGraphicsScene.h
View file @
1a799632
...
...
@@ -174,7 +174,7 @@ class UBGraphicsScene: public UBCoreGraphicsScene, public UBItem
QRectF
normalizedSceneRect
(
qreal
ratio
=
-
1
.
0
);
QGraphicsItem
*
item
By
Uuid
(
QUuid
uuid
);
QGraphicsItem
*
item
For
Uuid
(
QUuid
uuid
);
void
moveTo
(
const
QPointF
&
pPoint
);
void
drawLineTo
(
const
QPointF
&
pEndPoint
,
const
qreal
&
pWidth
,
bool
bLineStyle
);
...
...
src/domain/UBGraphicsStrokesGroup.cpp
View file @
1a799632
...
...
@@ -4,12 +4,14 @@
#include "core/memcheck.h"
UBGraphicsStrokesGroup
::
UBGraphicsStrokesGroup
(
QGraphicsItem
*
parent
)
:
QGraphicsItemGroup
(
parent
)
UBGraphicsStrokesGroup
::
UBGraphicsStrokesGroup
(
QGraphicsItem
*
parent
)
:
QGraphicsItemGroup
(
parent
),
UBGraphicsItem
()
{
mDelegate
=
new
UBGraphicsItemDelegate
(
this
,
0
,
true
,
true
,
false
);
mDelegate
->
init
();
mDelegate
->
setFlippable
(
true
);
mDelegate
->
setRotatable
(
true
);
setDelegate
(
new
UBGraphicsItemDelegate
(
this
,
0
,
true
,
true
,
false
));
Delegate
()
->
init
();
Delegate
()
->
setFlippable
(
true
);
Delegate
()
->
setRotatable
(
true
);
setData
(
UBGraphicsItemData
::
ItemLayerType
,
UBItemLayerType
::
Object
);
...
...
@@ -22,9 +24,6 @@ UBGraphicsStrokesGroup::UBGraphicsStrokesGroup(QGraphicsItem *parent):QGraphicsI
UBGraphicsStrokesGroup
::~
UBGraphicsStrokesGroup
()
{
if
(
mDelegate
){
delete
mDelegate
;
}
}
void
UBGraphicsStrokesGroup
::
setUuid
(
const
QUuid
&
pUuid
)
...
...
@@ -83,7 +82,7 @@ QColor UBGraphicsStrokesGroup::color(colorType pColorType) const
void
UBGraphicsStrokesGroup
::
mousePressEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
->
mousePressEvent
(
event
))
if
(
Delegate
()
->
mousePressEvent
(
event
))
{
//NOOP
}
...
...
@@ -95,7 +94,7 @@ void UBGraphicsStrokesGroup::mousePressEvent(QGraphicsSceneMouseEvent *event)
void
UBGraphicsStrokesGroup
::
mouseMoveEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
->
mouseMoveEvent
(
event
))
if
(
Delegate
()
->
mouseMoveEvent
(
event
))
{
// NOOP;
}
...
...
@@ -107,7 +106,7 @@ void UBGraphicsStrokesGroup::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
void
UBGraphicsStrokesGroup
::
mouseReleaseEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
mDelegate
->
mouseReleaseEvent
(
event
);
Delegate
()
->
mouseReleaseEvent
(
event
);
QGraphicsItemGroup
::
mouseReleaseEvent
(
event
);
}
...
...
@@ -150,12 +149,6 @@ void UBGraphicsStrokesGroup::copyItemParameters(UBItem *copy) const
}
}
void
UBGraphicsStrokesGroup
::
remove
()
{
if
(
mDelegate
)
mDelegate
->
remove
(
true
);
}
void
UBGraphicsStrokesGroup
::
paint
(
QPainter
*
painter
,
const
QStyleOptionGraphicsItem
*
option
,
QWidget
*
widget
)
{
// Never draw the rubber band, we draw our custom selection with the DelegateFrame
...
...
@@ -167,7 +160,7 @@ void UBGraphicsStrokesGroup::paint(QPainter *painter, const QStyleOptionGraphics
QVariant
UBGraphicsStrokesGroup
::
itemChange
(
GraphicsItemChange
change
,
const
QVariant
&
value
)
{
QVariant
newValue
=
mDelegate
->
itemChange
(
change
,
value
);
QVariant
newValue
=
Delegate
()
->
itemChange
(
change
,
value
);
return
QGraphicsItemGroup
::
itemChange
(
change
,
newValue
);
}
...
...
src/domain/UBGraphicsStrokesGroup.h
View file @
1a799632
...
...
@@ -21,8 +21,6 @@ public:
~
UBGraphicsStrokesGroup
();
virtual
UBItem
*
deepCopy
()
const
;
virtual
void
copyItemParameters
(
UBItem
*
copy
)
const
;
virtual
void
remove
();
virtual
UBGraphicsItemDelegate
*
Delegate
()
const
{
return
mDelegate
;}
enum
{
Type
=
UBGraphicsItemType
::
StrokeItemType
};
virtual
int
type
()
const
{
...
...
src/domain/UBGraphicsSvgItem.cpp
View file @
1a799632
...
...
@@ -53,10 +53,11 @@ void UBGraphicsSvgItem::init()
{
setData
(
UBGraphicsItemData
::
ItemLayerType
,
UBItemLayerType
::
Object
);
mDelegate
=
new
UBGraphicsItemDelegate
(
this
,
0
,
true
,
true
,
false
);
mDelegate
->
init
();
mDelegate
->
setFlippable
(
true
);
mDelegate
->
setRotatable
(
true
);
setDelegate
(
new
UBGraphicsItemDelegate
(
this
,
0
,
true
,
true
,
false
));
Delegate
()
->
init
();
Delegate
()
->
setFlippable
(
true
);
Delegate
()
->
setRotatable
(
true
);
setFlag
(
QGraphicsItem
::
ItemSendsGeometryChanges
,
true
);
...
...
@@ -71,8 +72,6 @@ void UBGraphicsSvgItem::init()
UBGraphicsSvgItem
::~
UBGraphicsSvgItem
()
{
if
(
mDelegate
)
delete
mDelegate
;
}
...
...
@@ -84,14 +83,14 @@ QByteArray UBGraphicsSvgItem::fileData() const
QVariant
UBGraphicsSvgItem
::
itemChange
(
GraphicsItemChange
change
,
const
QVariant
&
value
)
{
QVariant
newValue
=
mDelegate
->
itemChange
(
change
,
value
);
QVariant
newValue
=
Delegate
()
->
itemChange
(
change
,
value
);
return
QGraphicsSvgItem
::
itemChange
(
change
,
newValue
);
}
void
UBGraphicsSvgItem
::
mousePressEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
->
mousePressEvent
(
event
))
if
(
Delegate
()
->
mousePressEvent
(
event
))
{
//NOOP
}
...
...
@@ -104,7 +103,7 @@ void UBGraphicsSvgItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
void
UBGraphicsSvgItem
::
mouseMoveEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
->
mouseMoveEvent
(
event
))
if
(
Delegate
()
->
mouseMoveEvent
(
event
))
{
// NOOP;
}
...
...
@@ -117,7 +116,7 @@ void UBGraphicsSvgItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
void
UBGraphicsSvgItem
::
mouseReleaseEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
mDelegate
->
mouseReleaseEvent
(
event
);
Delegate
()
->
mouseReleaseEvent
(
event
);
QGraphicsSvgItem
::
mouseReleaseEvent
(
event
);
}
...
...
@@ -182,12 +181,6 @@ UBGraphicsScene* UBGraphicsSvgItem::scene()
}
void
UBGraphicsSvgItem
::
remove
()
{
if
(
mDelegate
)
mDelegate
->
remove
(
true
);
}
UBGraphicsPixmapItem
*
UBGraphicsSvgItem
::
toPixmapItem
()
const
{
...
...
src/domain/UBGraphicsSvgItem.h
View file @
1a799632
...
...
@@ -58,10 +58,7 @@ class UBGraphicsSvgItem: public QGraphicsSvgItem, public UBItem, public UBGraphi
virtual
UBGraphicsScene
*
scene
();
virtual
void
remove
();
virtual
UBGraphicsPixmapItem
*
toPixmapItem
()
const
;
virtual
UBGraphicsItemDelegate
*
Delegate
()
const
{
return
mDelegate
;}
virtual
void
setUuid
(
const
QUuid
&
pUuid
);
...
...
src/domain/UBGraphicsTextItem.cpp
View file @
1a799632
...
...
@@ -30,17 +30,18 @@
QColor
UBGraphicsTextItem
::
lastUsedTextColor
;
UBGraphicsTextItem
::
UBGraphicsTextItem
(
QGraphicsItem
*
parent
)
:
QGraphicsTextItem
(
parent
)
UBGraphicsTextItem
::
UBGraphicsTextItem
(
QGraphicsItem
*
parent
)
:
QGraphicsTextItem
(
parent
)
,
UBGraphicsItem
()
,
mMultiClickState
(
0
)
,
mLastMousePressTime
(
QTime
::
currentTime
())
{
mDelegate
=
new
UBGraphicsTextItemDelegate
(
this
,
0
);
mDelegate
->
init
();
setDelegate
(
new
UBGraphicsTextItemDelegate
(
this
,
0
)
);
Delegate
()
->
init
();
mDelegate
->
frame
()
->
setOperationMode
(
UBGraphicsDelegateFrame
::
Resizing
);
mDelegate
->
setFlippable
(
false
);
mDelegate
->
setRotatable
(
true
);
Delegate
()
->
frame
()
->
setOperationMode
(
UBGraphicsDelegateFrame
::
Resizing
);
Delegate
()
->
setFlippable
(
false
);
Delegate
()
->
setRotatable
(
true
);
mTypeTextHereLabel
=
tr
(
"<Type Text Here>"
);
...
...
@@ -58,7 +59,7 @@ UBGraphicsTextItem::UBGraphicsTextItem(QGraphicsItem * parent)
setUuid
(
QUuid
::
createUuid
());
connect
(
document
(),
SIGNAL
(
contentsChanged
()),
mDelegate
,
SLOT
(
contentsChanged
()));
connect
(
document
(),
SIGNAL
(
contentsChanged
()),
Delegate
()
,
SLOT
(
contentsChanged
()));
connect
(
document
(),
SIGNAL
(
undoCommandAdded
()),
this
,
SLOT
(
undoCommandAdded
()));
connect
(
document
()
->
documentLayout
(),
SIGNAL
(
documentSizeChanged
(
const
QSizeF
&
)),
...
...
@@ -68,18 +69,14 @@ UBGraphicsTextItem::UBGraphicsTextItem(QGraphicsItem * parent)
UBGraphicsTextItem
::~
UBGraphicsTextItem
()
{
if
(
mDelegate
)
{
delete
mDelegate
;
}
}
QVariant
UBGraphicsTextItem
::
itemChange
(
GraphicsItemChange
change
,
const
QVariant
&
value
)
{
QVariant
newValue
=
value
;
if
(
mDelegate
)
newValue
=
mDelegate
->
itemChange
(
change
,
value
);
if
(
Delegate
()
)
newValue
=
Delegate
()
->
itemChange
(
change
,
value
);
return
QGraphicsTextItem
::
itemChange
(
change
,
newValue
);
}
...
...
@@ -95,10 +92,10 @@ void UBGraphicsTextItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
return
;
}
if
(
mDelegate
)
if
(
Delegate
()
)
{
mDelegate
->
mousePressEvent
(
event
);
if
(
mDelegate
&&
parentItem
()
&&
UBGraphicsGroupContainerItem
::
Type
==
parentItem
()
->
type
())
Delegate
()
->
mousePressEvent
(
event
);
if
(
Delegate
()
&&
parentItem
()
&&
UBGraphicsGroupContainerItem
::
Type
==
parentItem
()
->
type
())
{
UBGraphicsGroupContainerItem
*
group
=
qgraphicsitem_cast
<
UBGraphicsGroupContainerItem
*>
(
parentItem
());
if
(
group
)
...
...
@@ -110,13 +107,13 @@ void UBGraphicsTextItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
}
group
->
setCurrentItem
(
this
);
this
->
setSelected
(
true
);
mDelegate
->
positionHandles
();
Delegate
()
->
positionHandles
();
}
}
else
{
mDelegate
->
getToolBarItem
()
->
show
();
Delegate
()
->
getToolBarItem
()
->
show
();
}
}
...
...
@@ -165,7 +162,7 @@ void UBGraphicsTextItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
void
UBGraphicsTextItem
::
mouseMoveEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
!
mDelegate
||
!
mDelegate
->
mouseMoveEvent
(
event
))
if
(
!
Delegate
()
||
!
Delegate
()
->
mouseMoveEvent
(
event
))
{
QGraphicsTextItem
::
mouseMoveEvent
(
event
);
}
...
...
@@ -184,8 +181,8 @@ void UBGraphicsTextItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
if
(
mMultiClickState
==
1
)
{
if
(
mDelegate
)
mDelegate
->
mouseReleaseEvent
(
event
);
if
(
Delegate
()
)
Delegate
()
->
mouseReleaseEvent
(
event
);
QGraphicsTextItem
::
mouseReleaseEvent
(
event
);
}
...
...
@@ -324,8 +321,8 @@ void UBGraphicsTextItem::resize(qreal w, qreal h)
setTextWidth
(
w
);
setTextHeight
(
h
);
if
(
mDelegate
)
mDelegate
->
positionHandles
();
if
(
Delegate
()
)
Delegate
()
->
positionHandles
();
}
...
...
@@ -347,12 +344,6 @@ void UBGraphicsTextItem::undoCommandAdded()
}
void
UBGraphicsTextItem
::
remove
()
{
if
(
mDelegate
)
mDelegate
->
remove
(
true
);
}
void
UBGraphicsTextItem
::
documentSizeChanged
(
const
QSizeF
&
newSize
)
{
resize
(
newSize
.
width
(),
newSize
.
height
());
...
...
src/domain/UBGraphicsTextItem.h
View file @
1a799632
...
...
@@ -58,8 +58,6 @@ class UBGraphicsTextItem : public QGraphicsTextItem, public UBItem, public UBRes
virtual
QSizeF
size
()
const
;
virtual
void
remove
();
static
QColor
lastUsedTextColor
;
QColor
colorOnDarkBackground
()
const
...
...
@@ -81,7 +79,6 @@ class UBGraphicsTextItem : public QGraphicsTextItem, public UBItem, public UBRes
{
mColorOnLightBackground
=
pColorOnLightBackground
;
}
virtual
UBGraphicsItemDelegate
*
Delegate
()
const
{
return
mDelegate
;}
virtual
void
clearSource
(){;}
virtual
void
setUuid
(
const
QUuid
&
pUuid
);
...
...
src/domain/UBGraphicsWebView.cpp
deleted
100644 → 0
View file @
304591d1
/*
* 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 2 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 <QtWebKit>
#include "UBGraphicsWebView.h"
#include "UBGraphicsScene.h"
#include "UBGraphicsItemDelegate.h"
#include "UBGraphicsDelegateFrame.h"
#include "core/memcheck.h"
UBGraphicsWebView
::
UBGraphicsWebView
(
QGraphicsItem
*
parent
)
:
QGraphicsWebView
(
parent
)
{
setData
(
UBGraphicsItemData
::
ItemLayerType
,
UBItemLayerType
::
Object
);
mDelegate
=
new
UBGraphicsItemDelegate
(
this
,
0
,
true
);
mDelegate
->
init
();
setFlag
(
QGraphicsItem
::
ItemSendsGeometryChanges
,
true
);
QGraphicsWebView
::
setAcceptHoverEvents
(
true
);
}
UBGraphicsWebView
::~
UBGraphicsWebView
()
{
if
(
mDelegate
)
delete
mDelegate
;
}
QVariant
UBGraphicsWebView
::
itemChange
(
GraphicsItemChange
change
,
const
QVariant
&
value
)
{
if
((
change
==
QGraphicsItem
::
ItemSelectedHasChanged
)
&&
scene
())
{
if
(
isSelected
())
scene
()
->
setActiveWindow
(
this
);
else
if
(
scene
()
->
activeWindow
()
==
this
)
scene
()
->
setActiveWindow
(
0
);
}
QVariant
newValue
=
mDelegate
->
itemChange
(
change
,
value
);
return
QGraphicsWebView
::
itemChange
(
change
,
newValue
);
}
void
UBGraphicsWebView
::
setUuid
(
const
QUuid
&
pUuid
)
{
UBItem
::
setUuid
(
pUuid
);
setData
(
UBGraphicsItemData
::
ItemUuid
,
QVariant
(
pUuid
));
//store item uuid inside the QGraphicsItem to fast operations with Items on the scene
}
void
UBGraphicsWebView
::
mousePressEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
!
mDelegate
->
mousePressEvent
(
event
))
setSelected
(
true
);
/* forcing selection */
QGraphicsWebView
::
mousePressEvent
(
event
);
}
void
UBGraphicsWebView
::
mouseMoveEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
!
mDelegate
->
mouseMoveEvent
(
event
))
QGraphicsWebView
::
mouseMoveEvent
(
event
);
}
void
UBGraphicsWebView
::
mouseReleaseEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
mDelegate
->
mouseReleaseEvent
(
event
);
QGraphicsWebView
::
mouseReleaseEvent
(
event
);
}
void
UBGraphicsWebView
::
wheelEvent
(
QGraphicsSceneWheelEvent
*
event
)
{
if
(
mDelegate
->
weelEvent
(
event
))
{
QGraphicsWebView
::
wheelEvent
(
event
);
event
->
accept
();
}
}
void
UBGraphicsWebView
::
hoverEnterEvent
(
QGraphicsSceneHoverEvent
*
event
)
{
Q_UNUSED
(
event
)
/* NOOP */
}
void
UBGraphicsWebView
::
hoverLeaveEvent
(
QGraphicsSceneHoverEvent
*
event
)
{
Q_UNUSED
(
event
)
/* NOOP */
}
void
UBGraphicsWebView
::
setDelegate
(
UBGraphicsItemDelegate
*
pDelegate
)
{
if
(
mDelegate
)
delete
mDelegate
;
mDelegate
=
pDelegate
;
}
void
UBGraphicsWebView
::
resize
(
qreal
w
,
qreal
h
)
{
UBGraphicsWebView
::
resize
(
QSizeF
(
w
,
h
));
}
void
UBGraphicsWebView
::
resize
(
const
QSizeF
&
pSize
)
{
if
(
pSize
!=
size
())
{
QGraphicsWebView
::
setMaximumSize
(
pSize
.
width
(),
pSize
.
height
());
QGraphicsWebView
::
resize
(
pSize
.
width
(),
pSize
.
height
());
if
(
mDelegate
)
mDelegate
->
positionHandles
();
if
(
scene
())
scene
()
->
setModified
(
true
);
}
}
QSizeF
UBGraphicsWebView
::
size
()
const
{
return
QGraphicsWebView
::
size
();
}
UBGraphicsScene
*
UBGraphicsWebView
::
scene
()
{
return
static_cast
<
UBGraphicsScene
*>
(
QGraphicsItem
::
scene
());
}
void
UBGraphicsWebView
::
remove
()
{
if
(
mDelegate
)
mDelegate
->
remove
(
true
);
}
src/domain/UBGraphicsWebView.h
deleted
100644 → 0
View file @
304591d1
/*
* 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 2 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 UBGRAPHICSWEBVIEW_H_
#define UBGRAPHICSWEBVIEW_H_
#include <QtGui>
#include <QtWebKit>
#include "UBItem.h"
#include "UBResizableGraphicsItem.h"
class
UBGraphicsItemDelegate
;
class
UBGraphicsWebView
:
public
QGraphicsWebView
,
public
UBItem
,
public
UBResizableGraphicsItem
,
public
UBGraphicsItem
{
public
:
UBGraphicsWebView
(
QGraphicsItem
*
parent
=
0
);
virtual
~
UBGraphicsWebView
();
virtual
void
resize
(
qreal
w
,
qreal
h
);
virtual
void
resize
(
const
QSizeF
&
size
);
virtual
QSizeF
size
()
const
;
void
setDelegate
(
UBGraphicsItemDelegate
*
pDelegate
);
virtual
UBGraphicsScene
*
scene
();
virtual
void
remove
();
virtual
UBGraphicsItemDelegate
*
Delegate
()
const
{
return
mDelegate
;}
virtual
void
clearSource
(){;}
virtual
void
setUuid
(
const
QUuid
&
pUuid
);
protected
:
virtual
void
mousePressEvent
(
QGraphicsSceneMouseEvent
*
event
);
virtual
void
mouseMoveEvent
(
QGraphicsSceneMouseEvent
*
event
);
virtual
void
mouseReleaseEvent
(
QGraphicsSceneMouseEvent
*
event
);
virtual
void
wheelEvent
(
QGraphicsSceneWheelEvent
*
event
);
virtual
void
hoverEnterEvent
(
QGraphicsSceneHoverEvent
*
event
);
virtual
void
hoverLeaveEvent
(
QGraphicsSceneHoverEvent
*
event
);
virtual
QVariant
itemChange
(
GraphicsItemChange
change
,
const
QVariant
&
value
);
};
#endif
/* UBGRAPHICSWEBVIEW_H_ */
src/domain/UBGraphicsWidgetItem.cpp
View file @
1a799632
...
...
@@ -45,7 +45,7 @@ bool UBGraphicsWidgetItem::sInlineJavaScriptLoaded = false;
QStringList
UBGraphicsWidgetItem
::
sInlineJavaScripts
;
UBGraphicsWidgetItem
::
UBGraphicsWidgetItem
(
const
QUrl
&
pWidgetUrl
,
QGraphicsItem
*
parent
)
:
UB
GraphicsWebView
(
parent
)
:
Q
GraphicsWebView
(
parent
)
,
mInitialLoadDone
(
false
)
,
mIsFreezable
(
true
)
,
mIsResizable
(
false
)
...
...
@@ -58,7 +58,7 @@ UBGraphicsWidgetItem::UBGraphicsWidgetItem(const QUrl &pWidgetUrl, QGraphicsItem
,
mShouldMoveWidget
(
false
)
,
mUniboardAPI
(
0
)
{
setData
(
UBGraphicsItemData
::
i
temLayerType
,
QVariant
(
itemLayerType
::
ObjectItem
));
//Necessary to set if we want z value to be assigned correctly
setData
(
UBGraphicsItemData
::
I
temLayerType
,
QVariant
(
itemLayerType
::
ObjectItem
));
//Necessary to set if we want z value to be assigned correctly
QGraphicsWebView
::
setPage
(
new
UBWebPage
(
this
));
QGraphicsWebView
::
settings
()
->
setAttribute
(
QWebSettings
::
JavaEnabled
,
true
);
...
...
@@ -84,9 +84,11 @@ UBGraphicsWidgetItem::UBGraphicsWidgetItem(const QUrl &pWidgetUrl, QGraphicsItem
viewPalette
.
setBrush
(
QPalette
::
Window
,
QBrush
(
Qt
::
transparent
));
setPalette
(
viewPalette
);
UBGraphicsWidgetItemDelegate
*
delegate
=
new
UBGraphicsWidgetItemDelegate
(
this
);
delegate
->
init
();
setDelegate
(
delegate
);
setDelegate
(
new
UBGraphicsWidgetItemDelegate
(
this
));
Delegate
()
->
init
();
setFlag
(
QGraphicsItem
::
ItemSendsGeometryChanges
,
true
);
QGraphicsWebView
::
setAcceptHoverEvents
(
true
);
}
...
...
@@ -97,11 +99,11 @@ UBGraphicsWidgetItem::~UBGraphicsWidgetItem()
void
UBGraphicsWidgetItem
::
initialize
()
{
UBGraphicsWebView
::
setMinimumSize
(
nominalSize
());
setMinimumSize
(
nominalSize
());
setData
(
UBGraphicsItemData
::
itemLayerType
,
QVariant
(
itemLayerType
::
ObjectItem
));
// Necessary to set if we want z value to be assigned correctly
if
(
mDelegate
&&
mDelegate
->
frame
()
&&
resizable
())
mDelegate
->
frame
()
->
setOperationMode
(
UBGraphicsDelegateFrame
::
Resizing
);
if
(
Delegate
()
&&
Delegate
()
->
frame
()
&&
resizable
())
Delegate
()
->
frame
()
->
setOperationMode
(
UBGraphicsDelegateFrame
::
Resizing
);
QPalette
palette
=
page
()
->
palette
();
palette
.
setBrush
(
QPalette
::
Base
,
QBrush
(
Qt
::
transparent
));
...
...
@@ -260,17 +262,6 @@ void UBGraphicsWidgetItem::removeAllDatastoreEntries()
mDatastore
.
clear
();
}
UBGraphicsItemDelegate
*
UBGraphicsWidgetItem
::
Delegate
()
const
{
return
mDelegate
;
}
void
UBGraphicsWidgetItem
::
remove
()
{
if
(
mDelegate
)
mDelegate
->
remove
();
}
void
UBGraphicsWidgetItem
::
removeScript
()
{
if
(
page
()
&&
page
()
->
mainFrame
())
...
...
@@ -360,6 +351,8 @@ QPixmap UBGraphicsWidgetItem::takeSnapshot()
mIsTakingSnapshot
=
false
;
mSnapshot
=
pixmap
;
return
pixmap
;
}
...
...
@@ -502,7 +495,7 @@ bool UBGraphicsWidgetItem::event(QEvent *event)
else
if
(
event
->
type
()
==
QEvent
::
ShortcutOverride
)
event
->
accept
();
return
UB
GraphicsWebView
::
event
(
event
);
return
Q
GraphicsWebView
::
event
(
event
);
}
void
UBGraphicsWidgetItem
::
dropEvent
(
QGraphicsSceneDragDropEvent
*
event
)
...
...
@@ -513,7 +506,10 @@ void UBGraphicsWidgetItem::dropEvent(QGraphicsSceneDragDropEvent *event)
void
UBGraphicsWidgetItem
::
mousePressEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
UBGraphicsWebView
::
mousePressEvent
(
event
);
if
(
!
Delegate
()
->
mousePressEvent
(
event
))
setSelected
(
true
);
/* forcing selection */
QGraphicsWebView
::
mousePressEvent
(
event
);
// did webkit consume the mouse press ?
mShouldMoveWidget
=
!
event
->
isAccepted
()
&&
(
event
->
buttons
()
&
Qt
::
LeftButton
);
...
...
@@ -527,24 +523,19 @@ void UBGraphicsWidgetItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
{
mShouldMoveWidget
=
false
;
UBGraphicsWebView
::
mouseReleaseEvent
(
event
);
Delegate
()
->
mouseReleaseEvent
(
event
);
QGraphicsWebView
::
mouseReleaseEvent
(
event
);
}
void
UBGraphicsWidgetItem
::
hoverEnterEvent
(
QGraphicsSceneHoverEvent
*
event
)
{
sendJSEnterEvent
();
mDelegate
->
hoverEnterEvent
(
event
);
UBGraphicsWebView
::
hoverEnterEvent
(
event
);
Delegate
()
->
hoverEnterEvent
(
event
);
}
void
UBGraphicsWidgetItem
::
hoverLeaveEvent
(
QGraphicsSceneHoverEvent
*
event
)
{
sendJSLeaveEvent
();
mDelegate
->
hoverLeaveEvent
(
event
);
UBGraphicsWebView
::
hoverLeaveEvent
(
event
);
}
void
UBGraphicsWidgetItem
::
hoverMoveEvent
(
QGraphicsSceneHoverEvent
*
event
)
{
UBGraphicsWebView
::
hoverMoveEvent
(
event
);
Delegate
()
->
hoverLeaveEvent
(
event
);
}
void
UBGraphicsWidgetItem
::
sendJSEnterEvent
()
...
...
@@ -572,33 +563,40 @@ void UBGraphicsWidgetItem::injectInlineJavaScript()
void
UBGraphicsWidgetItem
::
paint
(
QPainter
*
painter
,
const
QStyleOptionGraphicsItem
*
option
,
QWidget
*
widget
)
{
if
(
mIsFrozen
)
painter
->
drawPixmap
(
0
,
0
,
mSnapshot
);
if
(
scene
()
->
renderingContext
()
!=
UBGraphicsScene
::
Screen
)
{
painter
->
drawPixmap
(
0
,
0
,
snapshot
());
}
else
UBGraphicsWebView
::
paint
(
painter
,
option
,
widget
);
if
(
!
mInitialLoadDone
||
mLoadIsErronous
)
{
QString
message
;
{
if
(
!
mInitialLoadDone
||
mLoadIsErronous
)
{
QString
message
;
if
(
mInitialLoadDone
&&
mLoadIsErronous
)
message
=
tr
(
"Cannot load content"
);
else
message
=
tr
(
"Loading ..."
);
if
(
mInitialLoadDone
&&
mLoadIsErronous
)
message
=
tr
(
"Cannot load content"
);
else
message
=
tr
(
"Loading ..."
);
painter
->
setFont
(
QFont
(
"Arial"
,
12
));
painter
->
setFont
(
QFont
(
"Arial"
,
12
));
QFontMetrics
fm
=
painter
->
fontMetrics
();
QRect
txtBoundingRect
=
fm
.
boundingRect
(
message
);
QFontMetrics
fm
=
painter
->
fontMetrics
();
QRect
txtBoundingRect
=
fm
.
boundingRect
(
message
);
txtBoundingRect
.
moveCenter
(
rect
().
center
().
toPoint
());
txtBoundingRect
.
adjust
(
-
10
,
-
5
,
10
,
5
);
txtBoundingRect
.
moveCenter
(
rect
().
center
().
toPoint
());
txtBoundingRect
.
adjust
(
-
10
,
-
5
,
10
,
5
);
painter
->
setPen
(
Qt
::
NoPen
);
painter
->
setBrush
(
UBSettings
::
paletteColor
);
painter
->
drawRoundedRect
(
txtBoundingRect
,
3
,
3
);
painter
->
setPen
(
Qt
::
NoPen
);
painter
->
setBrush
(
UBSettings
::
paletteColor
);
painter
->
drawRoundedRect
(
txtBoundingRect
,
3
,
3
);
painter
->
setPen
(
Qt
::
white
);
painter
->
drawText
(
rect
(),
Qt
::
AlignCenter
,
message
);
painter
->
setPen
(
Qt
::
white
);
painter
->
drawText
(
rect
(),
Qt
::
AlignCenter
,
message
);
}
else
QGraphicsWebView
::
paint
(
painter
,
option
,
widget
);
}
}
void
UBGraphicsWidgetItem
::
geometryChangeRequested
(
const
QRect
&
geom
)
...
...
@@ -624,6 +622,52 @@ void UBGraphicsWidgetItem::mainFrameLoadFinished (bool ok)
update
(
boundingRect
());
}
void
UBGraphicsWidgetItem
::
wheelEvent
(
QGraphicsSceneWheelEvent
*
event
)
{
if
(
Delegate
()
->
weelEvent
(
event
))
{
QGraphicsWebView
::
wheelEvent
(
event
);
event
->
accept
();
}
}
QVariant
UBGraphicsWidgetItem
::
itemChange
(
GraphicsItemChange
change
,
const
QVariant
&
value
)
{
if
((
change
==
QGraphicsItem
::
ItemSelectedHasChanged
)
&&
scene
())
{
if
(
isSelected
())
scene
()
->
setActiveWindow
(
this
);
else
if
(
scene
()
->
activeWindow
()
==
this
)
scene
()
->
setActiveWindow
(
0
);
}
QVariant
newValue
=
Delegate
()
->
itemChange
(
change
,
value
);
return
QGraphicsWebView
::
itemChange
(
change
,
newValue
);
}
void
UBGraphicsWidgetItem
::
resize
(
qreal
w
,
qreal
h
)
{
UBGraphicsWidgetItem
::
resize
(
QSizeF
(
w
,
h
));
}
void
UBGraphicsWidgetItem
::
resize
(
const
QSizeF
&
pSize
)
{
if
(
pSize
!=
size
())
{
QGraphicsWebView
::
setMaximumSize
(
pSize
.
width
(),
pSize
.
height
());
QGraphicsWebView
::
resize
(
pSize
.
width
(),
pSize
.
height
());
if
(
Delegate
())
Delegate
()
->
positionHandles
();
if
(
scene
())
scene
()
->
setModified
(
true
);
}
}
QSizeF
UBGraphicsWidgetItem
::
size
()
const
{
return
QGraphicsWebView
::
size
();
}
UBGraphicsAppleWidgetItem
::
UBGraphicsAppleWidgetItem
(
const
QUrl
&
pWidgetUrl
,
QGraphicsItem
*
parent
)
...
...
@@ -881,21 +925,6 @@ UBItem* UBGraphicsW3CWidgetItem::deepCopy() const
return
copy
;
}
void
UBGraphicsW3CWidgetItem
::
paint
(
QPainter
*
painter
,
const
QStyleOptionGraphicsItem
*
option
,
QWidget
*
widget
)
{
UBGraphicsScene
::
RenderingContext
rc
=
UBGraphicsScene
::
Screen
;
if
(
scene
())
rc
=
scene
()
->
renderingContext
();
if
(
rc
==
UBGraphicsScene
::
NonScreen
||
rc
==
UBGraphicsScene
::
PdfExport
)
{
if
(
!
snapshot
().
isNull
())
painter
->
drawPixmap
(
0
,
0
,
snapshot
());
}
else
UBGraphicsWidgetItem
::
paint
(
painter
,
option
,
widget
);
}
QMap
<
QString
,
UBGraphicsW3CWidgetItem
::
PreferenceValue
>
UBGraphicsW3CWidgetItem
::
preferences
()
{
return
mPreferences
;
...
...
src/domain/UBGraphicsWidgetItem.h
View file @
1a799632
...
...
@@ -19,10 +19,11 @@
#include <QtWebKit>
#include <QDomElement>
#include "UBGraphicsWebView.h"
#include "core/UB.h"
#include "UBItem.h"
#include "UBResizableGraphicsItem.h"
class
UBWidgetUniboardAPI
;
class
UBGraphicsScene
;
class
UBW3CWidgetAPI
;
...
...
@@ -38,7 +39,7 @@ struct UBWidgetType
};
};
class
UBGraphicsWidgetItem
:
public
UBGraphicsWebView
class
UBGraphicsWidgetItem
:
public
QGraphicsWebView
,
public
UBItem
,
public
UBResizableGraphicsItem
,
public
UBGraphicsItem
{
Q_OBJECT
...
...
@@ -52,6 +53,10 @@ class UBGraphicsWidgetItem : public UBGraphicsWebView
virtual
void
initialize
();
virtual
void
resize
(
qreal
w
,
qreal
h
);
virtual
void
resize
(
const
QSizeF
&
size
);
virtual
QSizeF
size
()
const
;
QUrl
mainHtml
();
void
loadMainHtml
();
QUrl
widgetUrl
();
...
...
@@ -75,9 +80,6 @@ class UBGraphicsWidgetItem : public UBGraphicsWebView
void
removeDatastoreEntry
(
const
QString
&
key
);
void
removeAllDatastoreEntries
();
virtual
UBGraphicsItemDelegate
*
Delegate
()
const
;
virtual
void
remove
();
void
removeScript
();
void
processDropEvent
(
QGraphicsSceneDragDropEvent
*
event
);
...
...
@@ -140,16 +142,18 @@ class UBGraphicsWidgetItem : public UBGraphicsWebView
QMap
<
QString
,
QString
>
mDatastore
;
QMap
<
QString
,
QString
>
mPreferences
;
virtual
bool
event
(
QEvent
*
event
);
virtual
void
dropEvent
(
QGraphicsSceneDragDropEvent
*
event
);
virtual
void
mousePressEvent
(
QGraphicsSceneMouseEvent
*
event
);
virtual
void
mouseReleaseEvent
(
QGraphicsSceneMouseEvent
*
event
);
virtual
void
hoverEnterEvent
(
QGraphicsSceneHoverEvent
*
event
);
virtual
void
hoverLeaveEvent
(
QGraphicsSceneHoverEvent
*
event
);
virtual
void
hoverMoveEvent
(
QGraphicsSceneHoverEvent
*
event
);
virtual
void
sendJSEnterEvent
();
virtual
void
sendJSLeaveEvent
();
virtual
void
injectInlineJavaScript
();
virtual
void
wheelEvent
(
QGraphicsSceneWheelEvent
*
event
);
virtual
QVariant
itemChange
(
GraphicsItemChange
change
,
const
QVariant
&
value
);
virtual
void
paint
(
QPainter
*
painter
,
const
QStyleOptionGraphicsItem
*
option
,
QWidget
*
widget
=
0
);
protected
slots
:
...
...
@@ -230,7 +234,6 @@ class UBGraphicsW3CWidgetItem : public UBGraphicsWidgetItem
virtual
void
setUuid
(
const
QUuid
&
pUuid
);
virtual
UBItem
*
deepCopy
()
const
;
virtual
void
copyItemParameters
(
UBItem
*
copy
)
const
;
virtual
void
paint
(
QPainter
*
painter
,
const
QStyleOptionGraphicsItem
*
option
,
QWidget
*
widget
);
QMap
<
QString
,
PreferenceValue
>
preferences
();
Metadata
metadatas
()
const
;
...
...
src/domain/UBItem.cpp
View file @
1a799632
...
...
@@ -38,6 +38,18 @@ UBItem::~UBItem()
// NOOP
}
UBGraphicsItem
::~
UBGraphicsItem
()
{
if
(
mDelegate
!=
NULL
)
delete
mDelegate
;
}
void
UBGraphicsItem
::
setDelegate
(
UBGraphicsItemDelegate
*
delegate
)
{
Q_ASSERT
(
mDelegate
==
NULL
);
mDelegate
=
delegate
;
}
void
UBGraphicsItem
::
assignZValue
(
QGraphicsItem
*
item
,
qreal
value
)
{
item
->
setZValue
(
value
);
...
...
@@ -54,6 +66,18 @@ bool UBGraphicsItem::isRotatable(QGraphicsItem *item)
return
item
->
data
(
UBGraphicsItemData
::
ItemRotatable
).
toBool
();
}
QUuid
UBGraphicsItem
::
getOwnUuid
(
QGraphicsItem
*
item
)
{
QString
idCandidate
=
item
->
data
(
UBGraphicsItemData
::
ItemUuid
).
toString
();
return
idCandidate
==
QUuid
().
toString
()
?
QUuid
()
:
QUuid
(
idCandidate
);
}
void
UBGraphicsItem
::
remove
(
bool
canUndo
)
{
if
(
Delegate
())
Delegate
()
->
remove
(
canUndo
);
}
UBGraphicsItemDelegate
*
UBGraphicsItem
::
Delegate
(
QGraphicsItem
*
pItem
)
{
UBGraphicsItemDelegate
*
result
=
0
;
...
...
src/domain/UBItem.h
View file @
1a799632
...
...
@@ -90,30 +90,30 @@ class UBItem
class
UBGraphicsItem
{
protected
:
UBGraphicsItem
()
:
mDelegate
(
0
)
{
// NOOP
}
UBGraphicsItemDelegate
*
mDelegate
;
virtual
~
UBGraphicsItem
()
UBGraphicsItem
()
:
mDelegate
(
NULL
)
{
// NOOP
}
virtual
~
UBGraphicsItem
();
void
setDelegate
(
UBGraphicsItemDelegate
*
mDelegate
);
public
:
inline
UBGraphicsItemDelegate
*
Delegate
()
const
{
return
mDelegate
;
}
static
void
assignZValue
(
QGraphicsItem
*
,
qreal
value
);
static
bool
isRotatable
(
QGraphicsItem
*
item
);
static
bool
isFlippable
(
QGraphicsItem
*
item
);
static
QUuid
getOwnUuid
(
QGraphicsItem
*
item
);
static
UBGraphicsItemDelegate
*
Delegate
(
QGraphicsItem
*
pItem
);
virtual
UBGraphicsItemDelegate
*
Delegate
()
const
=
0
;
v
irtual
void
remove
()
=
0
;
v
oid
remove
(
bool
canUndo
=
true
)
;
virtual
void
clearSource
(){;}
virtual
void
clearSource
(){}
private
:
UBGraphicsItemDelegate
*
mDelegate
;
};
#endif // UBITEM_H
src/domain/domain.pri
View file @
1a799632
...
...
@@ -6,7 +6,6 @@ HEADERS += src/domain/UBGraphicsScene.h \
src/domain/UBDocumentUndoCommand.h \
src/domain/UBPageSizeUndoCommand.h \
src/domain/UBGraphicsProxyWidget.h \
src/domain/UBGraphicsWebView.h \
src/domain/UBGraphicsSvgItem.h \
src/domain/UBGraphicsPolygonItem.h \
src/domain/UBItem.h \
...
...
@@ -35,7 +34,6 @@ SOURCES += src/domain/UBGraphicsScene.cpp \
src/domain/UBDocumentUndoCommand.cpp \
src/domain/UBPageSizeUndoCommand.cpp \
src/domain/UBGraphicsProxyWidget.cpp \
src/domain/UBGraphicsWebView.cpp \
src/domain/UBGraphicsSvgItem.cpp \
src/domain/UBGraphicsPolygonItem.cpp \
src/domain/UBItem.cpp \
...
...
@@ -47,8 +45,8 @@ SOURCES += src/domain/UBGraphicsScene.cpp \
src/domain/UBGraphicsStroke.cpp \
src/domain/UBGraphicsMediaItem.cpp \
src/domain/UBAbstractUndoCommand.cpp \
src/domain/
ubgraphicsgroupcontaineri
tem.cpp \
src/domain/
ubgraphicsgroupcontaineritemd
elegate.cpp \
src/domain/
UBGraphicsGroupContainerI
tem.cpp \
src/domain/
UBGraphicsGroupContainerItemD
elegate.cpp \
src/domain/UBGraphicsStrokesGroup.cpp \
src/domain/UBGraphicsItemGroupUndoCommand.cpp \
src/domain/UBGraphicsItemDelegate.cpp \
...
...
src/gui/UBDocumentNavigator.cpp
View file @
1a799632
...
...
@@ -69,6 +69,9 @@ UBDocumentNavigator::~UBDocumentNavigator()
}
}
#include "gui/UBDockTeacherGuideWidget.h"
#include "gui/UBTeacherGuideWidget.h"
/**
* \brief Generate the thumbnails
*/
...
...
@@ -84,10 +87,31 @@ void UBDocumentNavigator::generateThumbnails(UBDocumentContainer* source)
for
(
int
i
=
0
;
i
<
source
->
selectedDocument
()
->
pageCount
();
i
++
)
{
const
QPixmap
*
pix
=
source
->
pageAt
(
i
);
UBSceneThumbnailNavigPixmap
*
pixmapItem
=
new
UBSceneThumbnailNavigPixmap
(
*
pix
,
source
->
selectedDocument
(),
i
);
QPixmap
result
(
pix
->
width
(),
pix
->
height
()
);
int
pageIndex
=
UBDocumentContainer
::
pageFromSceneIndex
(
i
);
QString
label
=
pageIndex
==
0
?
tr
(
"Title page"
)
:
tr
(
"Page %0"
).
arg
(
pageIndex
);
QPainter
composePainter
;
composePainter
.
begin
(
&
result
);
composePainter
.
drawPixmap
(
QPoint
(
0
,
0
),
*
pix
);
if
(
pageIndex
==
UBApplication
::
boardController
->
currentPage
()
&&
((
pageIndex
==
0
&&
UBSettings
::
settings
()
->
teacherGuidePageZeroActivated
->
get
().
toBool
())
||
(
pageIndex
&&
UBSettings
::
settings
()
->
teacherGuideLessonPagesActivated
->
get
().
toBool
()))
)
{
if
(
UBApplication
::
boardController
->
paletteManager
()
->
teacherGuideDockWidget
()
->
teacherGuideWidget
()
->
isModified
()){
QPixmap
toque
(
":images/toque.png"
);
composePainter
.
setOpacity
(
0.6
);
composePainter
.
drawPixmap
(
QPoint
(
pix
->
width
()
-
toque
.
width
(),
0
),
toque
);
}
}
composePainter
.
end
();
UBSceneThumbnailNavigPixmap
*
pixmapItem
=
new
UBSceneThumbnailNavigPixmap
(
result
,
source
->
selectedDocument
(),
i
);
QString
label
=
pageIndex
==
0
?
tr
(
"Title page"
)
:
tr
(
"Page %0"
).
arg
(
pageIndex
);
UBThumbnailTextItem
*
labelItem
=
new
UBThumbnailTextItem
(
label
);
UBImgTextThumbnailElement
thumbWithText
(
pixmapItem
,
labelItem
);
...
...
@@ -104,7 +128,7 @@ void UBDocumentNavigator::generateThumbnails(UBDocumentContainer* source)
void
UBDocumentNavigator
::
onScrollToSelectedPage
(
int
index
)
{
qDebug
()
<<
"Selection in widet: "
<<
index
;
qDebug
()
<<
"Selection in wid
g
et: "
<<
index
;
int
c
=
0
;
foreach
(
UBImgTextThumbnailElement
el
,
mThumbsWithLabels
)
{
...
...
@@ -118,7 +142,6 @@ void UBDocumentNavigator::onScrollToSelectedPage(int index)
}
c
++
;
}
// centerOn(mThumbsWithLabels[index].getThumbnail());
}
/**
...
...
@@ -131,8 +154,7 @@ void UBDocumentNavigator::updateSpecificThumbnail(int iPage)
//UBGraphicsScene* pScene = UBApplication::boardController->activeScene();
const
QPixmap
*
pix
=
UBApplication
::
boardController
->
pageAt
(
iPage
);
UBSceneThumbnailNavigPixmap
*
newItem
=
new
UBSceneThumbnailNavigPixmap
(
*
pix
,
UBApplication
::
boardController
->
selectedDocument
(),
iPage
);
UBSceneThumbnailNavigPixmap
*
newItem
=
new
UBSceneThumbnailNavigPixmap
(
*
pix
,
UBApplication
::
boardController
->
selectedDocument
(),
iPage
);
// Get the old thumbnail
UBSceneThumbnailNavigPixmap
*
oldItem
=
mThumbsWithLabels
.
at
(
iPage
).
getThumbnail
();
...
...
src/gui/UBTeacherGuideWidget.cpp
View file @
1a799632
This diff is collapsed.
Click to expand it.
src/gui/UBTeacherGuideWidget.h
View file @
1a799632
...
...
@@ -23,7 +23,7 @@ class QVBoxLayout;
class
QPushButton
;
class
UBDocumentProxy
;
class
UBGraphicsTextItem
;
class
QScrollArea
;
#include "UBTeacherGuideWidgetsTools.h"
...
...
@@ -35,6 +35,8 @@ typedef enum
tUBTGZeroPageMode_PRESENTATION
}
tUBTGZeroPageMode
;
#define LOWER_RESIZE_WIDTH 50
/***************************************************************************
* class UBTeacherGuideEditionWidget *
***************************************************************************/
...
...
@@ -155,8 +157,13 @@ private:
QVBoxLayout
*
mpLayout
;
QHBoxLayout
*
mpButtonTitleLayout
;
QVBoxLayout
*
mpContainerWidgetLayout
;
QPushButton
*
mpModePushButton
;
QLabel
*
mpPageNumberLabel
;
QScrollArea
*
mpScrollArea
;
QWidget
*
mpContainerWidget
;
UBTGAdaptableText
*
mpSessionTitle
;
QFrame
*
mpSeparatorSessionTitle
;
...
...
src/gui/UBTeacherGuideWidgetsTools.cpp
View file @
1a799632
...
...
@@ -120,6 +120,7 @@ UBTGAdaptableText::UBTGAdaptableText(QTreeWidgetItem* widget, QWidget* parent, c
,
mMinimumHeight
(
0
)
,
mHasPlaceHolder
(
false
)
,
mIsUpdatingSize
(
false
)
,
mMaximumLength
(
0
)
{
setObjectName
(
name
);
connect
(
this
,
SIGNAL
(
textChanged
()),
this
,
SLOT
(
onTextChanged
()));
...
...
@@ -131,6 +132,11 @@ UBTGAdaptableText::UBTGAdaptableText(QTreeWidgetItem* widget, QWidget* parent, c
}
void
UBTGAdaptableText
::
setMaximumLength
(
int
length
)
{
mMaximumLength
=
length
;
}
void
UBTGAdaptableText
::
setPlaceHolderText
(
QString
text
)
{
mHasPlaceHolder
=
true
;
...
...
@@ -166,6 +172,12 @@ void UBTGAdaptableText::keyReleaseEvent(QKeyEvent* e)
setTextColor
(
QColor
(
Qt
::
lightGray
));
setPlainText
(
mPlaceHolderText
);
}
if
(
mMaximumLength
&&
toPlainText
().
length
()
>
mMaximumLength
){
setPlainText
(
toPlainText
().
left
(
mMaximumLength
));
QTextCursor
tc
(
document
());
tc
.
setPosition
(
mMaximumLength
);
setTextCursor
(
tc
);
}
}
void
UBTGAdaptableText
::
showEvent
(
QShowEvent
*
e
)
...
...
@@ -212,8 +224,10 @@ void UBTGAdaptableText::onTextChanged()
setFocus
();
}
mIsUpdatingSize
=
false
;
}
void
UBTGAdaptableText
::
setInitialText
(
const
QString
&
text
)
{
setText
(
text
);
...
...
src/gui/UBTeacherGuideWidgetsTools.h
View file @
1a799632
...
...
@@ -97,6 +97,7 @@ public:
void
setPlaceHolderText
(
QString
text
);
QString
text
();
void
setInitialText
(
const
QString
&
text
);
void
setMaximumLength
(
int
length
);
public
slots
:
void
onTextChanged
();
...
...
@@ -113,6 +114,7 @@ private:
bool
mHasPlaceHolder
;
QString
mPlaceHolderText
;
bool
mIsUpdatingSize
;
int
mMaximumLength
;
};
...
...
src/pdf-merger/Utils.cpp
View file @
1a799632
...
...
@@ -14,6 +14,7 @@
*/
#include <QtGlobal>
#include <QString>
#include "Config.h"
#include "Utils.h"
#include "Exception.h"
...
...
@@ -65,18 +66,12 @@ double Utils::stringToDouble(const std::string & s )
std
::
string
Utils
::
uIntToStr
(
unsigned
int
integer
)
{
char
str
[
10
];
snprintf
(
str
,
sizeof
(
str
),
"%u"
,
integer
);
return
std
::
string
(
str
);
return
std
::
string
(
QString
::
number
(
integer
).
toAscii
());
}
std
::
string
Utils
::
doubleToStr
(
double
doubleValue
)
{
char
str
[
16
];
snprintf
(
str
,
sizeof
(
str
),
"%f"
,
doubleValue
);
return
std
::
string
(
str
);
return
std
::
string
(
QString
::
number
(
doubleValue
).
toAscii
());
}
int
Utils
::
_stringToInt
(
const
std
::
string
&
str
)
//throw ConvertException
...
...
src/tools/UBGraphicsCurtainItem.cpp
View file @
1a799632
...
...
@@ -37,8 +37,9 @@ const QColor UBGraphicsCurtainItem::sDarkBackgroundOpaqueControlColor = QColor(6
UBGraphicsCurtainItem
::
UBGraphicsCurtainItem
(
QGraphicsItem
*
parent
)
:
QGraphicsRectItem
(
parent
)
{
mDelegate
=
new
UBGraphicsCurtainItemDelegate
(
this
,
0
);
mDelegate
->
init
();
UBGraphicsCurtainItemDelegate
*
delegate
=
new
UBGraphicsCurtainItemDelegate
(
this
,
0
);
delegate
->
init
();
setDelegate
(
delegate
);
setFlag
(
QGraphicsItem
::
ItemIsMovable
,
true
);
setFlag
(
QGraphicsItem
::
ItemIsSelectable
,
true
);
...
...
@@ -56,7 +57,6 @@ UBGraphicsCurtainItem::UBGraphicsCurtainItem(QGraphicsItem* parent)
UBGraphicsCurtainItem
::~
UBGraphicsCurtainItem
()
{
delete
mDelegate
;
}
QVariant
UBGraphicsCurtainItem
::
itemChange
(
GraphicsItemChange
change
,
const
QVariant
&
value
)
...
...
@@ -64,9 +64,9 @@ QVariant UBGraphicsCurtainItem::itemChange(GraphicsItemChange change, const QVar
QVariant
newValue
=
value
;
if
(
mDelegate
)
if
(
Delegate
()
)
{
newValue
=
mDelegate
->
itemChange
(
change
,
value
);
newValue
=
Delegate
()
->
itemChange
(
change
,
value
);
}
return
QGraphicsRectItem
::
itemChange
(
change
,
newValue
);
...
...
@@ -80,7 +80,7 @@ void UBGraphicsCurtainItem::setUuid(const QUuid &pUuid)
void
UBGraphicsCurtainItem
::
mousePressEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
->
mousePressEvent
(
event
))
if
(
Delegate
()
->
mousePressEvent
(
event
))
{
//NOOP
}
...
...
@@ -92,7 +92,7 @@ void UBGraphicsCurtainItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
void
UBGraphicsCurtainItem
::
mouseMoveEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
->
mouseMoveEvent
(
event
))
if
(
Delegate
()
->
mouseMoveEvent
(
event
))
{
// NOOP;
}
...
...
@@ -104,7 +104,7 @@ void UBGraphicsCurtainItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
void
UBGraphicsCurtainItem
::
mouseReleaseEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
mDelegate
->
mouseReleaseEvent
(
event
);
Delegate
()
->
mouseReleaseEvent
(
event
);
QGraphicsRectItem
::
mouseReleaseEvent
(
event
);
}
...
...
@@ -171,13 +171,6 @@ QColor UBGraphicsCurtainItem::opaqueControlColor() const
}
void
UBGraphicsCurtainItem
::
remove
()
{
if
(
mDelegate
)
mDelegate
->
remove
(
true
);
}
void
UBGraphicsCurtainItem
::
triggerRemovedSignal
()
{
emit
removed
();
...
...
src/tools/UBGraphicsCurtainItem.h
View file @
1a799632
...
...
@@ -44,11 +44,8 @@ class UBGraphicsCurtainItem : public QObject, public QGraphicsRectItem, public U
virtual
UBItem
*
deepCopy
()
const
;
virtual
void
copyItemParameters
(
UBItem
*
copy
)
const
;
virtual
void
remove
();
//TODO UB 4.x not nice ...
void
triggerRemovedSignal
();
virtual
UBGraphicsItemDelegate
*
Delegate
()
const
{
return
mDelegate
;}
virtual
void
clearSource
(){;}
virtual
void
setUuid
(
const
QUuid
&
pUuid
);
...
...
src/tools/UBGraphicsCurtainItemDelegate.h
View file @
1a799632
...
...
@@ -40,13 +40,12 @@ class UBGraphicsCurtainItemDelegate : public UBGraphicsItemDelegate
virtual
QVariant
itemChange
(
QGraphicsItem
::
GraphicsItemChange
change
,
const
QVariant
&
value
);
virtual
void
positionHandles
();
virtual
void
init
();
public
slots
:
virtual
void
remove
(
bool
checked
,
bool
canUndo
=
true
);
protected
:
virtual
void
init
();
};
#endif
/* UBGRAPHICSCURTAINITEMDELEGATE_H_ */
src/web/UBWebController.cpp
View file @
1a799632
...
...
@@ -733,8 +733,8 @@ bool UBWebController::isEduMedia(const QUrl& pUrl)
void
UBWebController
::
loadUrl
(
const
QUrl
&
url
)
{
bool
webBrowserAlreadyInstanciated
=
dynamic_cast
<
WBBrowserWindow
*>
(
mStackedWidget
->
widget
(
WebBrowser
))
!=
NULL
;
UBApplication
::
applicationController
->
showInternet
();
bool
webBrowserAlreadyInstanciated
=
dynamic_cast
<
WBBrowserWindow
*>
(
mStackedWidget
->
widget
(
WebBrowser
))
!=
NULL
;
UBApplication
::
applicationController
->
showInternet
();
if
(
UBSettings
::
settings
()
->
webUseExternalBrowser
->
get
().
toBool
())
{
QDesktopServices
::
openUrl
(
url
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment