diff -r c13937960f1d -r 46553c106c52 mapeditor.cpp --- a/mapeditor.cpp Thu Mar 18 11:55:59 2010 +0000 +++ b/mapeditor.cpp Mon Mar 22 15:37:23 2010 +0000 @@ -461,42 +461,6 @@ setRenderHint(QPainter::SmoothPixmapTransform,b); } -void MapEditor::setHideTmp (bool b) // FIXME-4 better use signals -{ -/* - if (b) - { - setHideTmpMode (HideExport); - mapCenter->calcBBoxSizeWithChilds(); - QRectF totalBBox=mapCenter->getTotalBBox(); - //QRectF mapRect=totalBBox; - qDebug() << " map has =("<setBrush (QColor(white)); - frame->setPen (QColor(black)); - frame->setZValue(0); - frame->show(); - - } - else - { - setHideTmpMode (HideNone); - } - qDebug() <<" hidemode="< void MapEditor::autoLayout() { @@ -649,8 +613,22 @@ void MapEditor::testFunction1() { +/* qDebug()<< "ME::test1 selected TI="<getSelectedItem(); model->setExportMode (true); +*/ + QLineEdit *le3=new QLineEdit; + mapScene->addWidget (le3); + le3->setGeometry (10,10,100,30); + le3->setText("LineEdit 3"); + + QLineEdit *le4=new QLineEdit; + mapScene->addWidget (le4); + le4->setGeometry (10,50,100,30); + le4->setText("LineEdit 4"); + //le4->setFocus(); + + /* // Code copied from Qt sources @@ -932,17 +910,17 @@ model->setSelectionBlocked(true); lineEdit=new QLineEdit; - QGraphicsProxyWidget *pw=scene()->addWidget (lineEdit); + QGraphicsProxyWidget *pw=mapScene->addWidget (lineEdit); pw->setZValue (Z_LINEEDIT); - - lineEdit->setText (bi->getHeading()); + lineEdit->setCursor(Qt::IBeamCursor); + lineEdit->setCursorPosition(1); QPoint p = mapTo (this,bo->getAbsPos().toPoint() ); lineEdit->setGeometry(p.x(),p.y(),230,25); - //lineEdit->selectAll(); - //lineEdit->setCursorPosition (1); - lineEdit->show(); + lineEdit->setText (bi->getHeading()); lineEdit->setFocus(); - lineEdit->grabKeyboard(); + lineEdit->selectAll(); // Hack to enable cursor in lineEdit + lineEdit->deselect(); // probably a Qt bug... + //lineEdit->grabKeyboard(); editingHeading=true; } @@ -950,8 +928,8 @@ void MapEditor::editHeadingFinished() { editingHeading=false; - lineEdit->releaseKeyboard(); - lineEdit->clearFocus(); + //lineEdit->releaseKeyboard(); + //lineEdit->clearFocus(); QString s=lineEdit->text(); s.replace (QRegExp ("\\n")," "); // Don't paste newline chars model->setHeading (s); @@ -1007,6 +985,8 @@ void MapEditor::keyPressEvent(QKeyEvent* e) { + //qDebug()<<"ME::keyPressed"; + //return; if (e->modifiers() & Qt::ControlModifier) { switch (mainWindow->getModMode()) @@ -1025,6 +1005,7 @@ break; } } + QGraphicsView::keyPressEvent(e); } void MapEditor::keyReleaseEvent(QKeyEvent* e) @@ -1035,20 +1016,12 @@ void MapEditor::mousePressEvent(QMouseEvent* e) { -//qDebug() << "ME::mousePressed\n"; //FIXME-3 - // Ignore right clicks, these will go to context menus - if (e->button() == Qt::RightButton ) + // Ignore right clicks or wile editing heading + if (e->button() == Qt::RightButton or model->isSelectionBlocked() ) { //qDebug() << " ME::ignoring right mouse event...\n"; e->ignore(); - return; - } - - //Ignore clicks while editing heading - if (model->isSelectionBlocked() ) - { - //qDebug() << " ME::ignoring other mouse event...\n"; - e->ignore(); + QGraphicsView::mousePressEvent(e); return; } @@ -1209,10 +1182,12 @@ setCursor(HandOpenCursor); } } + QGraphicsView::mousePressEvent(e); } void MapEditor::mouseMoveEvent(QMouseEvent* e) { + QPointF p = mapToScene(e->pos()); TreeItem *seli=model->getSelectedItem(); LinkableMapObj* lmosel=NULL; @@ -1362,6 +1337,7 @@ horizontalScrollBar()->setSliderPosition((int)( movingCont_start.x()+movingVec.x() )); verticalScrollBar()->setSliderPosition((int)( movingCont_start.y()+movingVec.y() ) ); } + QGraphicsView::mouseMoveEvent (e); } @@ -1566,7 +1542,8 @@ } else // maybe we moved View: set old cursor setCursor (Qt::ArrowCursor); - + + QGraphicsView::mouseReleaseEvent(e); } void MapEditor::mouseDoubleClickEvent(QMouseEvent* e) @@ -1578,12 +1555,13 @@ } +/* if (model->isSelectionBlocked() ) { e->ignore(); return; } - +*/ if (e->button() == Qt::LeftButton ) { QPointF p = mapToScene(e->pos());