Index: trunk/src/VBox/Frontends/VirtualBox4/Makefile.kmk
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox4/Makefile.kmk	(revision 11343)
+++ trunk/src/VBox/Frontends/VirtualBox4/Makefile.kmk	(revision 11344)
@@ -498,5 +498,6 @@
 # Sources containing local definitions of classes that use the Q_OBJECT macro.
 VirtualBox4_QT_MOCSRCS = \
-	src/VBoxSelectorWnd.cpp
+	src/VBoxSelectorWnd.cpp \
+	src/VBoxDiskImageManagerDlg.cpp
 ifdef VBOX_WITH_XPCOM
  VirtualBox4_QT_MOCSRCS += \
Index: trunk/src/VBox/Frontends/VirtualBox4/include/VBoxDiskImageManagerDlg.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox4/include/VBoxDiskImageManagerDlg.h	(revision 11343)
+++ trunk/src/VBox/Frontends/VirtualBox4/include/VBoxDiskImageManagerDlg.h	(revision 11344)
@@ -33,5 +33,4 @@
 class DiskImageItem;
 class VBoxToolBar;
-class InfoPaneLabel;
 class VBoxProgressBar;
 
@@ -41,13 +40,16 @@
     Q_OBJECT;
 
-    enum TabIndex { HDTab = 0,
-                    CDTab,
-                    FDTab };
+    enum TabIndex { HDTab = 0, CDTab, FDTab };
 
 public:
 
-    VBoxDiskImageManagerDlg (QWidget *aParent = NULL, Qt::WindowFlags aFlags = Qt::Dialog);
+    VBoxDiskImageManagerDlg (QWidget *aParent = 0,
+                             Qt::WindowFlags aFlags = Qt::Dialog);
 
-    void setup (int aType, bool aDoSelect, const QUuid &aTargetVMId = QUuid(), bool aRefresh = true, CMachine aMachine = NULL, const QUuid &aHdId = QUuid(), const QUuid &aCdId = QUuid(), const QUuid &aFdId = QUuid());
+    void setup (int aType, bool aDoSelect, const QUuid &aTargetVMId = QUuid(),
+                bool aRefresh = true, CMachine aMachine = 0,
+                const QUuid &aHdId = QUuid(),
+                const QUuid &aCdId = QUuid(),
+                const QUuid &aFdId = QUuid());
 
     static void showModeless (bool aRefresh = true);
@@ -56,7 +58,10 @@
     QString selectedPath() const;
 
-    static QString composeHdToolTip (CHardDisk &aHd, VBoxMedia::Status aStatus, DiskImageItem *aItem = NULL);
-    static QString composeCdToolTip (CDVDImage &aCd, VBoxMedia::Status aStatus, DiskImageItem *aItem = NULL);
-    static QString composeFdToolTip (CFloppyImage &aFd, VBoxMedia::Status aStatus, DiskImageItem *aItem = NULL);
+    static QString composeHdToolTip (CHardDisk &aHd, VBoxMedia::Status aStatus,
+                                     DiskImageItem *aItem = 0);
+    static QString composeCdToolTip (CDVDImage &aCd, VBoxMedia::Status aStatus,
+                                     DiskImageItem *aItem = 0);
+    static QString composeFdToolTip (CFloppyImage &aFd, VBoxMedia::Status aStatus,
+                                     DiskImageItem *aItem = 0);
 
 public slots:
@@ -69,6 +74,4 @@
     virtual void closeEvent (QCloseEvent *aEvent);
     virtual bool eventFilter (QObject *aObject, QEvent *aEvent);
-    /* @todo: Currently not used (Ported from Qt3): */
-    virtual void machineStateChanged (const VBoxMachineStateChangeEvent &aEvent);
 
 private slots:
@@ -87,8 +90,9 @@
     void releaseImage();
 
-    void releaseDisk (const QUuid &aMachineId, const QUuid &aItemId, VBoxDefs::DiskType aDiskType);
+    void releaseDisk (const QUuid &aMachineId, const QUuid &aItemId,
+                      VBoxDefs::DiskType aDiskType);
 
     void processCurrentChanged (int index = -1);
-    void processCurrentChanged (QTreeWidgetItem *aItem, QTreeWidgetItem *aPrevItem = NULL);
+    void processCurrentChanged (QTreeWidgetItem *aItem, QTreeWidgetItem *aPrevItem = 0);
     void processDoubleClick (QTreeWidgetItem *aItem, int aColumn);
     void showContextMenu (const QPoint &aPos);
@@ -100,11 +104,12 @@
     QTreeWidget* currentTreeWidget() const;
 
-    QTreeWidgetItem *selectedItem (const QTreeWidget *aTree) const;
-    DiskImageItem *toDiskImageItem (QTreeWidgetItem *aItem) const;
+    QTreeWidgetItem* selectedItem (const QTreeWidget *aTree) const;
+    DiskImageItem* toDiskImageItem (QTreeWidgetItem *aItem) const;
 
     void setCurrentItem (QTreeWidget *aTree, QTreeWidgetItem *aItem);
 
     void addImageToList (const QString &aSource, VBoxDefs::DiskType aDiskType);
-    DiskImageItem* createImageNode (QTreeWidget *aTree, DiskImageItem *aRoot, const VBoxMedia &aMedia) const;
+    DiskImageItem* createImageNode (QTreeWidget *aTree, DiskImageItem *aRoot,
+                                    const VBoxMedia &aMedia) const;
 
     DiskImageItem* createHdItem (QTreeWidget *aTree, const VBoxMedia &aMedia) const;
@@ -126,7 +131,7 @@
     void clearInfoPanes();
     void prepareToRefresh (int aTotal = 0);
-    void createInfoString (InfoPaneLabel *&aInfo, QWidget* aRoot, bool aLeftRightMargin, int aRow, int aCol, int aRowSpan = 1, int aColSpan = 1) const;
 
-    void makeWarningMark (DiskImageItem *aItem, VBoxMedia::Status aStatus, VBoxDefs::DiskType aType) const;
+    void makeWarningMark (DiskImageItem *aItem, VBoxMedia::Status aStatus,
+                          VBoxDefs::DiskType aType) const;
 
     static QString DVDImageUsage (const QUuid &aId, QString &aSnapshotUsage);
@@ -165,17 +170,4 @@
     QAction     *mRefreshAction;
 
-    /* The grid entries in the various information panels */
-    InfoPaneLabel *mHdsPane1;
-    InfoPaneLabel *mHdsPane2;
-    InfoPaneLabel *mHdsPane3;
-    InfoPaneLabel *mHdsPane4;
-    InfoPaneLabel *mHdsPane5;
-    InfoPaneLabel *mHdsPane6;
-    InfoPaneLabel *mHdsPane7;
-    InfoPaneLabel *mCdsPane1;
-    InfoPaneLabel *mCdsPane2;
-    InfoPaneLabel *mFdsPane1;
-    InfoPaneLabel *mFdsPane2;
-
     /* Machine */
     CMachine mMachine;
Index: trunk/src/VBox/Frontends/VirtualBox4/src/VBoxDiskImageManagerDlg.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox4/src/VBoxDiskImageManagerDlg.cpp	(revision 11343)
+++ trunk/src/VBox/Frontends/VirtualBox4/src/VBoxDiskImageManagerDlg.cpp	(revision 11344)
@@ -28,5 +28,4 @@
 
 /* Qt includes */
-#include <QLabel>
 #include <QDir>
 #include <QFileInfo>
@@ -37,4 +36,5 @@
 #include <QProgressBar>
 
+
 class AddVDMUrlsEvent: public QEvent
 {
@@ -109,5 +109,5 @@
     {
         mToolTip = aToolTip;
-        for (int i=0; i < treeWidget()->columnCount(); ++i)
+        for (int i = 0; i < treeWidget()->columnCount(); ++ i)
             QTreeWidgetItem::setToolTip (i, mToolTip);
     }
@@ -170,4 +170,5 @@
 };
 
+
 class DiskImageItemIterator : public QTreeWidgetItemIterator
 {
@@ -181,5 +182,5 @@
         QTreeWidgetItem *item = QTreeWidgetItemIterator::operator*();
         return item && item->type() == QITreeWidget::BasicItemType ?
-            static_cast<DiskImageItem*> (item) : NULL;
+            static_cast<DiskImageItem*> (item) : 0;
     }
 
@@ -190,21 +191,9 @@
 };
 
-class InfoPaneLabel : public QILabel
-{
-public:
-
-    InfoPaneLabel (QWidget *aParent, QLabel *aLabel = 0)
-        : QILabel (aParent), mLabel (aLabel) {}
-
-    QLabel* label() const { return mLabel; }
-
-private:
-
-    /* Private member vars */
-    QLabel *mLabel;
-};
 
 class VBoxProgressBar: public QWidget
 {
+    Q_OBJECT;
+
 public:
 
@@ -212,35 +201,29 @@
         : QWidget (aParent)
     {
+        mText = new QLabel (this);
+        mProgressBar = new QProgressBar (this);
+        mProgressBar->setTextVisible (false);
+
         QHBoxLayout *layout = new QHBoxLayout (this);
         VBoxGlobal::setLayoutMargin (layout, 0);
-        mText = new QLabel ();
         layout->addWidget (mText);
-        mProgressBar = new QProgressBar;
-        /* The text is provided by our own label */
-        mProgressBar->setTextVisible (false);
         layout->addWidget (mProgressBar);
     }
 
-public slots:
-
-    void setText (const QString& aText) { mText->setText (aText); }
+    void setText (const QString &aText) { mText->setText (aText); }
     void setValue (int aValue) { mProgressBar->setValue (aValue); }
-    void setMinimum (int aValue) { mProgressBar->setMinimum (aValue); }
     void setMaximum (int aValue) { mProgressBar->setMaximum (aValue); }
-    void setRange (int aMin, int aMax) { mProgressBar->setRange (aMin, aMax); }
-
-    QLabel *label() const { return mText; }
-    QProgressBar *progressBar() const { return mProgressBar; }
 
 private:
 
-    /* Private member vars */
-    QLabel       *mText;
+    QLabel *mText;
     QProgressBar *mProgressBar;
 };
 
-VBoxDiskImageManagerDlg *VBoxDiskImageManagerDlg::mModelessDialog = NULL;
-
-VBoxDiskImageManagerDlg::VBoxDiskImageManagerDlg (QWidget *aParent /* = NULL */,  Qt::WindowFlags aFlags /* = 0 */)
+
+VBoxDiskImageManagerDlg* VBoxDiskImageManagerDlg::mModelessDialog = 0;
+
+VBoxDiskImageManagerDlg::VBoxDiskImageManagerDlg (QWidget *aParent /* = 0 */,
+                                                  Qt::WindowFlags aFlags /* = 0 */)
     : QIWithRetranslateUI2<QIMainDialog> (aParent, aFlags)
     , mType (VBoxDefs::InvalidType)
@@ -261,9 +244,9 @@
 
     /* Setup tab widget icons */
-    twImages->setTabIcon (HDTab, mIconHD);
-    twImages->setTabIcon (CDTab, mIconCD);
-    twImages->setTabIcon (FDTab, mIconFD);
-
-    connect (twImages, SIGNAL (currentChanged (int)),
+    mTwImages->setTabIcon (HDTab, mIconHD);
+    mTwImages->setTabIcon (CDTab, mIconCD);
+    mTwImages->setTabIcon (FDTab, mIconFD);
+
+    connect (mTwImages, SIGNAL (currentChanged (int)),
              this, SLOT (processCurrentChanged (int)));
 
@@ -272,5 +255,5 @@
     mHdsTree->header()->setResizeMode (1, QHeaderView::ResizeToContents);
     mHdsTree->header()->setResizeMode (2, QHeaderView::ResizeToContents);
-    mHdsTree->setSortingEnabled(true);
+    mHdsTree->setSortingEnabled (true);
     mHdsTree->setSupportedDropActions (Qt::LinkAction);
     mHdsTree->installEventFilter (this);
@@ -284,5 +267,5 @@
     mCdsTree->header()->setResizeMode (0, QHeaderView::Stretch);
     mCdsTree->header()->setResizeMode (1, QHeaderView::ResizeToContents);
-    mCdsTree->setSortingEnabled(true);
+    mCdsTree->setSortingEnabled (true);
     mCdsTree->setSupportedDropActions (Qt::LinkAction);
     mCdsTree->installEventFilter (this);
@@ -296,5 +279,5 @@
     mFdsTree->header()->setResizeMode (0, QHeaderView::Stretch);
     mFdsTree->header()->setResizeMode (1, QHeaderView::ResizeToContents);
-    mFdsTree->setSortingEnabled(true);
+    mFdsTree->setSortingEnabled (true);
     mFdsTree->setSupportedDropActions (Qt::LinkAction);
     mFdsTree->installEventFilter (this);
@@ -346,5 +329,5 @@
         ":/refresh_disabled_22px.png", ":/refresh_disabled_16px.png"));
 
-//    mActionsMenu->addAction (mEditAction);
+    // mActionsMenu->addAction (mEditAction);
     mActionsContextMenu->addAction (mRemoveAction);
     mActionsContextMenu->addAction (mReleaseAction);
@@ -382,5 +365,5 @@
     mActionsToolBar->addAction (mAddAction);
     mActionsToolBar->addSeparator();
-//    mActionsToolBar->addAction (mEditAction);
+    // mActionsToolBar->addAction (mEditAction);
     mActionsToolBar->addAction (mRemoveAction);
     mActionsToolBar->addAction (mReleaseAction);
@@ -393,5 +376,5 @@
     mActionsMenu->addAction (mAddAction);
     mActionsMenu->addSeparator();
-//    mActionsMenu->addAction (mEditAction);
+    // mActionsMenu->addAction (mEditAction);
     mActionsMenu->addAction (mRemoveAction);
     mActionsMenu->addAction (mReleaseAction);
@@ -399,28 +382,8 @@
     mActionsMenu->addAction (mRefreshAction);
 
-//    qApp->installEventFilter (this);
-
-    /* Setup information pane layouts */
-    QGridLayout *hdsContainerLayout = new QGridLayout (mHdsContainer);
-    VBoxGlobal::setLayoutMargin (hdsContainerLayout, 5);
-    hdsContainerLayout->setSpacing (0);
-    QGridLayout *cdsContainerLayout = new QGridLayout (mCdsContainer);
-    VBoxGlobal::setLayoutMargin (cdsContainerLayout, 5);
-    cdsContainerLayout->setSpacing (0);
-    QGridLayout *fdsContainerLayout = new QGridLayout (mFdsContainer);
-    VBoxGlobal::setLayoutMargin (fdsContainerLayout, 5);
-    fdsContainerLayout->setSpacing (0);
-    /* Create info-pane for hd list-view */
-    createInfoString (mHdsPane1, mHdsContainer, false, 0, 0, 1, 3);
-    createInfoString (mHdsPane2, mHdsContainer,  true, 1, 0);
-    createInfoString (mHdsPane3, mHdsContainer, false, 1, 2);
-    createInfoString (mHdsPane4, mHdsContainer,  true, 2, 0);
-    createInfoString (mHdsPane5, mHdsContainer, false, 2, 2);
-    /* Create info-pane for cd list-view */
-    createInfoString (mCdsPane1, mCdsContainer, false, 0, 0);
-    createInfoString (mCdsPane2, mCdsContainer, false, 1, 0);
-    /* Create info-pane for fd list-view */
-    createInfoString (mFdsPane1, mFdsContainer, false, 0, 0);
-    createInfoString (mFdsPane2, mFdsContainer, false, 1, 0);
+    /* Setup information pane */
+    QList<QILabel*> paneList = findChildren<QILabel*>();
+    foreach (QILabel *infoPane, paneList)
+        infoPane->setFullSizeSelection (true);
 
     /* Enumeration progressbar creation */
@@ -441,13 +404,10 @@
     connect (mButtonBox, SIGNAL (helpRequested()),
              &vboxProblem(), SLOT (showHelpHelpDialog()));
-
-    /* Applying language settings */
-    retranslateUi();
 }
 
 void VBoxDiskImageManagerDlg::setup (int aType, bool aDoSelect,
-                                     const QUuid &aTargetVMId /* = NULL */,
+                                     const QUuid &aTargetVMId /* = 0 */,
                                      bool aRefresh /* = true */,
-                                     CMachine aMachine /* = NULL */,
+                                     CMachine aMachine /* = 0 */,
                                      const QUuid &aHdId,
                                      const QUuid &aCdId,
@@ -460,7 +420,7 @@
 
     mType = aType;
-    twImages->setTabEnabled (HDTab, mType & VBoxDefs::HD);
-    twImages->setTabEnabled (CDTab, mType & VBoxDefs::CD);
-    twImages->setTabEnabled (FDTab, mType & VBoxDefs::FD);
+    mTwImages->setTabEnabled (HDTab, mType & VBoxDefs::HD);
+    mTwImages->setTabEnabled (CDTab, mType & VBoxDefs::CD);
+    mTwImages->setTabEnabled (FDTab, mType & VBoxDefs::FD);
 
     mDoSelect = aDoSelect;
@@ -468,8 +428,5 @@
         mTargetVMId = aTargetVMId;
 
-    if (mDoSelect)
-        mButtonBox->button (QDialogButtonBox::Ok)->setText (tr ("&Select"));
-    else
-        mButtonBox->button (QDialogButtonBox::Cancel)->setVisible (false);
+    mButtonBox->button (QDialogButtonBox::Cancel)->setVisible (mDoSelect);
 
     /* Listen to "media enumeration started" signals */
@@ -527,4 +484,7 @@
         if (QTreeWidgetItem *item = mFdsTree->topLevelItem (0))
             setCurrentItem (mFdsTree, item);
+
+    /* Applying language settings */
+    retranslateUi();
 }
 
@@ -535,8 +495,8 @@
     {
         mModelessDialog =
-            new VBoxDiskImageManagerDlg (NULL, Qt::Window);
+            new VBoxDiskImageManagerDlg (0, Qt::Window);
         mModelessDialog->setAttribute (Qt::WA_DeleteOnClose);
         mModelessDialog->setup (VBoxDefs::HD | VBoxDefs::CD | VBoxDefs::FD,
-                                false, NULL, aRefresh);
+                                false, 0, aRefresh);
 
         /* listen to events that may change the media status and refresh
@@ -648,6 +608,6 @@
         case VBoxMedia::Error:
         {
-            /// @todo (r=dmik) paass a complete VBoxMedia instance here
-            //  to get the result of blabla.GetAccessible() call form CUnknown
+            /// @todo (r=dmik) pass a complete VBoxMedia instance here
+            //  to get the result of blabla.GetAccessible() call from CUnknown
             tip = tr ("<nobr><b>%1</b></nobr><br>"
                       "Error checking media accessibility", "HDD")
@@ -713,6 +673,6 @@
         case VBoxMedia::Error:
         {
-            /// @todo (r=dmik) paass a complete VBoxMedia instance here
-            //  to get the result of blabla.GetAccessible() call form CUnknown
+            /// @todo (r=dmik) pass a complete VBoxMedia instance here
+            //  to get the result of blabla.GetAccessible() call from CUnknown
             tip = tr ("<nobr><b>%1</b></nobr><br>"
                       "Error checking media accessibility", "CD/DVD/Floppy")
@@ -780,6 +740,6 @@
         case VBoxMedia::Error:
         {
-            /// @todo (r=dmik) paass a complete VBoxMedia instance here
-            //  to get the result of blabla.GetAccessible() call form CUnknown
+            /// @todo (r=dmik) pass a complete VBoxMedia instance here
+            //  to get the result of blabla.GetAccessible() call from CUnknown
             tip = tr ("<nobr><b>%1</b></nobr><br>"
                       "Error checking media accessibility", "CD/DVD/Floppy")
@@ -837,13 +797,16 @@
     mRefreshAction->setStatusTip (tr ("Refresh the media list"));
 
-    mHdsPane1->label()->setText (QString ("<nobr>%1:</nobr>").arg (tr ("Location")));
-    mHdsPane2->label()->setText (QString ("<nobr>%1:</nobr>").arg (tr ("Disk Type")));
-    mHdsPane3->label()->setText (QString ("<nobr>&nbsp;&nbsp;%1:</nobr>").arg (tr ("Storage Type")));
-    mHdsPane4->label()->setText (QString ("<nobr>%1:</nobr>").arg (tr ("Attached to")));
-    mHdsPane5->label()->setText (QString ("<nobr>&nbsp;&nbsp;%1:</nobr>").arg (tr ("Snapshot")));
-    mCdsPane1->label()->setText (QString ("<nobr>%1:</nobr>").arg (tr ("Location")));
-    mCdsPane2->label()->setText (QString ("<nobr>%1:</nobr>").arg (tr ("Attached to")));
-    mFdsPane1->label()->setText (QString ("<nobr>%1:</nobr>").arg (tr ("Location")));
-    mFdsPane2->label()->setText (QString ("<nobr>%1:</nobr>").arg (tr ("Attached to")));
+    mNewAction->setToolTip (mNewAction->text().remove ('&') +
+        QString (" (%1)").arg (mNewAction->shortcut().toString()));
+    mAddAction->setToolTip (mAddAction->text().remove ('&') +
+        QString (" (%1)").arg (mAddAction->shortcut().toString()));
+    // mEditAction->setToolTip (mEditAction->text().remove ('&') +
+    //     QString (" (%1)").arg (mEditAction->shortcut().toString()));
+    mRemoveAction->setToolTip (mRemoveAction->text().remove ('&') +
+        QString (" (%1)").arg (mRemoveAction->shortcut().toString()));
+    mReleaseAction->setToolTip (mReleaseAction->text().remove ('&') +
+        QString (" (%1)").arg (mReleaseAction->shortcut().toString()));
+    mRefreshAction->setToolTip (mRefreshAction->text().remove ('&') +
+        QString (" (%1)").arg (mRefreshAction->shortcut().toString()));
 
     mProgressBar->setText (tr ("Checking accessibility"));
@@ -856,4 +819,7 @@
 #endif
 
+    if (mDoSelect)
+        mButtonBox->button (QDialogButtonBox::Ok)->setText (tr ("&Select"));
+
     if (mHdsTree->model()->rowCount() || mCdsTree->model()->rowCount() || mFdsTree->model()->rowCount())
         refreshAll();
@@ -862,5 +828,5 @@
 void VBoxDiskImageManagerDlg::closeEvent (QCloseEvent *aEvent)
 {
-    mModelessDialog = NULL;
+    mModelessDialog = 0;
     aEvent->accept();
 }
@@ -871,35 +837,35 @@
     {
         case QEvent::DragEnter:
+        {
+            QDragEnterEvent *deEvent = static_cast<QDragEnterEvent*> (aEvent);
+            if (deEvent->mimeData()->hasUrls())
             {
-                QDragEnterEvent *deEvent = static_cast<QDragEnterEvent*> (aEvent);
-                if (deEvent->mimeData()->hasUrls())
+                QList<QUrl> urls = deEvent->mimeData()->urls();
+                /* Sometimes urls has an empty Url entry. Filter them out. */
+                urls.removeAll (QUrl());
+                if (checkDndUrls (urls))
                 {
-                    QList<QUrl> urls = deEvent->mimeData()->urls();
-                    /* Sometimes urls has an empty Url entry. Filter them out. */
-                    urls.removeAll (QUrl());
-                    if (checkDndUrls (urls))
-                    {
-                        deEvent->setDropAction (Qt::LinkAction);
-                        deEvent->acceptProposedAction();
-                    }
+                    deEvent->setDropAction (Qt::LinkAction);
+                    deEvent->acceptProposedAction();
                 }
-                return true;
-                break;
             }
+            return true;
+            break;
+        }
         case QEvent::Drop:
+        {
+            QDropEvent *dEvent = static_cast<QDropEvent*> (aEvent);
+            if (dEvent->mimeData()->hasUrls())
             {
-                QDropEvent *dEvent = static_cast<QDropEvent*> (aEvent);
-                if (dEvent->mimeData()->hasUrls())
-                {
-                    QList<QUrl> urls = dEvent->mimeData()->urls();
-                    /* Sometimes urls has an empty Url entry. Filter them out. */
-                    urls.removeAll (QUrl());
-                    AddVDMUrlsEvent *event = new AddVDMUrlsEvent (urls);
-                    QApplication::postEvent (currentTreeWidget(), event);
-                    dEvent->acceptProposedAction();
-                }
-                return true;
-                break;
+                QList<QUrl> urls = dEvent->mimeData()->urls();
+                /* Sometimes urls has an empty Url entry. Filter them out. */
+                urls.removeAll (QUrl());
+                AddVDMUrlsEvent *event = new AddVDMUrlsEvent (urls);
+                QApplication::postEvent (currentTreeWidget(), event);
+                dEvent->acceptProposedAction();
             }
+            return true;
+            break;
+        }
         case VBoxDefs::AddVDMUrlsEventType:
         {
@@ -918,27 +884,4 @@
 }
 
-/* @todo: Currently not used (Ported from Qt3): */
-void VBoxDiskImageManagerDlg::machineStateChanged (const VBoxMachineStateChangeEvent &aEvent)
-{
-    /// @todo (r=dmik) IVirtualBoxCallback::OnMachineStateChange
-    //  must also expose the old state! In this case we won't need to cache
-    //  the state value in every class in GUI that uses this signal.
-
-    switch (aEvent.state)
-    {
-        case KMachineState_PoweredOff:
-        case KMachineState_Aborted:
-        case KMachineState_Saved:
-        case KMachineState_Starting:
-        case KMachineState_Restoring:
-        {
-            refreshAll();
-            break;
-        }
-        default:
-            break;
-    }
-}
-
 void VBoxDiskImageManagerDlg::mediaAdded (const VBoxMedia &aMedia)
 {
@@ -947,5 +890,5 @@
         return;
 
-    DiskImageItem *item = NULL;
+    DiskImageItem *item = 0;
     switch (aMedia.type)
     {
@@ -993,5 +936,5 @@
         return;
 
-    DiskImageItem *item = NULL;
+    DiskImageItem *item = 0;
     switch (aMedia.type)
     {
@@ -1048,6 +991,6 @@
                            aType == VBoxDefs::CD ? mIconCD :
                            aType == VBoxDefs::FD ? mIconFD : QIcon();
-        Assert (index != -1 && !set.isNull()); /* atype should be the correct one */
-        twImages->setTabIcon (index, set);
+        Assert (index != -1 && !set.isNull()); /* aType should be the correct one */
+        mTwImages->setTabIcon (index, set);
     }
 }
@@ -1056,7 +999,7 @@
 {
     /* Load default tab icons */
-    twImages->setTabIcon (HDTab, mIconHD);
-    twImages->setTabIcon (CDTab, mIconCD);
-    twImages->setTabIcon (FDTab, mIconFD);
+    mTwImages->setTabIcon (HDTab, mIconHD);
+    mTwImages->setTabIcon (CDTab, mIconCD);
+    mTwImages->setTabIcon (FDTab, mIconFD);
 
     /* Load current media list */
@@ -1144,26 +1087,26 @@
     {
         case VBoxDefs::HD:
-            {
-                filter = tr ("All hard disk images (*.vdi *.vmdk);;"
-                             "Virtual Disk images (*.vdi);;"
-                             "VMDK images (*.vmdk);;"
-                             "All files (*)");
-                title = tr ("Select a hard disk image file");
-                break;
-            }
+        {
+            filter = tr ("All hard disk images (*.vdi *.vmdk);;"
+                         "Virtual Disk images (*.vdi);;"
+                         "VMDK images (*.vmdk);;"
+                         "All files (*)");
+            title = tr ("Select a hard disk image file");
+            break;
+        }
         case VBoxDefs::CD:
-            {
-                filter = tr ("CD/DVD-ROM images (*.iso);;"
-                             "All files (*)");
-                title = tr ("Select a CD/DVD-ROM disk image file");
-                break;
-            }
+        {
+            filter = tr ("CD/DVD-ROM images (*.iso);;"
+                         "All files (*)");
+            title = tr ("Select a CD/DVD-ROM disk image file");
+            break;
+        }
         case VBoxDefs::FD:
-            {
-                filter = tr ("Floppy images (*.img);;"
-                             "All files (*)");
-                title = tr ("Select a floppy disk image file");
-                break;
-            }
+        {
+            filter = tr ("Floppy images (*.img);;"
+                         "All files (*)");
+            title = tr ("Select a floppy disk image file");
+            break;
+        }
         default:
             AssertMsgFailed (("Selected tree should be equal to one item in VBoxDefs::DiskType.\n"));
@@ -1194,47 +1137,47 @@
     {
         case VBoxDefs::HD:
+        {
+            bool deleteImage = false;
+
+            /// @todo When creation of VMDK is implemented, we should
+            /// enable image deletion for  them as well (use
+            /// GetStorageType() to define the correct cast).
+            CHardDisk disk = item->media().disk;
+            if (disk.GetStorageType() == KHardDiskStorageType_VirtualDiskImage &&
+                disk.GetParent().isNull() && /* must not be differencing (see below) */
+                item->status() == VBoxMedia::Ok)
             {
-                bool deleteImage = false;
-
+                int rc = vboxProblem().confirmHardDiskImageDeletion (this, src);
+                if (rc == QIMessageBox::Cancel)
+                    return;
+                deleteImage = rc == QIMessageBox::Yes;
+            }
+            else
+            {
+                /// @todo note that differencing images are always automatically
+                /// deleted when unregistered, but the following message box
+                /// doesn't mention it. I keep it as is for now because
+                /// implementing the portability feature will most likely change
+                /// this behavior (we'll update the message afterwards).
+                if (!vboxProblem().confirmHardDiskUnregister (this, src))
+                    return;
+            }
+
+            CHardDisk hd = mVBox.UnregisterHardDisk (uuid);
+            if (!mVBox.isOk())
+                vboxProblem().cannotUnregisterMedia (this, mVBox, type, src);
+            else if (deleteImage)
+            {
                 /// @todo When creation of VMDK is implemented, we should
                 /// enable image deletion for  them as well (use
                 /// GetStorageType() to define the correct cast).
-                CHardDisk disk = item->media().disk;
-                if (disk.GetStorageType() == KHardDiskStorageType_VirtualDiskImage &&
-                    disk.GetParent().isNull() && /* must not be differencing (see below) */
-                    item->status() == VBoxMedia::Ok)
-                {
-                    int rc = vboxProblem().confirmHardDiskImageDeletion (this, src);
-                    if (rc == QIMessageBox::Cancel)
-                        return;
-                    deleteImage = rc == QIMessageBox::Yes;
-                }
-                else
-                {
-                    /// @todo note that differencing images are always automatically
-                    /// deleted when unregistered, but the following message box
-                    /// doesn't mention it. I keep it as is for now because
-                    /// implementing the portability feature will most likely change
-                    /// this behavior (we'll update the message afterwards).
-                    if (!vboxProblem().confirmHardDiskUnregister (this, src))
-                        return;
-                }
-
-                CHardDisk hd = mVBox.UnregisterHardDisk (uuid);
-                if (!mVBox.isOk())
-                    vboxProblem().cannotUnregisterMedia (this, mVBox, type, src);
-                else if (deleteImage)
-                {
-                    /// @todo When creation of VMDK is implemented, we should
-                    /// enable image deletion for  them as well (use
-                    /// GetStorageType() to define the correct cast).
-                    CVirtualDiskImage vdi = CUnknown (hd);
-                    if (vdi.isOk())
-                        vdi.DeleteImage();
-                    if (!vdi.isOk())
-                        vboxProblem().cannotDeleteHardDiskImage (this, vdi);
-                }
-                break;
+                CVirtualDiskImage vdi = CUnknown (hd);
+                if (vdi.isOk())
+                    vdi.DeleteImage();
+                if (!vdi.isOk())
+                    vboxProblem().cannotDeleteHardDiskImage (this, vdi);
             }
+            break;
+        }
         case VBoxDefs::CD:
             mVBox.UnregisterDVDImage (uuid);
@@ -1267,61 +1210,61 @@
         /* If it is a hard disk sub-item: */
         case VBoxDefs::HD:
+        {
+            CHardDisk hd = item->media().disk;
+            QUuid machineId = hd.GetMachineId();
+            if (vboxProblem().confirmReleaseImage (this,
+                mVBox.GetMachine (machineId).GetName()))
             {
-                CHardDisk hd = item->media().disk;
-                QUuid machineId = hd.GetMachineId();
-                if (vboxProblem().confirmReleaseImage (this,
-                                                       mVBox.GetMachine (machineId).GetName()))
-                {
-                    releaseDisk (machineId, itemId, VBoxDefs::HD);
-                    VBoxMedia media (item->media());
-                    media.status = hd.GetAccessible() ? VBoxMedia::Ok :
-                        hd.isOk() ? VBoxMedia::Inaccessible :
-                        VBoxMedia::Error;
-                    vboxGlobal().updateMedia (media);
-                }
-                break;
+                releaseDisk (machineId, itemId, VBoxDefs::HD);
+                VBoxMedia media (item->media());
+                media.status = hd.GetAccessible() ? VBoxMedia::Ok :
+                    hd.isOk() ? VBoxMedia::Inaccessible :
+                    VBoxMedia::Error;
+                vboxGlobal().updateMedia (media);
             }
+            break;
+        }
         /* If it is a cd/dvd sub-item: */
         case VBoxDefs::CD:
+        {
+            QString usage = item->totalUsage();
+            if (vboxProblem().confirmReleaseImage (this, usage))
             {
-                QString usage = item->totalUsage();
-                if (vboxProblem().confirmReleaseImage (this, usage))
-                {
-                    QStringList permMachines =
-                        mVBox.GetDVDImageUsage (itemId,
-                                               KResourceUsage_Permanent).split (' ', QString::SkipEmptyParts);
-                    for (QStringList::Iterator it = permMachines.begin();
-                         it != permMachines.end(); ++it)
-                        releaseDisk (QUuid (*it), itemId, VBoxDefs::CD);
-
-                    CDVDImage cd = mVBox.GetDVDImage (itemId);
-                    VBoxMedia media (item->media());
-                    media.status = cd.GetAccessible() ? VBoxMedia::Ok :
-                        cd.isOk() ? VBoxMedia::Inaccessible :
-                        VBoxMedia::Error;
-                    vboxGlobal().updateMedia (media);
-                }
+                QStringList permMachines =
+                    mVBox.GetDVDImageUsage (itemId,
+                                           KResourceUsage_Permanent).split (' ', QString::SkipEmptyParts);
+                for (QStringList::Iterator it = permMachines.begin();
+                     it != permMachines.end(); ++it)
+                    releaseDisk (QUuid (*it), itemId, VBoxDefs::CD);
+
+                CDVDImage cd = mVBox.GetDVDImage (itemId);
+                VBoxMedia media (item->media());
+                media.status = cd.GetAccessible() ? VBoxMedia::Ok :
+                    cd.isOk() ? VBoxMedia::Inaccessible :
+                    VBoxMedia::Error;
+                vboxGlobal().updateMedia (media);
             }
+        }
         /* If it is a floppy sub-item: */
         case VBoxDefs::FD:
+        {
+            QString usage = item->totalUsage();
+            if (vboxProblem().confirmReleaseImage (this, usage))
             {
-                QString usage = item->totalUsage();
-                if (vboxProblem().confirmReleaseImage (this, usage))
-                {
-                    QStringList permMachines =
-                        mVBox.GetFloppyImageUsage (itemId,
-                                                  KResourceUsage_Permanent).split (' ', QString::SkipEmptyParts);
-                    for (QStringList::Iterator it = permMachines.begin();
-                         it != permMachines.end(); ++it)
-                        releaseDisk (QUuid (*it), itemId, VBoxDefs::FD);
-
-                    CFloppyImage fd = mVBox.GetFloppyImage (itemId);
-                    VBoxMedia media (item->media());
-                    media.status = fd.GetAccessible() ? VBoxMedia::Ok :
-                        fd.isOk() ? VBoxMedia::Inaccessible :
-                        VBoxMedia::Error;
-                    vboxGlobal().updateMedia (media);
-                }
+                QStringList permMachines =
+                    mVBox.GetFloppyImageUsage (itemId,
+                                              KResourceUsage_Permanent).split (' ', QString::SkipEmptyParts);
+                for (QStringList::Iterator it = permMachines.begin();
+                     it != permMachines.end(); ++it)
+                    releaseDisk (QUuid (*it), itemId, VBoxDefs::FD);
+
+                CFloppyImage fd = mVBox.GetFloppyImage (itemId);
+                VBoxMedia media (item->media());
+                media.status = fd.GetAccessible() ? VBoxMedia::Ok :
+                    fd.isOk() ? VBoxMedia::Inaccessible :
+                    VBoxMedia::Error;
+                vboxGlobal().updateMedia (media);
             }
+        }
         default:
             AssertMsgFailed (("Selected tree should be equal to one item in VBoxDefs::DiskType.\n"));
@@ -1396,5 +1339,5 @@
 QTreeWidget* VBoxDiskImageManagerDlg::treeWidget (VBoxDefs::DiskType aType) const
 {
-    QTreeWidget* tree = NULL;
+    QTreeWidget* tree = 0;
     switch (aType)
     {
@@ -1418,5 +1361,5 @@
 {
     VBoxDefs::DiskType type = VBoxDefs::InvalidType;
-    switch (twImages->currentIndex ())
+    switch (mTwImages->currentIndex ())
     {
         case HDTab:
@@ -1430,5 +1373,5 @@
             break;
         default:
-            AssertMsgFailed (("Page type %d unknown!\n", twImages->currentIndex ()));
+            AssertMsgFailed (("Page type %d unknown!\n", mTwImages->currentIndex ()));
             break;
     }
@@ -1450,5 +1393,5 @@
         return selItems.first();
     else
-        return NULL;
+        return 0;
 }
 
@@ -1457,8 +1400,8 @@
 {
     /* Convert the QTreeWidgetItem to a DiskImageItem if it is valid. */
-    DiskImageItem *item = NULL;
+    DiskImageItem *item = 0;
     if (aItem &&
         aItem->type() == QITreeWidget::BasicItemType)
-        item = static_cast <DiskImageItem *> (aItem);
+        item = static_cast <DiskImageItem*> (aItem);
 
     return item;
@@ -1480,22 +1423,9 @@
     QTreeWidget *tree = currentTreeWidget();
     tree->setFocus();
-
-    /* Tab stop setup */
-    setTabOrder (mHdsTree, mHdsPane1);
-    setTabOrder (mHdsPane1, mHdsPane2);
-    setTabOrder (mHdsPane2, mHdsPane3);
-    setTabOrder (mHdsPane3, mHdsPane4);
-    setTabOrder (mHdsPane4, mHdsPane5);
-
-    setTabOrder (mCdsTree, mCdsPane1);
-    setTabOrder (mCdsPane1, mCdsPane2);
-
-    setTabOrder (mFdsTree, mFdsPane1);
-    setTabOrder (mFdsPane1, mFdsPane2);
-
     processCurrentChanged (tree->currentItem());
 }
 
-void VBoxDiskImageManagerDlg::processCurrentChanged (QTreeWidgetItem *aItem, QTreeWidgetItem *aPrevItem /* = NULL */)
+void VBoxDiskImageManagerDlg::processCurrentChanged (QTreeWidgetItem *aItem,
+                                                     QTreeWidgetItem *aPrevItem /* = 0 */)
 {
     DiskImageItem *item = toDiskImageItem (aItem);
@@ -1569,4 +1499,8 @@
     else
         clearInfoPanes();
+
+    mHdsContainer->setEnabled (item);
+    mCdsContainer->setEnabled (item);
+    mFdsContainer->setEnabled (item);
 }
 
@@ -1663,7 +1597,7 @@
                                                          const VBoxMedia &aMedia) const
 {
-    Assert (!(aTree == NULL && aRoot == NULL));
-
-    DiskImageItem *item = NULL;
+    Assert (!(aTree == 0 && aRoot == 0));
+
+    DiskImageItem *item = 0;
 
     if (aRoot)
@@ -1822,5 +1756,5 @@
 {
     if (aId.isNull())
-        return NULL;
+        return 0;
 
     DiskImageItemIterator iterator (aTree);
@@ -1829,7 +1763,7 @@
         if ((*iterator)->uuid() == aId)
             return *iterator;
-        ++iterator;
-    }
-    return NULL;
+        ++ iterator;
+    }
+    return 0;
 }
 
@@ -1842,7 +1776,7 @@
         if ((*iterator)->status() == aStatus)
             return *iterator;
-        ++iterator;
-    }
-    return NULL;
+        ++ iterator;
+    }
+    return 0;
 }
 
@@ -1856,56 +1790,56 @@
     {
         case VBoxDefs::HD:
-            {
-                CHardDisk hd = aItem->media().disk;
-                QUuid machineId = hd.GetMachineId();
-                if (machineId.isNull() ||
-                    (mVBox.GetMachine (machineId).GetState() != KMachineState_PoweredOff &&
-                     mVBox.GetMachine (machineId).GetState() != KMachineState_Aborted))
+        {
+            CHardDisk hd = aItem->media().disk;
+            QUuid machineId = hd.GetMachineId();
+            if (machineId.isNull() ||
+                (mVBox.GetMachine (machineId).GetState() != KMachineState_PoweredOff &&
+                 mVBox.GetMachine (machineId).GetState() != KMachineState_Aborted))
+                return false;
+            break;
+        }
+        case VBoxDefs::CD:
+        {
+            /* Check if there is temporary usage: */
+            QStringList tempMachines =
+                mVBox.GetDVDImageUsage (itemId,
+                                       KResourceUsage_Temporary).split (' ', QString::SkipEmptyParts);
+            if (!tempMachines.isEmpty())
+                return false;
+            /* Only permanently mounted .iso could be released */
+            QStringList permMachines =
+                mVBox.GetDVDImageUsage (itemId,
+                                       KResourceUsage_Permanent).split (' ', QString::SkipEmptyParts);
+            for (QStringList::Iterator it = permMachines.begin();
+                 it != permMachines.end(); ++it)
+                if (mVBox.GetMachine(QUuid (*it)).GetState() != KMachineState_PoweredOff &&
+                    mVBox.GetMachine(QUuid (*it)).GetState() != KMachineState_Aborted)
                     return false;
-                break;
-            }
-        case VBoxDefs::CD:
-            {
-                /* Check if there is temporary usage: */
-                QStringList tempMachines =
-                    mVBox.GetDVDImageUsage (itemId,
-                                           KResourceUsage_Temporary).split (' ', QString::SkipEmptyParts);
-                if (!tempMachines.isEmpty())
+            break;
+        }
+        case VBoxDefs::FD:
+        {
+            /* Check if there is temporary usage: */
+            QStringList tempMachines =
+                mVBox.GetFloppyImageUsage (itemId,
+                                          KResourceUsage_Temporary).split (' ', QString::SkipEmptyParts);
+            if (!tempMachines.isEmpty())
+                return false;
+            /* Only permanently mounted floppies could be released */
+            QStringList permMachines =
+                mVBox.GetFloppyImageUsage (itemId,
+                                          KResourceUsage_Permanent).split (' ', QString::SkipEmptyParts);
+            for (QStringList::Iterator it = permMachines.begin();
+                 it != permMachines.end(); ++it)
+                if (mVBox.GetMachine(QUuid (*it)).GetState() != KMachineState_PoweredOff &&
+                    mVBox.GetMachine(QUuid (*it)).GetState() != KMachineState_Aborted)
                     return false;
-                /* Only permanently mounted .iso could be released */
-                QStringList permMachines =
-                    mVBox.GetDVDImageUsage (itemId,
-                                           KResourceUsage_Permanent).split (' ', QString::SkipEmptyParts);
-                for (QStringList::Iterator it = permMachines.begin();
-                     it != permMachines.end(); ++it)
-                    if (mVBox.GetMachine(QUuid (*it)).GetState() != KMachineState_PoweredOff &&
-                        mVBox.GetMachine(QUuid (*it)).GetState() != KMachineState_Aborted)
-                        return false;
-                break;
-            }
-        case VBoxDefs::FD:
-            {
-                /* Check if there is temporary usage: */
-                QStringList tempMachines =
-                    mVBox.GetFloppyImageUsage (itemId,
-                                              KResourceUsage_Temporary).split (' ', QString::SkipEmptyParts);
-                if (!tempMachines.isEmpty())
-                    return false;
-                /* Only permanently mounted floppies could be released */
-                QStringList permMachines =
-                    mVBox.GetFloppyImageUsage (itemId,
-                                              KResourceUsage_Permanent).split (' ', QString::SkipEmptyParts);
-                for (QStringList::Iterator it = permMachines.begin();
-                     it != permMachines.end(); ++it)
-                    if (mVBox.GetMachine(QUuid (*it)).GetState() != KMachineState_PoweredOff &&
-                        mVBox.GetMachine(QUuid (*it)).GetState() != KMachineState_Aborted)
-                        return false;
-                break;
-            }
+            break;
+        }
         default:
-            {
-                return false;
-                break;
-            }
+        {
+            return false;
+            break;
+        }
     }
     return true;
@@ -2001,37 +1935,4 @@
 }
 
-void VBoxDiskImageManagerDlg::createInfoString (InfoPaneLabel *&aInfo,
-                                                QWidget *aRoot,
-                                                bool aLeftRightMargin,
-                                                int aRow, int aCol,
-                                                int aRowSpan /* = 1 */, int aColSpan /* = 1 */) const
-{
-    /* Create the label & the info pane itself */
-    QLabel *nameLabel = new QLabel (aRoot);
-    aInfo = new InfoPaneLabel (aRoot, nameLabel);
-
-    /* We would the full size selection mode */
-    aInfo->setFullSizeSelection (true);
-
-    /* Prevent the name columns from being expanded */
-    nameLabel->setSizePolicy (QSizePolicy::Fixed, QSizePolicy::Fixed);
-
-    QGridLayout *rootLayout = qobject_cast<QGridLayout*> (aRoot->layout());
-    Assert (VALID_PTR (rootLayout));
-
-    /* Add the two widgets */
-    rootLayout->addWidget (nameLabel, aRow, aCol, 1, 1);
-    int margin = aInfo->style()->pixelMetric (QStyle::PM_LayoutHorizontalSpacing);
-#if QT_VERSION >= 0x040300
-    if (margin == -1)
-        margin = aInfo->style()->layoutSpacing (QSizePolicy::Label, QSizePolicy::Label, Qt::Horizontal);
-#endif /* QT_VERSION >= 0x040300 */
-    if (aLeftRightMargin)
-        aInfo->setContentsMargins (margin, 0, margin, 0);
-    else
-        aInfo->setContentsMargins (margin, 0, 0, 0);
-    rootLayout->addWidget (aInfo, aRow, aCol + 1, aRowSpan, aColSpan);
-}
-
 void VBoxDiskImageManagerDlg::makeWarningMark (DiskImageItem *aItem,
                                                VBoxMedia::Status aStatus,
@@ -2049,5 +1950,5 @@
                     aType == VBoxDefs::FD ? FDTab : -1;
         Assert (index != -1); /* aType should be correct */
-        twImages->setTabIcon (index, icon);
+        mTwImages->setTabIcon (index, icon);
         aItem->treeWidget()->scrollToItem (aItem, QAbstractItemView::EnsureVisible);
     }
@@ -2067,6 +1968,5 @@
 
     for (QStringList::Iterator it = permMachines.begin();
-         it != permMachines.end();
-         ++it)
+         it != permMachines.end(); ++ it)
     {
         if (!usage.isEmpty())
@@ -2080,6 +1980,5 @@
 
     for (QStringList::Iterator it = tempMachines.begin();
-         it != tempMachines.end();
-         ++it)
+         it != tempMachines.end(); ++ it)
     {
         /* Skip IDs that are in the permanent list */
@@ -2114,6 +2013,5 @@
 
     for (QStringList::Iterator it = permMachines.begin();
-         it != permMachines.end();
-         ++it)
+         it != permMachines.end(); ++ it)
     {
         if (!usage.isEmpty())
@@ -2127,6 +2025,5 @@
 
     for (QStringList::Iterator it = tempMachines.begin();
-         it != tempMachines.end();
-         ++it)
+         it != tempMachines.end(); ++ it)
     {
         /* Skip IDs that are in the permanent list */
@@ -2186,2 +2083,4 @@
 }
 
+#include "VBoxDiskImageManagerDlg.moc"
+
Index: trunk/src/VBox/Frontends/VirtualBox4/ui/VBoxDiskImageManagerDlg.ui
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox4/ui/VBoxDiskImageManagerDlg.ui	(revision 11343)
+++ trunk/src/VBox/Frontends/VirtualBox4/ui/VBoxDiskImageManagerDlg.ui	(revision 11344)
@@ -39,10 +39,10 @@
    <iconset resource="../VirtualBox.qrc" >:/diskim_16px.png</iconset>
   </property>
-  <widget class="QWidget" name="centralwidget" >
+  <widget class="QWidget" name="mCentralWidget" >
    <layout class="QHBoxLayout" >
     <item>
      <layout class="QVBoxLayout" >
       <item>
-       <widget class="QTabWidget" name="twImages" >
+       <widget class="QTabWidget" name="mTwImages" >
         <property name="sizePolicy" >
          <sizepolicy vsizetype="Expanding" hsizetype="Preferred" >
@@ -54,7 +54,7 @@
          <number>0</number>
         </property>
-        <widget class="QWidget" name="tbHardDisk" >
+        <widget class="QWidget" name="mTbHD" >
          <attribute name="title" >
-          <string>&amp;Hard Disks</string>
+          <string>Hard &amp;Disks</string>
          </attribute>
          <layout class="QVBoxLayout" >
@@ -101,9 +101,111 @@
              <enum>QFrame::Sunken</enum>
             </property>
+            <layout class="QGridLayout" >
+             <property name="leftMargin" >
+              <number>5</number>
+             </property>
+             <property name="topMargin" >
+              <number>5</number>
+             </property>
+             <property name="rightMargin" >
+              <number>5</number>
+             </property>
+             <property name="bottomMargin" >
+              <number>5</number>
+             </property>
+             <property name="verticalSpacing" >
+              <number>0</number>
+             </property>
+             <item row="0" column="0" >
+              <widget class="QLabel" name="mLbHD1" >
+               <property name="text" >
+                <string>&lt;nobr>Location:&lt;/nobr></string>
+               </property>
+              </widget>
+             </item>
+             <item row="0" column="1" colspan="3" >
+              <widget class="QILabel" name="mHdsPane1" >
+               <property name="sizePolicy" >
+                <sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
+                 <horstretch>0</horstretch>
+                 <verstretch>0</verstretch>
+                </sizepolicy>
+               </property>
+              </widget>
+             </item>
+             <item row="1" column="0" >
+              <widget class="QLabel" name="mLbHD2" >
+               <property name="text" >
+                <string>&lt;nobr>Disk Type:&lt;/nobr></string>
+               </property>
+              </widget>
+             </item>
+             <item row="1" column="1" >
+              <widget class="QILabel" name="mHdsPane2" >
+               <property name="sizePolicy" >
+                <sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
+                 <horstretch>0</horstretch>
+                 <verstretch>0</verstretch>
+                </sizepolicy>
+               </property>
+              </widget>
+             </item>
+             <item row="1" column="2" >
+              <widget class="QLabel" name="mLbHD3" >
+               <property name="text" >
+                <string>&lt;nobr>&amp;nbsp;&amp;nbsp;Storage Type:&lt;/nobr></string>
+               </property>
+              </widget>
+             </item>
+             <item row="1" column="3" >
+              <widget class="QILabel" name="mHdsPane3" >
+               <property name="sizePolicy" >
+                <sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
+                 <horstretch>0</horstretch>
+                 <verstretch>0</verstretch>
+                </sizepolicy>
+               </property>
+              </widget>
+             </item>
+             <item row="2" column="0" >
+              <widget class="QLabel" name="mLbHD4" >
+               <property name="text" >
+                <string>&lt;nobr>Attached to:&lt;/nobr></string>
+               </property>
+              </widget>
+             </item>
+             <item row="2" column="1" >
+              <widget class="QILabel" name="mHdsPane4" >
+               <property name="sizePolicy" >
+                <sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
+                 <horstretch>0</horstretch>
+                 <verstretch>0</verstretch>
+                </sizepolicy>
+               </property>
+              </widget>
+             </item>
+             <item row="2" column="2" >
+              <widget class="QLabel" name="mLbHD5" >
+               <property name="text" >
+                <string>&lt;nobr>&amp;nbsp;&amp;nbsp;Snapshot:&lt;/nobr></string>
+               </property>
+              </widget>
+             </item>
+             <item row="2" column="3" >
+              <widget class="QILabel" name="mHdsPane5" >
+               <property name="sizePolicy" >
+                <sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
+                 <horstretch>0</horstretch>
+                 <verstretch>0</verstretch>
+                </sizepolicy>
+               </property>
+              </widget>
+             </item>
+            </layout>
            </widget>
           </item>
          </layout>
         </widget>
-        <widget class="QWidget" name="tbCD" >
+        <widget class="QWidget" name="mTbCD" >
          <attribute name="title" >
           <string>&amp;CD/DVD Images</string>
@@ -147,9 +249,60 @@
              <enum>QFrame::Sunken</enum>
             </property>
+            <layout class="QGridLayout" >
+             <property name="leftMargin" >
+              <number>5</number>
+             </property>
+             <property name="topMargin" >
+              <number>5</number>
+             </property>
+             <property name="rightMargin" >
+              <number>5</number>
+             </property>
+             <property name="bottomMargin" >
+              <number>5</number>
+             </property>
+             <property name="verticalSpacing" >
+              <number>0</number>
+             </property>
+             <item row="0" column="0" >
+              <widget class="QLabel" name="mLbCD1" >
+               <property name="text" >
+                <string>&lt;nobr>Location:&lt;/nobr></string>
+               </property>
+              </widget>
+             </item>
+             <item row="0" column="1" >
+              <widget class="QILabel" name="mCdsPane1" >
+               <property name="sizePolicy" >
+                <sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
+                 <horstretch>0</horstretch>
+                 <verstretch>0</verstretch>
+                </sizepolicy>
+               </property>
+              </widget>
+             </item>
+             <item row="1" column="0" >
+              <widget class="QLabel" name="mLbCD2" >
+               <property name="text" >
+                <string>&lt;nobr>Attached to:&lt;/nobr></string>
+               </property>
+              </widget>
+             </item>
+             <item row="1" column="1" >
+              <widget class="QILabel" name="mCdsPane2" >
+               <property name="sizePolicy" >
+                <sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
+                 <horstretch>0</horstretch>
+                 <verstretch>0</verstretch>
+                </sizepolicy>
+               </property>
+              </widget>
+             </item>
+            </layout>
            </widget>
           </item>
          </layout>
         </widget>
-        <widget class="QWidget" name="tbFloppy" >
+        <widget class="QWidget" name="mTbFD" >
          <attribute name="title" >
           <string>&amp;Floppy Images</string>
@@ -193,4 +346,58 @@
              <enum>QFrame::Sunken</enum>
             </property>
+            <layout class="QGridLayout" >
+             <property name="leftMargin" >
+              <number>5</number>
+             </property>
+             <property name="topMargin" >
+              <number>5</number>
+             </property>
+             <property name="rightMargin" >
+              <number>5</number>
+             </property>
+             <property name="bottomMargin" >
+              <number>5</number>
+             </property>
+             <property name="horizontalSpacing" >
+              <number>-1</number>
+             </property>
+             <property name="verticalSpacing" >
+              <number>0</number>
+             </property>
+             <item row="0" column="0" >
+              <widget class="QLabel" name="mLbFD1" >
+               <property name="text" >
+                <string>&lt;nobr>Location:&lt;/nobr></string>
+               </property>
+              </widget>
+             </item>
+             <item row="0" column="1" >
+              <widget class="QILabel" name="mFdsPane1" >
+               <property name="sizePolicy" >
+                <sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
+                 <horstretch>0</horstretch>
+                 <verstretch>0</verstretch>
+                </sizepolicy>
+               </property>
+              </widget>
+             </item>
+             <item row="1" column="0" >
+              <widget class="QLabel" name="mLbFD2" >
+               <property name="text" >
+                <string>&lt;nobr>Attached to:&lt;/nobr></string>
+               </property>
+              </widget>
+             </item>
+             <item row="1" column="1" >
+              <widget class="QILabel" name="mFdsPane2" >
+               <property name="sizePolicy" >
+                <sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
+                 <horstretch>0</horstretch>
+                 <verstretch>0</verstretch>
+                </sizepolicy>
+               </property>
+              </widget>
+             </item>
+            </layout>
            </widget>
           </item>
@@ -210,5 +417,5 @@
    </layout>
   </widget>
-  <widget class="QStatusBar" name="statusBar" />
+  <widget class="QStatusBar" name="mStatusBar" />
  </widget>
  <customwidgets>
@@ -223,4 +430,9 @@
    <header>QITreeWidget.h</header>
   </customwidget>
+  <customwidget>
+   <class>QILabel</class>
+   <extends>QLabel</extends>
+   <header>QILabel.h</header>
+  </customwidget>
  </customwidgets>
  <resources>
