Ajout de raccourcis clavier dans l'editeur pour editer les noms, le hotspot et les orientations.

Suppr est desormais le raccourci clavier pour supprimer du texte ou des elements, sans conflit, dans l'editeur de schemas comme dans l'editeur d'elements.
DEL/LED renommee en Voyant/Indicator.


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@154 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavierqet
2007-10-03 23:09:05 +00:00
parent 2293cf1f37
commit 7158935743
11 changed files with 48 additions and 4 deletions

View File

@@ -47,3 +47,12 @@ void DiagramTextItem::focusOutEvent(QFocusEvent *e) {
} }
} }
} }
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

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

View File

@@ -70,6 +70,10 @@ void DiagramView::selectInvert() {
Supprime les composants selectionnes Supprime les composants selectionnes
*/ */
void DiagramView::deleteSelection() { void DiagramView::deleteSelection() {
// 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 (scene -> focusItem()) return;
QSet<Element *> garbage_elmt; QSet<Element *> garbage_elmt;
QSet<Conductor *> garbage_conductors; QSet<Conductor *> garbage_conductors;
@@ -448,7 +452,9 @@ void DiagramView::dialogPrint() {
if (qpd.exec() == QDialog::Accepted) { if (qpd.exec() == QDialog::Accepted) {
QPainter qp(&qprin); QPainter qp(&qprin);
scene -> setDisplayGrid(false); scene -> setDisplayGrid(false);
scene -> setDrawTerminals(false);
scene -> render(&qp); scene -> render(&qp);
scene -> setDrawTerminals(true);
scene -> setDisplayGrid(true); scene -> setDisplayGrid(true);
} }
} }

View File

@@ -413,6 +413,11 @@ void ElementScene::slot_invertSelection() {
} }
void ElementScene::slot_delete() { 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 // verifie qu'il y a qqc de selectionne
QList<QGraphicsItem *> selected_items = selectedItems(); QList<QGraphicsItem *> selected_items = selectedItems();
if (selected_items.isEmpty()) return; if (selected_items.isEmpty()) return;

View File

@@ -133,3 +133,12 @@ QRectF PartText::boundingRect() const {
r.adjust(0.0, -2.0, 0.0, 0.0); r.adjust(0.0, -2.0, 0.0, 0.0);
return(r); 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

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

View File

@@ -150,3 +150,12 @@ QRectF PartTextField::boundingRect() const {
r.adjust(0.0, -2.0, 0.0, 0.0); r.adjust(0.0, -2.0, 0.0, 0.0);
return(r); 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

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

View File

@@ -60,7 +60,10 @@ void QETElementEditor::setupActions() {
selectall -> setShortcut(QKeySequence::SelectAll); selectall -> setShortcut(QKeySequence::SelectAll);
deselectall -> setShortcut(QKeySequence(tr("Ctrl+Shift+A"))); deselectall -> setShortcut(QKeySequence(tr("Ctrl+Shift+A")));
inv_select -> setShortcut(QKeySequence(tr("Ctrl+I"))); inv_select -> setShortcut(QKeySequence(tr("Ctrl+I")));
edit_delete -> setShortcut(QKeySequence(tr("Ctrl+Suppr"))); edit_delete -> setShortcut(QKeySequence(tr("Suppr")));
edit_names -> setShortcut(QKeySequence(tr("Ctrl+E")));
edit_size_hs -> setShortcut(QKeySequence(tr("Ctrl+R")));
edit_ori -> setShortcut(QKeySequence(tr("Ctrl+T")));
connect(new_element, SIGNAL(triggered()), this, SLOT(slot_new())); connect(new_element, SIGNAL(triggered()), this, SLOT(slot_new()));
connect(open, SIGNAL(triggered()), this, SLOT(slot_open())); connect(open, SIGNAL(triggered()), this, SLOT(slot_open()));

View File

@@ -1,8 +1,8 @@
<!DOCTYPE definition SYSTEM "definition_element.dtd"> <!DOCTYPE definition SYSTEM "definition_element.dtd">
<definition type="element" width="30" height="70" hotspot_x="15" hotspot_y="5" orientation="dnny"> <definition type="element" width="30" height="70" hotspot_x="15" hotspot_y="5" orientation="dnny">
<names> <names>
<name lang="fr">DEL</name> <name lang="fr">Voyant</name>
<name lang="en">LED</name> <name lang="en">Indicator</name>
</names> </names>
<description> <description>
<!--Lampe--> <!--Lampe-->

View File

@@ -207,7 +207,7 @@ void QETDiagramEditor::actions() {
select_all -> setShortcut(QKeySequence::SelectAll); select_all -> setShortcut(QKeySequence::SelectAll);
select_nothing -> setShortcut(QKeySequence(tr("Ctrl+Shift+A"))); select_nothing -> setShortcut(QKeySequence(tr("Ctrl+Shift+A")));
select_invert -> setShortcut(QKeySequence(tr("Ctrl+I"))); select_invert -> setShortcut(QKeySequence(tr("Ctrl+I")));
delete_selection -> setShortcut(QKeySequence(tr("Ctrl+Suppr"))); delete_selection -> setShortcut(QKeySequence(tr("Suppr")));
rotate_selection -> setShortcut(QKeySequence(tr("Ctrl+R"))); rotate_selection -> setShortcut(QKeySequence(tr("Ctrl+R")));
zoom_in -> setShortcut(QKeySequence::ZoomIn); zoom_in -> setShortcut(QKeySequence::ZoomIn);