From 287e458f4b0bcdcac490003d56580b538ab41a2e Mon Sep 17 00:00:00 2001 From: xavier Date: Tue, 1 Mar 2011 23:26:31 +0000 Subject: [PATCH] Merged trunk into 0.3 branch: rev1067 to rev1077 git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/branches/0.3@1179 bfdf4180-ca20-0410-9c96-a3a8aa849046 --- sources/conductorpropertieswidget.cpp | 15 +++++++++++++++ sources/conductorpropertieswidget.h | 3 +++ sources/diagramview.cpp | 1 + 3 files changed, 19 insertions(+) diff --git a/sources/conductorpropertieswidget.cpp b/sources/conductorpropertieswidget.cpp index a34eca5eb..96f0e7480 100644 --- a/sources/conductorpropertieswidget.cpp +++ b/sources/conductorpropertieswidget.cpp @@ -45,6 +45,7 @@ ConductorPropertiesWidget::ConductorPropertiesWidget(const ConductorProperties & /// construit l'interface du widget void ConductorPropertiesWidget::buildInterface() { + setFocusPolicy(Qt::StrongFocus); setMinimumSize(380, 350); QVBoxLayout *main_layout = new QVBoxLayout(this); @@ -291,3 +292,17 @@ void ConductorPropertiesWidget::setReadOnly(bool ro) { color_button -> setDisabled(ro); dashed_checkbox -> setDisabled(ro); } + +/** + Gere le focus de ce widget +*/ +void ConductorPropertiesWidget::focusInEvent(QFocusEvent *event) { + if (properties_.type == ConductorProperties::Multi) { + text_field -> setFocus(Qt::ActiveWindowFocusReason); + text_field -> selectAll(); + } else if (properties_.type == ConductorProperties::Single) { + phase_spinbox -> setFocus(Qt::ActiveWindowFocusReason); + phase_spinbox -> selectAll(); + } + QWidget::focusInEvent(event); +} diff --git a/sources/conductorpropertieswidget.h b/sources/conductorpropertieswidget.h index 289d6af6b..862c720f2 100644 --- a/sources/conductorpropertieswidget.h +++ b/sources/conductorpropertieswidget.h @@ -54,6 +54,9 @@ class ConductorPropertiesWidget : public QWidget { void updateDisplay(); void chooseColor(); + protected: + void focusInEvent(QFocusEvent *); + // attributs prives private: QButtonGroup *radio_buttons; diff --git a/sources/diagramview.cpp b/sources/diagramview.cpp index 3e18403b0..8124a0535 100644 --- a/sources/diagramview.cpp +++ b/sources/diagramview.cpp @@ -840,6 +840,7 @@ void DiagramView::editConductor(Conductor *edited_conductor) { dialog_layout -> addWidget(dbb); connect(dbb, SIGNAL(accepted()), &conductor_dialog, SLOT(accept())); connect(dbb, SIGNAL(rejected()), &conductor_dialog, SLOT(reject())); + cpw -> setFocus(Qt::ActiveWindowFocusReason); // execute le dialogue et met a jour le conducteur if (conductor_dialog.exec() == QDialog::Accepted) {