Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsInput.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsInput.cpp	(revision 64264)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsInput.cpp	(revision 64265)
@@ -50,4 +50,29 @@
     UIHotKeyColumnIndex_Sequence,
     UIHotKeyColumnIndex_Max
+};
+
+
+/** Global settings / Input page / Shortcut table cell. */
+class UIShortcutCacheCell : public QITableViewCell
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs table cell.
+      * @param  pParent  Brings the row this cell belongs too.
+      * @param  strText  Brings the text describing this cell. */
+    UIShortcutCacheCell(QITableViewRow *pParent, const QString &strText)
+        : QITableViewCell(pParent)
+        , m_strText(strText)
+    {}
+
+    /** Returns the cell text. */
+    virtual QString text() const /* override */ { return m_strText; }
+
+private:
+
+    /** Holds the cell text. */
+    QString m_strText;
 };
 
@@ -76,5 +101,8 @@
         , m_strCurrentSequence(strCurrentSequence)
         , m_strDefaultSequence(strDefaultSequence)
-    {}
+    {
+        /* Create cells: */
+        createCells();
+    }
 
     /** Constructs table row on the basis of @a other one. */
@@ -85,5 +113,15 @@
         , m_strCurrentSequence(other.currentSequence())
         , m_strDefaultSequence(other.defaultSequence())
-    {}
+    {
+        /* Create cells: */
+        createCells();
+    }
+
+    /** Destructs table row. */
+    ~UIShortcutCacheRow()
+    {
+        /* Destroy cells: */
+        destroyCells();
+    }
 
     /** Copies a table row from @a other one. */
@@ -96,4 +134,8 @@
         m_strCurrentSequence = other.currentSequence();
         m_strDefaultSequence = other.defaultSequence();
+
+        /* Recreate cells: */
+        destroyCells();
+        createCells();
 
         /* Return this: */
@@ -125,5 +167,5 @@
     virtual int childCount() const /* override */
     {
-        return 0;
+        return UIHotKeyColumnIndex_Max;
     }
 
@@ -131,9 +173,32 @@
     virtual QITableViewCell *childItem(int iIndex) const /* override */
     {
-        Q_UNUSED(iIndex);
+        switch (iIndex)
+        {
+            case UIHotKeyColumnIndex_Description: return m_cells.first;
+            case UIHotKeyColumnIndex_Sequence: return m_cells.second;
+            default: break;
+        }
         return 0;
     }
 
 private:
+
+    /** Creates cells. */
+    void createCells()
+    {
+        /* Create cells on the basis of description and current sequence: */
+        m_cells = qMakePair(new UIShortcutCacheCell(this, m_strDescription),
+                            new UIShortcutCacheCell(this, m_strCurrentSequence));
+    }
+
+    /** Destroys cells. */
+    void destroyCells()
+    {
+        /* Destroy cells: */
+        delete m_cells.first;
+        delete m_cells.second;
+        m_cells.first = 0;
+        m_cells.second = 0;
+    }
 
     /** Holds the key. */
@@ -145,4 +210,7 @@
     /** Holds the default sequence. */
     QString m_strDefaultSequence;
+
+    /** Holds the cell instances. */
+    QPair<UIShortcutCacheCell*, UIShortcutCacheCell*> m_cells;
 };
 
