Correction d'un conflit sur le schema lors de l'edition d'un champ de texte : les fleches de directions ne deplacent plus l'element parent du champ de texte

Nettoyage de la correction du conflit sur la touche Suppr (cf commit 154)


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@171 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavierqet
2007-10-12 10:58:57 +00:00
parent 0f86911493
commit a42ac3a4dc
12 changed files with 30 additions and 44 deletions

View File

@@ -93,7 +93,7 @@ void Diagram::keyPressEvent(QKeyEvent *e) {
case Qt::Key_Up: movement = QPointF(0.0, -yGrid); break;
case Qt::Key_Down: movement = QPointF(0.0, +yGrid); break;
}
if (!movement.isNull()) {
if (!movement.isNull() && !focusItem()) {
QSet<Element *> moved_elements = elementsToMove();
if (!moved_elements.isEmpty()) {
Element *first_elmt = NULL;

View File

@@ -47,16 +47,3 @@ void DiagramTextItem::focusOutEvent(QFocusEvent *e) {
}
}
}
/**
Gere le relachement des touches du clavier.
Cette methode a ete reimplementee pour gerer la touche Suppr/Del
*/
void DiagramTextItem::keyReleaseEvent(QKeyEvent *e) {
if (e -> key() == Qt::Key_Delete) {
QTextCursor text_cursor = textCursor();
text_cursor.deleteChar();
setTextCursor(text_cursor);
}
QGraphicsTextItem::keyReleaseEvent(e);
}

View File

@@ -24,6 +24,5 @@ class DiagramTextItem : public QGraphicsTextItem {
protected:
virtual void focusOutEvent(QFocusEvent *);
virtual void keyReleaseEvent(QKeyEvent *);
};
#endif

View File

@@ -702,3 +702,17 @@ void DiagramView::resetConductors() {
if (conductors_and_profiles.isEmpty()) return;
scene -> undoStack().push(new ResetConductorCommand(conductors_and_profiles));
}
/**
Gere les evenements de la DiagramView
@param e Evenement
*/
bool DiagramView::event(QEvent *e) {
// fait en sorte que les raccourcis clavier arrivent prioritairement sur la
// vue plutot que de remonter vers les QMenu / QAction
if (e -> type() == QEvent::ShortcutOverride && scene -> focusItem()) {
e -> accept();
return(true);
}
return(QGraphicsView::event(e));
}

View File

@@ -41,6 +41,7 @@ class DiagramView : public QGraphicsView {
protected:
virtual void wheelEvent(QWheelEvent *);
virtual bool event(QEvent *);
private:
bool saveDiagramToFile(QString &);

View File

@@ -418,11 +418,6 @@ void ElementScene::slot_invertSelection() {
}
void ElementScene::slot_delete() {
// si un item a le focus et que ce slot est appele, c'est sans doute parce
// que la touche suppr a ete enfoncee pour effacer une lettre et non la
// selection
if (focusItem()) return;
// verifie qu'il y a qqc de selectionne
QList<QGraphicsItem *> selected_items = selectedItems();
if (selected_items.isEmpty()) return;

View File

@@ -6,7 +6,7 @@
*/
ElementView::ElementView(ElementScene *scene, QWidget *parent) :
QGraphicsView(scene, parent),
_scene(scene)
scene_(scene)
{
setInteractive(true);
setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
@@ -22,7 +22,7 @@ ElementView::~ElementView() {
/// @return l'ElementScene visualisee par cette ElementView
ElementScene *ElementView::scene() const {
return(_scene);
return(scene_);
}
/**
@@ -31,5 +31,13 @@ ElementScene *ElementView::scene() const {
*/
void ElementView::setScene(ElementScene *s) {
QGraphicsView::setScene(s);
_scene = s;
scene_ = s;
}
bool ElementView::event(QEvent *e) {
if (e -> type() == QEvent::ShortcutOverride && scene_ -> focusItem()) {
e -> accept();
return(true);
}
return(QGraphicsView::event(e));
}

View File

@@ -16,9 +16,11 @@ class ElementView : public QGraphicsView {
public:
ElementScene *scene() const;
void setScene(ElementScene *);
protected:
bool event(QEvent *);
//attributs
private:
ElementScene *_scene;
ElementScene *scene_;
};
#endif

View File

@@ -133,12 +133,3 @@ QRectF PartText::boundingRect() const {
r.adjust(0.0, -2.0, 0.0, 0.0);
return(r);
}
void PartText::keyReleaseEvent(QKeyEvent *e) {
if (e -> key() == Qt::Key_Delete) {
QTextCursor text_cursor = textCursor();
text_cursor.deleteChar();
setTextCursor(text_cursor);
}
QGraphicsTextItem::keyReleaseEvent(e);
}

View File

@@ -31,7 +31,6 @@ class PartText : public QGraphicsTextItem, public CustomElementPart {
protected:
virtual void focusOutEvent(QFocusEvent *);
virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *);
virtual void keyReleaseEvent(QKeyEvent *);
virtual QVariant itemChange(GraphicsItemChange, const QVariant &);
QRectF boundingRect() const;

View File

@@ -150,12 +150,3 @@ QRectF PartTextField::boundingRect() const {
r.adjust(0.0, -2.0, 0.0, 0.0);
return(r);
}
void PartTextField::keyReleaseEvent(QKeyEvent *e) {
if (e -> key() == Qt::Key_Delete) {
QTextCursor text_cursor = textCursor();
text_cursor.deleteChar();
setTextCursor(text_cursor);
}
QGraphicsTextItem::keyReleaseEvent(e);
}

View File

@@ -35,7 +35,6 @@ class PartTextField : public QGraphicsTextItem, public CustomElementPart {
protected:
virtual void focusOutEvent(QFocusEvent *);
virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *);
virtual void keyReleaseEvent(QKeyEvent *);
virtual QVariant itemChange(GraphicsItemChange, const QVariant &);
QRectF boundingRect() const;