Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIAddDiskEncryptionPasswordDialog.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIAddDiskEncryptionPasswordDialog.cpp	(revision 55134)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIAddDiskEncryptionPasswordDialog.cpp	(revision 55135)
@@ -68,4 +68,7 @@
     void sigCommitData(QWidget *pThis);
 
+    /** Notifies listeners about Enter/Return key triggering. */
+    void sigEnterKeyTriggered();
+
 public:
 
@@ -83,4 +86,7 @@
     /** Prepare routine. */
     void prepare();
+
+    /** Key press @a pEvent handler. */
+    void keyPressEvent(QKeyEvent *pEvent);
 
     /** Property: Returns the current password of the editor. */
@@ -154,4 +160,7 @@
     void sigDataChanged();
 
+    /** Notifies listeners about editor's Enter/Return key triggering. */
+    void sigEditorEnterKeyTriggered();
+
 public:
 
@@ -203,4 +212,21 @@
     connect(this, SIGNAL(textChanged(const QString&)),
             this, SLOT(sltPasswordChanged(const QString&)));
+}
+
+void UIPasswordEditor::keyPressEvent(QKeyEvent *pEvent)
+{
+    /* Call to base-class: */
+    QLineEdit::keyPressEvent(pEvent);
+
+    /* Broadcast Enter/Return key press: */
+    switch (pEvent->key())
+    {
+        case Qt::Key_Enter:
+        case Qt::Key_Return:
+            emit sigEnterKeyTriggered();
+            break;
+        default:
+            break;
+    }
 }
 
@@ -467,4 +493,8 @@
         delete itemDelegate();
         setItemDelegate(pStyledItemDelegate);
+        /* Configure item delegate: */
+        pStyledItemDelegate->setWatchForEditorEnterKeyTriggering(true);
+        connect(pStyledItemDelegate, SIGNAL(sigEditorEnterKeyTriggered()),
+                this, SIGNAL(sigEditorEnterKeyTriggered()));
     }
 
@@ -507,4 +537,10 @@
     AssertPtrReturn(m_pTableEncryptionData, EncryptionPasswordMap());
     return m_pTableEncryptionData->encryptionPasswords();
+}
+
+void UIAddDiskEncryptionPasswordDialog::sltEditorEnterKeyTriggered()
+{
+    if (m_pButtonBox->button(QDialogButtonBox::Ok)->isEnabled())
+        accept();
 }
 
@@ -536,4 +572,6 @@
                 connect(m_pTableEncryptionData, SIGNAL(sigDataChanged()),
                         this, SLOT(sltDataChanged()));
+                connect(m_pTableEncryptionData, SIGNAL(sigEditorEnterKeyTriggered()),
+                        this, SLOT(sltEditorEnterKeyTriggered()));
                 m_pTableEncryptionData->setFocus();
                 m_pTableEncryptionData->editFirstIndex();
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIAddDiskEncryptionPasswordDialog.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIAddDiskEncryptionPasswordDialog.h	(revision 55134)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIAddDiskEncryptionPasswordDialog.h	(revision 55135)
@@ -59,4 +59,7 @@
     void sltDataChanged() { revalidate(); }
 
+    /** Handles editor's Enter/Return key triggering. */
+    void sltEditorEnterKeyTriggered();
+
 private:
 
