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 0421bcea..a9c876cd 100644 Binary files a/resources/images/toolPalette/triangleTool.png and b/resources/images/toolPalette/triangleTool.png differ 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() 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_ */