Index: trunk/src/VBox/Frontends/VirtualBox4/include/VBoxFilePathSelectorWidget.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox4/include/VBoxFilePathSelectorWidget.h	(revision 11425)
+++ trunk/src/VBox/Frontends/VirtualBox4/include/VBoxFilePathSelectorWidget.h	(revision 11427)
@@ -44,5 +44,5 @@
     };
 
-    VBoxFilePathSelectorWidget (QWidget *aParent = 0);
+    VBoxFilePathSelectorWidget (QWidget *aParent);
    ~VBoxFilePathSelectorWidget();
 
@@ -53,18 +53,5 @@
     bool isResetEnabled () const;
 
-#if 0
-
-    /// @todo enabling this requires to allow to customize the names of the
-    /// "Other..." and "Reset" items too which is not yet done.
-
-    void setNoneToolTip (const QString &aText);
-    void setSelectToolTip (const QString &aText);
-    void setResetToolTip (const QString &aText);
-
-#endif /* 0 */
-
     bool isModified() const;
-
-public slots:
 
     void setPath (const QString &aPath);
@@ -74,5 +61,4 @@
 
     void selectPath();
-    void resetPath();
 
 protected:
@@ -89,5 +75,5 @@
 
     QIcon defaultIcon() const;
-    QString filePath() const;
+    QString fullPath (bool aAbsolute = true) const;
     QString shrinkText (int aWidth) const;
     void refreshText();
Index: trunk/src/VBox/Frontends/VirtualBox4/include/VBoxGLSettingsGeneral.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox4/include/VBoxGLSettingsGeneral.h	(revision 11425)
+++ trunk/src/VBox/Frontends/VirtualBox4/include/VBoxGLSettingsGeneral.h	(revision 11427)
@@ -49,5 +49,4 @@
 private slots:
 
-    void onResetFolderClicked();
     void onSelectFolderClicked();
 };
Index: trunk/src/VBox/Frontends/VirtualBox4/include/VBoxVMSettingsGeneral.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox4/include/VBoxVMSettingsGeneral.h	(revision 11425)
+++ trunk/src/VBox/Frontends/VirtualBox4/include/VBoxVMSettingsGeneral.h	(revision 11427)
@@ -64,5 +64,4 @@
 
     void selectSnapshotFolder();
-    void resetSnapshotFolder();
 
 private:
Index: trunk/src/VBox/Frontends/VirtualBox4/src/VBoxFilePathSelectorWidget.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox4/src/VBoxFilePathSelectorWidget.cpp	(revision 11425)
+++ trunk/src/VBox/Frontends/VirtualBox4/src/VBoxFilePathSelectorWidget.cpp	(revision 11427)
@@ -22,4 +22,5 @@
 
 #include "VBoxFilePathSelectorWidget.h"
+#include "VBoxGlobal.h"
 
 /* Qt includes */
@@ -30,6 +31,4 @@
 #include <QFileIconProvider>
 
-#include <VBoxDefs.h>
-
 enum
 {
@@ -39,5 +38,5 @@
 };
 
-VBoxFilePathSelectorWidget::VBoxFilePathSelectorWidget (QWidget *aParent /* = 0 */)
+VBoxFilePathSelectorWidget::VBoxFilePathSelectorWidget (QWidget *aParent)
     : QIWithRetranslateUI<QComboBox> (aParent)
     , mIconProvider (new QFileIconProvider())
@@ -50,4 +49,8 @@
     insertItem (ResetId, "");
 
+    /* Attaching known icons */
+    setItemIcon (SelectId, VBoxGlobal::iconSet (":/select_file_16px.png"));
+    setItemIcon (ResetId, VBoxGlobal::iconSet (":/eraser_16px.png"));
+
     /* Setup context menu */
     addAction (mCopyAction);
@@ -65,6 +68,4 @@
     setContextMenuPolicy (Qt::ActionsContextMenu);
     setMinimumWidth (200);
-    /* Set path to None */
-    setPath (QString::null);
 }
 
@@ -89,40 +90,16 @@
         removeItem (ResetId);
     else if (aEnabled && count() - 1 == ResetId - 1)
+    {
         insertItem (ResetId, "");
+        setItemIcon (ResetId, VBoxGlobal::iconSet (":/eraser_16px.png"));
+    }
     retranslateUi();
 }
 
-bool VBoxFilePathSelectorWidget::isResetEnabled () const
+bool VBoxFilePathSelectorWidget::isResetEnabled() const
 {
     return (count() - 1  == ResetId);
 }
 
-#if 0
-
-/// @todo enabling this requires to allow to customize the names of the
-/// "Other..." and "Reset" items too which is not yet done.
-
-void VBoxFilePathSelectorWidget::setNoneToolTip (const QString &aText)
-{
-    mNoneTip = aText;
-    if (mPath.isNull())
-    {
-        setItemData (PathId, mNoneTip, Qt::ToolTipRole);
-        setToolTip (mNoneTip);
-    }
-}
-
-void VBoxFilePathSelectorWidget::setSelectToolTip (const QString &aText)
-{
-    setItemData (SelectId, aText, Qt::ToolTipRole);
-}
-
-void VBoxFilePathSelectorWidget::setResetToolTip (const QString &aText)
-{
-    setItemData (ResetId, aText, Qt::ToolTipRole);
-}
-
-#endif /* 0 */
-
 bool VBoxFilePathSelectorWidget::isModified() const
 {
@@ -133,5 +110,4 @@
 {
     mPath = aPath.isEmpty() ? QString::null : aPath;
-
     refreshText();
 }
@@ -150,5 +126,5 @@
 void VBoxFilePathSelectorWidget::retranslateUi()
 {
-    /* how do we interpret the "nothing selected" item? */
+    /* How do we interpret the "nothing selected" item? */
     if (isResetEnabled())
     {
@@ -179,5 +155,5 @@
         setItemText (ResetId, tr ("Reset"));
 
-    /* set tooltips of the above two items based on the mode */
+    /* Set tooltips of the above two items based on the mode */
     switch (mMode)
     {
@@ -217,5 +193,5 @@
         case ResetId:
         {
-            emit resetPath();
+            setPath (QString::null);
             break;
         }
@@ -228,7 +204,9 @@
 void VBoxFilePathSelectorWidget::copyToClipboard()
 {
-    QString text = itemData (PathId, Qt::ToolTipRole).toString();
+    QString text (fullPath());
+    /* Copy the current text to the selection and global clipboard. */
+    if (QApplication::clipboard()->supportsSelection())
+        QApplication::clipboard()->setText (text, QClipboard::Selection);
     QApplication::clipboard()->setText (text, QClipboard::Clipboard);
-    QApplication::clipboard()->setText (text, QClipboard::Selection);
 }
 
@@ -241,9 +219,6 @@
 }
 
-QString VBoxFilePathSelectorWidget::filePath() const
-{
-    /// @todo (r=dmik) why is it used as if it always returns a full path while
-    /// it actually may not?
-
+QString VBoxFilePathSelectorWidget::fullPath (bool aAbsolute) const
+{
     if (!mPath.isNull())
     {
@@ -251,12 +226,13 @@
         {
             case Mode_Folder:
-                return QDir (mPath).path();
+                return aAbsolute ? QDir (mPath).absolutePath() :
+                                   QDir (mPath).path();
             case Mode_File:
-                return QFileInfo (mPath).filePath();
+                return aAbsolute ? QFileInfo (mPath).absoluteFilePath() :
+                                   QFileInfo (mPath).filePath();
             default:
                 AssertFailedBreak();
         }
     }
-
     return QString::null;
 }
@@ -264,5 +240,5 @@
 QString VBoxFilePathSelectorWidget::shrinkText (int aWidth) const
 {
-    QString fullText = filePath();
+    QString fullText (fullPath (false));
     if (fullText.isEmpty())
         return fullText;
@@ -300,5 +276,5 @@
     int newSize = fontMetrics().width (fullText);
 
-    return newSize < oldSize ? fullText : filePath();
+    return newSize < oldSize ? fullText : fullPath (false);
 }
 
@@ -329,6 +305,6 @@
                              defaultIcon());
 
-        /* Store full path as tooltip */
-        setToolTip (filePath());
+        /* Set the tooltip */
+        setToolTip (fullPath());
         setItemData (PathId, toolTip(), Qt::ToolTipRole);
     }
Index: trunk/src/VBox/Frontends/VirtualBox4/src/VBoxGLSettingsGeneral.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox4/src/VBoxGLSettingsGeneral.cpp	(revision 11425)
+++ trunk/src/VBox/Frontends/VirtualBox4/src/VBoxGLSettingsGeneral.cpp	(revision 11427)
@@ -37,7 +37,4 @@
     connect (mPsMach, SIGNAL (selectPath()), this, SLOT (onSelectFolderClicked()));
     connect (mPsVRDP, SIGNAL (selectPath()), this, SLOT (onSelectFolderClicked()));
-    connect (mPsVdi,  SIGNAL (resetPath()), this, SLOT (onResetFolderClicked()));
-    connect (mPsMach, SIGNAL (resetPath()), this, SLOT (onResetFolderClicked()));
-    connect (mPsVRDP, SIGNAL (resetPath()), this, SLOT (onResetFolderClicked()));
 
     /* Applying language settings */
@@ -89,11 +86,4 @@
 }
 
-void VBoxGLSettingsGeneral::onResetFolderClicked()
-{
-    VBoxFilePathSelectorWidget *ps = qobject_cast<VBoxFilePathSelectorWidget*> (sender());
-    Assert (ps);
-    ps->setPath (QString::null);
-}
-
 void VBoxGLSettingsGeneral::onSelectFolderClicked()
 {
Index: trunk/src/VBox/Frontends/VirtualBox4/src/VBoxVMSettingsGeneral.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox4/src/VBoxVMSettingsGeneral.cpp	(revision 11425)
+++ trunk/src/VBox/Frontends/VirtualBox4/src/VBoxVMSettingsGeneral.cpp	(revision 11427)
@@ -77,6 +77,4 @@
     connect (mPsSnapshot, SIGNAL (selectPath()),
              this, SLOT (selectSnapshotFolder()));
-    connect (mPsSnapshot, SIGNAL (resetPath()),
-             this, SLOT (resetSnapshotFolder()));
     connect (mTbBootItemUp, SIGNAL (clicked()),
              this, SLOT (moveBootItemUp()));
@@ -467,9 +465,4 @@
 }
 
-void VBoxVMSettingsGeneral::resetSnapshotFolder()
-{
-    mPsSnapshot->setPath (QString::null);
-}
-
 void VBoxVMSettingsGeneral::adjustBootOrderTWSize()
 {
