From 2466f5f8a356de4f9997147483523130014c5734 Mon Sep 17 00:00:00 2001 From: Claudio Valerio Date: Wed, 3 Oct 2012 10:58:06 +0200 Subject: [PATCH 1/4] update version --- Sankore_3.1.pro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sankore_3.1.pro b/Sankore_3.1.pro index 5f1a5b9e..fcc3143b 100644 --- a/Sankore_3.1.pro +++ b/Sankore_3.1.pro @@ -11,7 +11,7 @@ CONFIG += debug_and_release \ VERSION_MAJ = 2 VERSION_MIN = 00 VERSION_TYPE = b # a = alpha, b = beta, r = release, other => error -VERSION_PATCH = 08 +VERSION_PATCH = 09 VERSION = "$${VERSION_MAJ}.$${VERSION_MIN}.$${VERSION_TYPE}.$${VERSION_PATCH}" VERSION = $$replace(VERSION, "\\.r", "") From 9888b99a017332fe4c1308adb11bbcf4dfd67028 Mon Sep 17 00:00:00 2001 From: Aleksei Kanash Date: Wed, 3 Oct 2012 14:55:06 +0300 Subject: [PATCH 2/4] Fixed items scaling. --- src/domain/UBGraphicsDelegateFrame.cpp | 43 +++++++++++++++++++++++--- src/domain/UBGraphicsDelegateFrame.h | 3 ++ 2 files changed, 41 insertions(+), 5 deletions(-) diff --git a/src/domain/UBGraphicsDelegateFrame.cpp b/src/domain/UBGraphicsDelegateFrame.cpp index 38f96dc0..71351090 100644 --- a/src/domain/UBGraphicsDelegateFrame.cpp +++ b/src/domain/UBGraphicsDelegateFrame.cpp @@ -49,6 +49,8 @@ UBGraphicsDelegateFrame::UBGraphicsDelegateFrame(UBGraphicsItemDelegate* pDelega , mTotalTranslateX(0) , mTotalTranslateY(0) , mOperationMode(Scaling) + , mFlippedX(false) + , mFlippedY(false) , mMirrorX(false) , mMirrorY(false) { @@ -379,6 +381,12 @@ QSizeF UBGraphicsDelegateFrame::resizeDelegate(qreal moveX, qreal moveY) return incVector; } + +void UBGraphicsDelegateFrame::scaleByPos(qreal scaleX, qreal scaleY) +{ + +} + void UBGraphicsDelegateFrame::mouseMoveEvent(QGraphicsSceneMouseEvent *event) { if (None == mCurrentTool) @@ -451,6 +459,7 @@ void UBGraphicsDelegateFrame::mouseMoveEvent(QGraphicsSceneMouseEvent *event) scaleX = -2*mFrameWidth/width; }else{ scaleX = -1; + mFlippedX = !mFlippedX; } } mScaleX = scaleX; @@ -480,6 +489,7 @@ void UBGraphicsDelegateFrame::mouseMoveEvent(QGraphicsSceneMouseEvent *event) scaleY = -2*mFrameWidth/width; }else{ scaleY = -1; + mFlippedY = !mFlippedY; } } mScaleY = scaleY; @@ -543,15 +553,38 @@ void UBGraphicsDelegateFrame::mouseMoveEvent(QGraphicsSceneMouseEvent *event) QPointF ref; // we just detects coordinates of corner before and after scaling and then moves object at diff between them. - if (resizingBottomRight() && mMirrorX) + if (resizingBottomRight() && (mMirrorX || mMirrorY)) { - mTranslateX += mInitialTransform.map(delegated()->boundingRect().bottomRight()).x() - tr.map(delegated()->boundingRect().bottomRight()).x(); - mTranslateY += mInitialTransform.map(delegated()->boundingRect().bottomRight()).y() - tr.map(delegated()->boundingRect().bottomRight()).y(); + if (mFlippedX && !mMirrorX && mFlippedY)// && !mMirrorY) + { + mTranslateX += mInitialTransform.map(delegated()->boundingRect().bottomLeft()).x() - tr.map(delegated()->boundingRect().bottomLeft()).x(); + mTranslateY += mInitialTransform.map(delegated()->boundingRect().bottomLeft()).y() - tr.map(delegated()->boundingRect().bottomLeft()).y(); + } + else if ((mFlippedX || mMirrorX) && (mFlippedY || mMirrorY)) + { + mTranslateX += mInitialTransform.map(delegated()->boundingRect().bottomRight()).x() - tr.map(delegated()->boundingRect().bottomRight()).x(); + mTranslateY += mInitialTransform.map(delegated()->boundingRect().bottomRight()).y() - tr.map(delegated()->boundingRect().bottomRight()).y(); + } + else if (mFlippedX || mMirrorX) + { + mTranslateX += mInitialTransform.map(delegated()->boundingRect().topRight()).x() - tr.map(delegated()->boundingRect().topRight()).x(); + mTranslateY += mInitialTransform.map(delegated()->boundingRect().topRight()).y() - tr.map(delegated()->boundingRect().topRight()).y(); + } + else if (mFlippedY || mMirrorY) + { + mTranslateX += mInitialTransform.map(delegated()->boundingRect().bottomLeft()).x() - tr.map(delegated()->boundingRect().bottomLeft()).x(); + mTranslateY += mInitialTransform.map(delegated()->boundingRect().bottomLeft()).y() - tr.map(delegated()->boundingRect().bottomLeft()).y(); + } + else + { + mTranslateX += mInitialTransform.map(delegated()->boundingRect().bottomRight()).x() - tr.map(delegated()->boundingRect().bottomRight()).x(); + mTranslateY += mInitialTransform.map(delegated()->boundingRect().bottomRight()).y() - tr.map(delegated()->boundingRect().bottomRight()).y(); + } } else { - mTranslateX += mInitialTransform.map(delegated()->boundingRect().topLeft()).x() - tr.map(delegated()->boundingRect().topLeft()).x(); - mTranslateY += mInitialTransform.map(delegated()->boundingRect().topLeft()).y() - tr.map(delegated()->boundingRect().topLeft()).y(); + mTranslateX += mInitialTransform.map(delegated()->boundingRect().topLeft()).x() - tr.map(delegated()->boundingRect().topLeft()).x(); + mTranslateY += mInitialTransform.map(delegated()->boundingRect().topLeft()).y() - tr.map(delegated()->boundingRect().topLeft()).y(); } } else if (resizingTop() || resizingLeft()) diff --git a/src/domain/UBGraphicsDelegateFrame.h b/src/domain/UBGraphicsDelegateFrame.h index d3034711..e171358b 100644 --- a/src/domain/UBGraphicsDelegateFrame.h +++ b/src/domain/UBGraphicsDelegateFrame.h @@ -40,6 +40,7 @@ class UBGraphicsDelegateFrame: public QGraphicsRectItem, public QObject QPointF getFixedPointFromPos(); QSizeF getResizeVector(qreal moveX, qreal moveY); QSizeF resizeDelegate(qreal moveX, qreal moveY); + void scaleByPos(qreal scaleX, qreal scaleY); virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event); virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); @@ -124,6 +125,8 @@ class UBGraphicsDelegateFrame: public QGraphicsRectItem, public QObject OperationMode mOperationMode; QGraphicsItem* delegated(); + bool mFlippedX; + bool mFlippedY; bool mMirrorX; bool mMirrorY; bool mResizing; From d6db82331d14acd2d6fc507a122bb63c4d67b2f7 Mon Sep 17 00:00:00 2001 From: Aleksei Kanash Date: Wed, 3 Oct 2012 15:24:03 +0300 Subject: [PATCH 3/4] Fixed strokes duplication. --- src/domain/UBGraphicsStrokesGroup.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/domain/UBGraphicsStrokesGroup.cpp b/src/domain/UBGraphicsStrokesGroup.cpp index 793459a8..e19ea4ab 100644 --- a/src/domain/UBGraphicsStrokesGroup.cpp +++ b/src/domain/UBGraphicsStrokesGroup.cpp @@ -124,8 +124,13 @@ UBItem* UBGraphicsStrokesGroup::deepCopy() const UBGraphicsPolygonItem *polygon = dynamic_cast(child); if (polygon){ - QGraphicsItem* pItem = dynamic_cast(polygon->deepCopy()); - copy->addToGroup(pItem); + UBGraphicsPolygonItem *polygonCopy = dynamic_cast(polygon->deepCopy()); + if (polygonCopy) + { + QGraphicsItem* pItem = dynamic_cast(polygonCopy); + copy->addToGroup(pItem); + polygonCopy->setStrokesGroup(copy); + } } } From ba1a392cad3a2eb9425236dd2dca931ad2aadfcd Mon Sep 17 00:00:00 2001 From: maximXbs Date: Wed, 3 Oct 2012 16:14:43 +0200 Subject: [PATCH 4/4] fixed 'Separe phrase' app --- .../Separe phrase.wgt/scripts/app.js | 121 +++++++++--------- 1 file changed, 64 insertions(+), 57 deletions(-) diff --git a/resources/library/interactivities/Separe phrase.wgt/scripts/app.js b/resources/library/interactivities/Separe phrase.wgt/scripts/app.js index 7150da1a..ac172eae 100644 --- a/resources/library/interactivities/Separe phrase.wgt/scripts/app.js +++ b/resources/library/interactivities/Separe phrase.wgt/scripts/app.js @@ -18,6 +18,15 @@ function createElements( phrase ) return s; } +function createChain( phrase ) +{ + var arr = phrase.split(" "); + var result = ""; + for( var i = 0; i < arr.length; i++ ) + result += '
' + createElements(arr[i]) + '
'; + return result; +} + $(document).ready(function() { @@ -135,9 +144,8 @@ $(document).ready(function() // store the text w.setData( "phrase", phrase ); - // remove all dots (they are to be set during the exercise) - phrase = phrase.replace( / /g, '' ); + //phrase = phrase.replace( / /g, '' ); // create the html if(window.sankore && sankore.preference("ordSplPhrasesState", "") == "1" && flag){ @@ -147,7 +155,7 @@ $(document).ready(function() flag = false; } else - w.setViewContent( createElements( phrase ) ); + w.setViewContent( createChain( phrase ) ); // the behaviour @@ -241,7 +249,7 @@ $(document).ready(function() if( this.className.indexOf( "fixed" ) != -1 ){ phrase += ' '; } - else if( this.className.indexOf( "dash" ) != -1 ){ + else if( (this.className.indexOf( "dash" ) != -1) || (this.className.indexOf( "letterCont" ) != -1) ){ return; } else{ @@ -249,7 +257,6 @@ $(document).ready(function() phrase += ch; } }); - //alert(phrase + " | " + this.getData( "phrase" )) if( phrase == this.getData( "phrase" ) ){ this.elements.containerView.addClass( "answerRight" ); } @@ -267,58 +274,58 @@ $(document).ready(function() //changing the style function changeStyle(val){ switch(val){ - case "1": - $(".b_top_left").removeClass("btl_pad").removeClass("without_back"); - $(".b_top_center").removeClass("btc_pad").removeClass("without_back"); - $(".b_top_right").removeClass("btr_pad").removeClass("without_back"); - $(".b_center_left").removeClass("bcl_pad").removeClass("without_back"); - $(".b_center_right").removeClass("bcr_pad").removeClass("without_back"); - $(".b_bottom_right").removeClass("bbr_pad").removeClass("without_back"); - $(".b_bottom_left").removeClass("bbl_pad").removeClass("without_back"); - $(".b_bottom_center").removeClass("bbc_pad").removeClass("without_back"); - $("#wgt_reload").removeClass("pad_color").removeClass("pad_reload"); - $("#wgt_help").removeClass("pad_color").removeClass("pad_help"); - $("#wgt_edit").removeClass("pad_color").removeClass("pad_edit"); - $("#wgt_name").removeClass("pad_color"); - $("#wgt_display").addClass("display_wood"); - $("#style_select option:first").attr('selected',true); - $("body, html").removeClass("without_radius").addClass("radius_ft"); - break; - case "2": - $(".b_top_left").addClass("btl_pad").removeClass("without_back"); - $(".b_top_center").addClass("btc_pad").removeClass("without_back"); - $(".b_top_right").addClass("btr_pad").removeClass("without_back"); - $(".b_center_left").addClass("bcl_pad").removeClass("without_back"); - $(".b_center_right").addClass("bcr_pad").removeClass("without_back"); - $(".b_bottom_right").addClass("bbr_pad").removeClass("without_back"); - $(".b_bottom_left").addClass("bbl_pad").removeClass("without_back"); - $(".b_bottom_center").addClass("bbc_pad").removeClass("without_back"); - $("#wgt_reload").addClass("pad_color").addClass("pad_reload"); - $("#wgt_help").addClass("pad_color").addClass("pad_help"); - $("#wgt_edit").addClass("pad_color").addClass("pad_edit"); - $("#wgt_name").addClass("pad_color"); - $("#wgt_display").removeClass("display_wood"); - $("#style_select option:first").next().attr('selected',true); - $("body, html").removeClass("without_radius").removeClass("radius_ft"); - break; - case "3": - $(".b_top_left").addClass("without_back").removeClass("btl_pad"); - $(".b_top_center").addClass("without_back").removeClass("btc_pad"); - $(".b_top_right").addClass("without_back").removeClass("btr_pad"); - $(".b_center_left").addClass("without_back").removeClass("bcl_pad"); - $(".b_center_right").addClass("without_back").removeClass("bcr_pad"); - $(".b_bottom_right").addClass("without_back").removeClass("bbr_pad"); - $(".b_bottom_left").addClass("without_back").removeClass("bbl_pad"); - $(".b_bottom_center").addClass("without_back").removeClass("bbc_pad"); - $("#wgt_help").addClass("pad_color").addClass("pad_help"); - $("#wgt_reload").addClass("pad_color").addClass("pad_reload"); - $("#wgt_edit").addClass("pad_color").addClass("pad_edit"); - $("#wgt_name").addClass("pad_color"); - $("#wgt_display").removeClass("display_wood"); - $("#style_select option:last").attr('selected',true); - $("body, html").addClass("without_radius").removeClass("radius_ft"); - break; - } + case "1": + $(".b_top_left").removeClass("btl_pad").removeClass("without_back"); + $(".b_top_center").removeClass("btc_pad").removeClass("without_back"); + $(".b_top_right").removeClass("btr_pad").removeClass("without_back"); + $(".b_center_left").removeClass("bcl_pad").removeClass("without_back"); + $(".b_center_right").removeClass("bcr_pad").removeClass("without_back"); + $(".b_bottom_right").removeClass("bbr_pad").removeClass("without_back"); + $(".b_bottom_left").removeClass("bbl_pad").removeClass("without_back"); + $(".b_bottom_center").removeClass("bbc_pad").removeClass("without_back"); + $("#wgt_reload").removeClass("pad_color").removeClass("pad_reload"); + $("#wgt_help").removeClass("pad_color").removeClass("pad_help"); + $("#wgt_edit").removeClass("pad_color").removeClass("pad_edit"); + $("#wgt_name").removeClass("pad_color"); + $("#wgt_display").addClass("display_wood"); + $("#style_select option:first").attr('selected',true); + $("body, html").removeClass("without_radius").addClass("radius_ft"); + break; + case "2": + $(".b_top_left").addClass("btl_pad").removeClass("without_back"); + $(".b_top_center").addClass("btc_pad").removeClass("without_back"); + $(".b_top_right").addClass("btr_pad").removeClass("without_back"); + $(".b_center_left").addClass("bcl_pad").removeClass("without_back"); + $(".b_center_right").addClass("bcr_pad").removeClass("without_back"); + $(".b_bottom_right").addClass("bbr_pad").removeClass("without_back"); + $(".b_bottom_left").addClass("bbl_pad").removeClass("without_back"); + $(".b_bottom_center").addClass("bbc_pad").removeClass("without_back"); + $("#wgt_reload").addClass("pad_color").addClass("pad_reload"); + $("#wgt_help").addClass("pad_color").addClass("pad_help"); + $("#wgt_edit").addClass("pad_color").addClass("pad_edit"); + $("#wgt_name").addClass("pad_color"); + $("#wgt_display").removeClass("display_wood"); + $("#style_select option:first").next().attr('selected',true); + $("body, html").removeClass("without_radius").removeClass("radius_ft"); + break; + case "3": + $(".b_top_left").addClass("without_back").removeClass("btl_pad"); + $(".b_top_center").addClass("without_back").removeClass("btc_pad"); + $(".b_top_right").addClass("without_back").removeClass("btr_pad"); + $(".b_center_left").addClass("without_back").removeClass("bcl_pad"); + $(".b_center_right").addClass("without_back").removeClass("bcr_pad"); + $(".b_bottom_right").addClass("without_back").removeClass("bbr_pad"); + $(".b_bottom_left").addClass("without_back").removeClass("bbl_pad"); + $(".b_bottom_center").addClass("without_back").removeClass("bbc_pad"); + $("#wgt_help").addClass("pad_color").addClass("pad_help"); + $("#wgt_reload").addClass("pad_color").addClass("pad_reload"); + $("#wgt_edit").addClass("pad_color").addClass("pad_edit"); + $("#wgt_name").addClass("pad_color"); + $("#wgt_display").removeClass("display_wood"); + $("#style_select option:last").attr('selected',true); + $("body, html").addClass("without_radius").removeClass("radius_ft"); + break; + } } }); \ No newline at end of file