From e99a2eed3c79944a73f69276c31bd9ffd558e6bc Mon Sep 17 00:00:00 2001 From: Anatoly Mihalchenko <tolik@scand.com> Date: Mon, 4 Jul 2011 18:20:12 +0300 Subject: [PATCH 1/2] Graphics Triangle Tool --- Sankore 3.1.iss | 89 ------------------ resources/images/toolPalette/triangleTool.png | Bin 11360 -> 9618 bytes src/tools/UBGraphicsTriangle.cpp | 71 ++++++++------ src/tools/UBGraphicsTriangle.h | 4 +- 4 files changed, 42 insertions(+), 122 deletions(-) delete mode 100644 Sankore 3.1.iss diff --git a/Sankore 3.1.iss b/Sankore 3.1.iss deleted file mode 100644 index 158894c7..00000000 --- a/Sankore 3.1.iss +++ /dev/null @@ -1,89 +0,0 @@ -; Script generated by the Inno Setup Script Wizard. -; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! - -[Setup] -; NOTE: The value of AppId uniquely identifies this application. -; Do not use the same AppId value in installers for other applications. -; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) -AppId={{E63D17F8-D9DA-479D-B9B5-0D101A03703B} -AppName=Sankore 3.1 -AppVerName=Sankore 3.1 -AppPublisher=Mnemis - -AppPublisherURL=http://www.getuniboard.com -AppSupportURL=http://support.getuniboard.com -AppUpdatesURL=http://www.getuniboard.com - -DefaultDirName={pf}\Sankore 3.1 -DefaultGroupName=Sankore 3.1 - -OutputDir=.\install\win32\ -OutputBaseFilename=Sankore 3.1 setup -SetupIconFile=.\resources\win\uniboard.ico -Compression=lzma -SolidCompression=yes - -[Languages] -Name: "english"; MessagesFile: "compiler:Default.isl" - -[Tasks] -Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked -Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked - -[InstallDelete] - -Type: files ; Name: "{app}\Sankore 3.1.pdb" -Type: filesandordirs ; Name: "{app}\library" -Type: filesandordirs ; Name: "{app}\Microsoft.VC90.CRT" -Type: filesandordirs ; Name: "{app}\plugins" -Type: filesandordirs ; Name: "{app}\i18n" -Type: files ; Name: "{app}\*.dll" - -[Files] -Source: ".\build\win32\release\product\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs -Source: ".\runtime\windows\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; -Source: ".\resources\win\plugins\*"; DestDir: "{app}"; Flags: recursesubdirs createallsubdirs -; NOTE: Don't use "Flags: ignoreversion" on any shared system files - -[Icons] -Name: "{group}\Sankore 3.1"; Filename: "{app}\Sankore 3.1.exe" -;Name: "{group}\{cm:ProgramOnTheWeb,Sankore 3.1}"; Filename: "http://www.getuniboard.com/" -Name: "{group}\{cm:UninstallProgram,Sankore 3.1}"; Filename: "{uninstallexe}" -Name: "{commondesktop}\Sankore 3.1"; Filename: "{app}\Sankore 3.1.exe"; Tasks: desktopicon -Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Sankore 3.1"; Filename: "{app}\Sankore 3.1.exe"; Tasks: quicklaunchicon -Name: "{group}\Printing Preferences"; Filename: "{app}\properties.exe"; WorkingDir: {app} - -[Registry] -Root: HKCR; Subkey: ".ubz"; ValueType: string; ValueName: ""; ValueData: "SankoreFile"; Flags: uninsdeletevalue -Root: HKCR; Subkey: "SankoreFile"; ValueType: string; ValueName: ""; ValueData: "Sankore 3.1 document"; Flags: uninsdeletekey -Root: HKCR; Subkey: "SankoreFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\Sankore 3.1.exe,1" -Root: HKCR; Subkey: "SankoreFile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\Sankore 3.1.exe"" ""%1""" - -Root: HKLM; Subkey: "SOFTWARE\Sankore 3.1"; ValueType: string; ValueName: "Client application"; ValueData: "{app}\Sankore 3.1.exe"; Flags: uninsdeletevalue; Check: isProcessorNotX64 -Root: HKLM; Subkey: "SOFTWARE\Sankore 3.1"; ValueType: dword; ValueName: "Transfer mode"; ValueData: "0"; Flags: uninsdeletevalue; Check: isProcessorNotX64 -Root: HKLM; Subkey: "SOFTWARE\Sankore 3.1"; ValueType: dword; ValueName: "EMF: Hide page"; ValueData: "1"; Flags: uninsdeletevalue; Check: isProcessorNotX64 -Root: HKLM; Subkey: "SOFTWARE\Sankore 3.1\Defaults"; ValueType: dword; ValueName: "PDF: Enabled"; ValueData: "1"; Flags: uninsdeletevalue; Check: isProcessorNotX64 - -Root: HKLM64; Subkey: "SOFTWARE\Sankore 3.1"; ValueType: string; ValueName: "Client application"; ValueData: "{app}\Sankore 3.1.exe"; Flags: uninsdeletevalue; Check: isProcessorX64 -Root: HKLM64; Subkey: "SOFTWARE\Sankore 3.1"; ValueType: dword; ValueName: "Transfer mode"; ValueData: "0"; Flags: uninsdeletevalue; Check: isProcessorX64 -Root: HKLM64; Subkey: "SOFTWARE\Sankore 3.1"; ValueType: dword; ValueName: "EMF: Hide page"; ValueData: "1"; Flags: uninsdeletevalue; Check: isProcessorX64 -Root: HKLM64; Subkey: "SOFTWARE\Sankore 3.1\Defaults"; ValueType: dword; ValueName: "PDF: Enabled"; ValueData: "1"; Flags: uninsdeletevalue; Check: isProcessorX64 - -[Run] -Filename: "{app}\Sankore 3.1.exe"; Description: "{cm:LaunchProgram,Sankore 3.1}"; Flags: nowait postinstall - -[UninstallDelete] -; cleanup and delete whole installation directory -Name: {app}; Type: filesandordirs - -[Code] -function isProcessorX64: Boolean; -begin - Result := (ProcessorArchitecture = paX64); -end; - -function isProcessorNotX64: Boolean; -begin - Result := not isProcessorX64; -end; - diff --git a/resources/images/toolPalette/triangleTool.png b/resources/images/toolPalette/triangleTool.png index 0421bcea69995c0cc0247009ea0855bee5d20920..a9c876cd34451fc7ec64e66fb1ed00f660df0acd 100644 GIT binary patch literal 9618 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 IM6N<$f<;<-!~g&Q literal 11360 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 diff --git a/src/tools/UBGraphicsTriangle.cpp b/src/tools/UBGraphicsTriangle.cpp index f60cf9cf..3be1140b 100644 --- a/src/tools/UBGraphicsTriangle.cpp +++ b/src/tools/UBGraphicsTriangle.cpp @@ -73,26 +73,30 @@ void UBGraphicsTriangle::setRect(qreal x, qreal y, qreal w, qreal h, UBGraphicsT void UBGraphicsTriangle::setOrientation(UBGraphicsTriangleOrientation orientation) { - mOrientation = orientation; - QTransform t; - switch(orientation) - { - case BottomLeft: - t.setMatrix(1, 0, 0, 0, 1, 0, 0, 0, 1); - break; - case BottomRight: - t.setMatrix(-1, 0, 0, 0, 1, 0, boundingRect().right(), 0, 1); - break; - case TopLeft: - t.setMatrix(1, 0, 0, 0, -1, 0, 0, boundingRect().bottom(), 1); - break; - case TopRight: - t.setMatrix(-1, 0, 0, 0, -1, 0, boundingRect().right(), boundingRect().bottom(), 1); - break; - } - - rotateAroundCenter(t); - setTransform(t); + if (mOrientation != orientation) + { + mOrientation = orientation; + QTransform t; + switch(orientation) + { + case BottomLeft: + t.setMatrix(1, 0, 0, 0, 1, 0, 0, 0, 1); + break; + case BottomRight: + t.setMatrix(-1, 0, 0, 0, 1, 0, boundingRect().right(), 0, 1); + break; + case TopLeft: + t.setMatrix(1, 0, 0, 0, -1, 0, 0, boundingRect().bottom(), 1); + break; + case TopRight: + t.setMatrix(-1, 0, 0, 0, -1, 0, boundingRect().right(), boundingRect().bottom(), 1); + break; + } + + this->angle = -this->angle; + rotateAroundCenter(t, rotationCenter()); + setTransform(t); + } } UBGraphicsScene* UBGraphicsTriangle::scene() const @@ -236,17 +240,19 @@ void UBGraphicsTriangle::paintGraduations(QPainter *painter) void UBGraphicsTriangle::rotateAroundCenter(qreal angle) { + qreal oldAngle = this->angle; this->angle = angle; QTransform transform; - rotateAroundCenter(transform); + rotateAroundCenter(transform, rotationCenter()); setTransform(transform, true); + this->angle = oldAngle + angle; // We have to store absolute value for FLIP case } -void UBGraphicsTriangle::rotateAroundCenter(QTransform& transform) +void UBGraphicsTriangle::rotateAroundCenter(QTransform& transform, QPointF center) { - transform.translate(rotationCenter().x(), rotationCenter().y()); + transform.translate(center.x(), center.y()); transform.rotate(angle); - transform.translate(- rotationCenter().x(), - rotationCenter().y()); + transform.translate(- center.x(), - center.y()); } @@ -388,11 +394,11 @@ void UBGraphicsTriangle::mouseMoveEvent(QGraphicsSceneMouseEvent *event) } else { - setRect( + setRect(QRectF( rect().left() - delta.x(), rect().top(), rect().width() + delta.x(), - rect().height(), + rect().height()), mOrientation ); } @@ -400,15 +406,18 @@ void UBGraphicsTriangle::mouseMoveEvent(QGraphicsSceneMouseEvent *event) if (mResizing2) { QPointF delta = event->pos() - event->lastPos(); - if (rect().height() + delta.y() < sMinHeight) + if (rect().height() - delta.y() < sMinHeight) delta.setY(sMinHeight - rect().height()); - qDebug() << delta; - setRect(QRect( + qDebug() << event->pos() << event->lastPos() << delta; + QRectF r( rect().left(), rect().top() + delta.y(), rect().width(), - rect().height() - delta.y()), - mOrientation); + rect().height() - delta.y()); + qDebug() << r; + setRect(r, mOrientation); + + } if (mRotating) { diff --git a/src/tools/UBGraphicsTriangle.h b/src/tools/UBGraphicsTriangle.h index 69e9f436..756a1fc6 100644 --- a/src/tools/UBGraphicsTriangle.h +++ b/src/tools/UBGraphicsTriangle.h @@ -94,7 +94,7 @@ class UBGraphicsTriangle : public UBAbstractDrawRuler, public QGraphicsPolygonIt QTransform calculateRotationTransform(); qreal angle; - void rotateAroundCenter(QTransform& transform); + void rotateAroundCenter(QTransform& transform, QPointF center); bool mResizing1; bool mResizing2; @@ -115,7 +115,7 @@ class UBGraphicsTriangle : public UBAbstractDrawRuler, public QGraphicsPolygonIt static const int d = 70; // width of triangle border static const int sArrowLength = 30; static const int sMinWidth = 200; - static const int sMinHeight = 150; + static const int sMinHeight = 200; }; #endif /* UBGRAPHICSTRIANGLE_H_ */ From 7d08495143441378997d7825fa159aa4394a8ff6 Mon Sep 17 00:00:00 2001 From: Anatoly Mihalchenko <tolik@scand.com> Date: Mon, 4 Jul 2011 18:25:59 +0300 Subject: [PATCH 2/2] Comp. errors in UBPreferencesControler - marked by ??? --- src/core/UBPreferencesController.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/core/UBPreferencesController.cpp b/src/core/UBPreferencesController.cpp index 2bf93f5b..6297f407 100644 --- a/src/core/UBPreferencesController.cpp +++ b/src/core/UBPreferencesController.cpp @@ -38,8 +38,8 @@ UBPreferencesController::UBPreferencesController(QWidget *parent) mPreferencesWindow = new QDialog(parent, Qt::Dialog); mPreferencesUI = new Ui::preferencesDialog(); // deleted in UBPreferencesController::destructor mPreferencesUI->setupUi(mPreferencesWindow); - connect(mPreferencesUI->Username_textBox, SIGNAL(editingFinished()), this, SLOT(onCommunityUsernameChanged())); - connect(mPreferencesUI->Password_textEdit, SIGNAL(editingFinished()), this, SLOT(onCommunityPasswordChanged())); + // ??? connect(mPreferencesUI->Username_textBox, SIGNAL(editingFinished()), this, SLOT(onCommunityUsernameChanged())); + // ??? connect(mPreferencesUI->Password_textEdit, SIGNAL(editingFinished()), this, SLOT(onCommunityPasswordChanged())); wire(); } @@ -162,8 +162,8 @@ void UBPreferencesController::init() mPreferencesUI->verticalChoice->setChecked(settings->appToolBarOrientationVertical->get().toBool()); mPreferencesUI->horizontalChoice->setChecked(!settings->appToolBarOrientationVertical->get().toBool()); - mPreferencesUI->Username_textBox->setText(settings->communityUsername()); - mPreferencesUI->Password_textEdit->setText(settings->communityPassword()); + // ??? mPreferencesUI->Username_textBox->setText(settings->communityUsername()); + // ??? mPreferencesUI->Password_textEdit->setText(settings->communityPassword()); // pen tab mPenProperties->fineSlider->setValue(settings->boardPenFineWidth->get().toDouble() * sSliderRatio); @@ -184,13 +184,13 @@ void UBPreferencesController::init() void UBPreferencesController::onCommunityUsernameChanged() { UBSettings* settings = UBSettings::settings(); - settings->setCommunityUsername(mPreferencesUI->Username_textBox->text()); + // ??? settings->setCommunityUsername(mPreferencesUI->Username_textBox->text()); } void UBPreferencesController::onCommunityPasswordChanged() { UBSettings* settings = UBSettings::settings(); - settings->setCommunityPassword(mPreferencesUI->Password_textEdit->text()); + // ??? settings->setCommunityPassword(mPreferencesUI->Password_textEdit->text()); } void UBPreferencesController::close()