VirtualBox

Ignore:
Timestamp:
Apr 8, 2015 1:40:04 PM (10 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
99434
Message:

FE/Qt: 7676: Runtime UI: Disk Encryption (DE) support: Add Password dialog: Handle last password editor Enter/Return as dialog accept.

Location:
trunk/src/VBox/Frontends/VirtualBox/src/runtime
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIAddDiskEncryptionPasswordDialog.cpp

    r55092 r55135  
    6868    void sigCommitData(QWidget *pThis);
    6969
     70    /** Notifies listeners about Enter/Return key triggering. */
     71    void sigEnterKeyTriggered();
     72
    7073public:
    7174
     
    8386    /** Prepare routine. */
    8487    void prepare();
     88
     89    /** Key press @a pEvent handler. */
     90    void keyPressEvent(QKeyEvent *pEvent);
    8591
    8692    /** Property: Returns the current password of the editor. */
     
    154160    void sigDataChanged();
    155161
     162    /** Notifies listeners about editor's Enter/Return key triggering. */
     163    void sigEditorEnterKeyTriggered();
     164
    156165public:
    157166
     
    203212    connect(this, SIGNAL(textChanged(const QString&)),
    204213            this, SLOT(sltPasswordChanged(const QString&)));
     214}
     215
     216void UIPasswordEditor::keyPressEvent(QKeyEvent *pEvent)
     217{
     218    /* Call to base-class: */
     219    QLineEdit::keyPressEvent(pEvent);
     220
     221    /* Broadcast Enter/Return key press: */
     222    switch (pEvent->key())
     223    {
     224        case Qt::Key_Enter:
     225        case Qt::Key_Return:
     226            emit sigEnterKeyTriggered();
     227            break;
     228        default:
     229            break;
     230    }
    205231}
    206232
     
    467493        delete itemDelegate();
    468494        setItemDelegate(pStyledItemDelegate);
     495        /* Configure item delegate: */
     496        pStyledItemDelegate->setWatchForEditorEnterKeyTriggering(true);
     497        connect(pStyledItemDelegate, SIGNAL(sigEditorEnterKeyTriggered()),
     498                this, SIGNAL(sigEditorEnterKeyTriggered()));
    469499    }
    470500
     
    507537    AssertPtrReturn(m_pTableEncryptionData, EncryptionPasswordMap());
    508538    return m_pTableEncryptionData->encryptionPasswords();
     539}
     540
     541void UIAddDiskEncryptionPasswordDialog::sltEditorEnterKeyTriggered()
     542{
     543    if (m_pButtonBox->button(QDialogButtonBox::Ok)->isEnabled())
     544        accept();
    509545}
    510546
     
    536572                connect(m_pTableEncryptionData, SIGNAL(sigDataChanged()),
    537573                        this, SLOT(sltDataChanged()));
     574                connect(m_pTableEncryptionData, SIGNAL(sigEditorEnterKeyTriggered()),
     575                        this, SLOT(sltEditorEnterKeyTriggered()));
    538576                m_pTableEncryptionData->setFocus();
    539577                m_pTableEncryptionData->editFirstIndex();
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIAddDiskEncryptionPasswordDialog.h

    r55016 r55135  
    5959    void sltDataChanged() { revalidate(); }
    6060
     61    /** Handles editor's Enter/Return key triggering. */
     62    void sltEditorEnterKeyTriggered();
     63
    6164private:
    6265
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette