From 6473d4fa0f39166820e8cea63f7a03f578d127da Mon Sep 17 00:00:00 2001 From: Anatoly Mihalchenko Date: Wed, 14 Dec 2011 16:40:41 +0300 Subject: [PATCH 1/3] SANKORE-332 / SANKORE-300 : fix crash --- src/board/UBBoardController.cpp | 4 +++- src/frameworks/UBCoreGraphicsScene.cpp | 13 +++++++++++++ src/frameworks/UBCoreGraphicsScene.h | 3 +++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/board/UBBoardController.cpp b/src/board/UBBoardController.cpp index 60ef79ee..17d47678 100644 --- a/src/board/UBBoardController.cpp +++ b/src/board/UBBoardController.cpp @@ -1212,7 +1212,9 @@ void UBBoardController::ClearUndoStack() QGraphicsItem* item = itUniq.next(); UBGraphicsScene *scene = (UBGraphicsScene*)item->scene(); if(!scene) - delete item; + { + bool retCode = mActiveScene->deleteItem(item); + } } } diff --git a/src/frameworks/UBCoreGraphicsScene.cpp b/src/frameworks/UBCoreGraphicsScene.cpp index 4412f9b1..bcac6202 100644 --- a/src/frameworks/UBCoreGraphicsScene.cpp +++ b/src/frameworks/UBCoreGraphicsScene.cpp @@ -53,3 +53,16 @@ void UBCoreGraphicsScene::removeItem(QGraphicsItem* item, bool forceDelete) delete item; } } + +bool UBCoreGraphicsScene::deleteItem(QGraphicsItem* item) +{ + if(mItemsToDelete.contains(item)) + { + mItemsToDelete.remove(item); + delete item; + return true; + } + else + return false; +} + diff --git a/src/frameworks/UBCoreGraphicsScene.h b/src/frameworks/UBCoreGraphicsScene.h index fdeaae49..656f2a00 100644 --- a/src/frameworks/UBCoreGraphicsScene.h +++ b/src/frameworks/UBCoreGraphicsScene.h @@ -28,6 +28,9 @@ class UBCoreGraphicsScene : public QGraphicsScene virtual void removeItem(QGraphicsItem* item, bool forceDelete = false); + virtual bool deleteItem(QGraphicsItem* item); + + private: QSet mItemsToDelete; }; From 644c513352293ed144ddda4845b0adf97c2798e4 Mon Sep 17 00:00:00 2001 From: Anatoly Mihalchenko Date: Wed, 14 Dec 2011 17:10:04 +0300 Subject: [PATCH 2/3] SANKORE-409 --- src/gui/UBTeacherBarWidget.cpp | 12 ++++++++++++ src/gui/UBTeacherBarWidget.h | 2 ++ 2 files changed, 14 insertions(+) diff --git a/src/gui/UBTeacherBarWidget.cpp b/src/gui/UBTeacherBarWidget.cpp index ea8348b1..c3986972 100644 --- a/src/gui/UBTeacherBarWidget.cpp +++ b/src/gui/UBTeacherBarWidget.cpp @@ -62,6 +62,7 @@ UBTeacherBarWidget::UBTeacherBarWidget(QWidget *parent, const char *name):UBDock mpTitleLabel->setAlignment(Qt::AlignRight); mpTitle = new QLineEdit(mpContainer); mpTitle->setObjectName("DockPaletteWidgetLineEdit"); + connect(mpTitle, SIGNAL(textChanged(const QString&)), this, SLOT(onTitleTextChanged(const QString&))); mpTitleLayout = new QHBoxLayout(); mpTitleLayout->addWidget(mpTitleLabel, 0); mpTitleLayout->addWidget(mpTitle, 1); @@ -95,6 +96,7 @@ UBTeacherBarWidget::UBTeacherBarWidget(QWidget *parent, const char *name):UBDock mpEquipmentLabel->setAlignment(Qt::AlignRight); mpEquipment = new QLineEdit(mpContainer); mpEquipment->setObjectName("DockPaletteWidgetLineEdit"); + connect(mpEquipment, SIGNAL(textChanged(const QString&)), this, SLOT(onEquipmentTextChanged(const QString&))); mpEquipmentLayout = new QHBoxLayout(); mpEquipmentLayout->addWidget(mpEquipmentLabel, 0); mpEquipmentLayout->addWidget(mpEquipment, 1); @@ -319,6 +321,16 @@ void UBTeacherBarWidget::loadContent() mpAction3->setStudentText(nextInfos.action3Student); } +void UBTeacherBarWidget::onTitleTextChanged(const QString& text) +{ + mpTitle->setToolTip(text); +} + +void UBTeacherBarWidget::onEquipmentTextChanged(const QString& text) +{ + mpEquipment->setToolTip(text); +} + UBTeacherStudentAction::UBTeacherStudentAction(int actionNumber, QWidget *parent, const char *name):QWidget(parent) , mpActionLabel(NULL) , mpTeacherLabel(NULL) diff --git a/src/gui/UBTeacherBarWidget.h b/src/gui/UBTeacherBarWidget.h index 555b6ef6..3f18bcbe 100644 --- a/src/gui/UBTeacherBarWidget.h +++ b/src/gui/UBTeacherBarWidget.h @@ -48,6 +48,8 @@ private slots: void saveContent(); void loadContent(); void onValueChanged(); + void onTitleTextChanged(const QString& text); + void onEquipmentTextChanged(const QString& text); private: void populateCombos(); From e2539163497e8396112b7fb1d020ddd226d13ca6 Mon Sep 17 00:00:00 2001 From: Anatoly Mihalchenko Date: Wed, 14 Dec 2011 17:22:32 +0300 Subject: [PATCH 3/3] Compilation error fix --- src/domain/UBGraphicsScene.cpp | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/domain/UBGraphicsScene.cpp b/src/domain/UBGraphicsScene.cpp index 635337a8..bd3b2b71 100644 --- a/src/domain/UBGraphicsScene.cpp +++ b/src/domain/UBGraphicsScene.cpp @@ -60,7 +60,7 @@ #include "UBGraphicsStroke.h" #include "core/memcheck.h" -#include "qtlogger.h" +//#include "qtlogger.h" qreal UBGraphicsScene::backgroundLayerStart = -20000000.0; qreal UBGraphicsScene::objectLayerStart = -10000000.0; @@ -140,8 +140,8 @@ UBGraphicsScene::UBGraphicsScene(UBDocumentProxy* parent) } connect(this, SIGNAL(selectionChanged()), this, SLOT(selectionChangedProcessing())); - QtLogger::logger().start("/home/ilia/Documents/tmp/2/log.txt"); - QtLogger::logger().finish(); + //QtLogger::logger().start("/home/ilia/Documents/tmp/2/log.txt"); + //QtLogger::logger().finish(); } UBGraphicsScene::~UBGraphicsScene() @@ -155,15 +155,15 @@ UBGraphicsScene::~UBGraphicsScene() void UBGraphicsScene::selectionChangedProcessing() { - QtLogger::logger().start("/home/ilia/Documents/tmp/2/log.txt"); - QtLogger::logger() << "selection processing started\n" << endl; + //QtLogger::logger().start("/home/ilia/Documents/tmp/2/log.txt"); + //QtLogger::logger() << "selection processing started\n" << endl; if (selectedItems().count()) UBApplication::showMessage("ZValue is " + QString::number(selectedItems().first()->zValue(), 'f')); QList allItemsList = items(); - QtLogger::logger() << "=====all items searching...======" << endl; + //QtLogger::logger() << "=====all items searching...======" << endl; qreal maxZ = 0.; for( int i = 0; i < allItemsList.size(); i++ ) { @@ -179,24 +179,24 @@ void UBGraphicsScene::selectionChangedProcessing() nextItem->setZValue(nextItem->data(UBGraphicsItemData::ItemOwnZValue).toReal()); // nextItem->setZValue(qreal(1)); - QtLogger::logger() << "own Z " << QString::number(nextItem->data(UBGraphicsItemData::ItemOwnZValue).toReal(), 'f') - << " next Z " << QString::number(nextItem->zValue(), 'f')<< endl; + //QtLogger::logger() << "own Z " << QString::number(nextItem->data(UBGraphicsItemData::ItemOwnZValue).toReal(), 'f') + // << " next Z " << QString::number(nextItem->zValue(), 'f')<< endl; // qDebug() << QString(" %1 ").arg(i) << QString(" %1 ").arg(zValue); } QList selItemsList = selectedItems(); - QtLogger::logger() << "=====selected items searching...======" << endl; + //QtLogger::logger() << "=====selected items searching...======" << endl; // QGraphicsItem *nextItem; for( int i = 0; i < selItemsList.size(); i++ ) { QGraphicsItem *nextItem = selItemsList.at(i); - QtLogger::logger() << "own Z " << QString::number(nextItem->data(UBGraphicsItemData::ItemOwnZValue).toReal(), 'f') - << " next Z " << QString::number(nextItem->zValue(), 'f')<< endl; + //QtLogger::logger() << "own Z " << QString::number(nextItem->data(UBGraphicsItemData::ItemOwnZValue).toReal(), 'f') + // << " next Z " << QString::number(nextItem->zValue(), 'f')<< endl; // qreal zValue = nextItem->zValue(); nextItem->setZValue(maxZ + 0.0001); // qDebug() << QString(" >>> %1 <<< ").arg(i) << QString(" >>> %1 <<< ").arg(zValue); } - QtLogger::logger() << "\nselection processing finished" << endl; - QtLogger::logger().finish(); + //QtLogger::logger() << "\nselection processing finished" << endl; + //QtLogger::logger().finish(); } // MARK: -