Index: trunk/src/VBox/Frontends/VirtualBox/src/extensions/QILineEdit.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/extensions/QILineEdit.cpp	(revision 85144)
+++ trunk/src/VBox/Frontends/VirtualBox/src/extensions/QILineEdit.cpp	(revision 85150)
@@ -20,6 +20,12 @@
 
 /* Qt includes: */
+#include <QPalette>
 #include <QStyleOptionFrame>
 
+QILineEdit::QILineEdit(QWidget *pParent /* = 0 */)
+    : QLineEdit(pParent)
+{
+    m_originalBaseColor = palette().color(QPalette::Base);
+}
 
 void QILineEdit::setMinimumWidthByText(const QString &strText)
@@ -52,2 +58,12 @@
     return sa;
 }
+
+void QILineEdit::mark(bool fError)
+{
+    QPalette newPalette = palette();
+    if (fError)
+        newPalette.setColor(QPalette::Base, QColor(255, 180, 180));
+    else
+        newPalette.setColor(QPalette::Base, m_originalBaseColor);
+    setPalette(newPalette);
+}
Index: trunk/src/VBox/Frontends/VirtualBox/src/extensions/QILineEdit.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/extensions/QILineEdit.h	(revision 85144)
+++ trunk/src/VBox/Frontends/VirtualBox/src/extensions/QILineEdit.h	(revision 85150)
@@ -36,6 +36,6 @@
 
     /** Constructs label-separator passing @a pParent to the base-class. */
-    QILineEdit(QWidget *pParent = 0)
-        : QLineEdit(pParent) {}
+    QILineEdit(QWidget *pParent = 0);
+
     /** Constructs label-separator passing @a pParent to the base-class.
       * @param  strContents  Brings the line-edit text. */
@@ -48,8 +48,13 @@
     void setFixedWidthByText(const QString &strText);
 
+    /** Sets the color to some reddish color when @p fError is true. Usually used to indicate some error. */
+    void mark(bool fError);
+
 private:
 
     /** Calculates suitable @a strText size. */
     QSize featTextWidth(const QString &strText) const;
+    /** The original background base color. Used when marking/unmarking the combo box. */
+    QColor m_originalBaseColor;
 };
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/widgets/UINameAndSystemEditor.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/widgets/UINameAndSystemEditor.cpp	(revision 85144)
+++ trunk/src/VBox/Frontends/VirtualBox/src/widgets/UINameAndSystemEditor.cpp	(revision 85150)
@@ -254,4 +254,10 @@
 }
 
+void UINameAndSystemEditor::markNameLineEdit(bool fError)
+{
+    if (m_pNameLineEdit)
+        m_pNameLineEdit->mark(fError);
+}
+
 void UINameAndSystemEditor::retranslateUi()
 {
Index: trunk/src/VBox/Frontends/VirtualBox/src/widgets/UINameAndSystemEditor.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/widgets/UINameAndSystemEditor.h	(revision 85144)
+++ trunk/src/VBox/Frontends/VirtualBox/src/widgets/UINameAndSystemEditor.h	(revision 85150)
@@ -113,4 +113,7 @@
     void setNameFieldValidator(const QString &strValidator);
 
+    /** Passes the @p fError to QILineEdit::mark(bool) effectively changing the background color. */
+    void markNameLineEdit(bool fError);
+
 protected:
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIUserNamePasswordEditor.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIUserNamePasswordEditor.cpp	(revision 85144)
+++ trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIUserNamePasswordEditor.cpp	(revision 85150)
@@ -119,4 +119,5 @@
     , m_pPasswordLabel(0)
     , m_pPasswordRepeatLabel(0)
+    , m_fForceUnmark(false)
 {
     prepare();
@@ -180,4 +181,11 @@
 }
 
+void UIUserNamePasswordEditor::setForceUnmark(bool fForceUnmark)
+{
+    m_fForceUnmark = fForceUnmark;
+    isUserNameComplete();
+    isPasswordComplete();
+}
+
 void UIUserNamePasswordEditor::retranslateUi()
 {
@@ -227,8 +235,8 @@
         return;
     QPalette palette = pLineEdit->palette();
-    if (fError)
+    if (!fError || m_fForceUnmark)
+        palette.setColor(QPalette::Base, m_orginalLineEditBaseColor);
+    else
         palette.setColor(QPalette::Base, QColor(255, 180, 180));
-    else
-        palette.setColor(QPalette::Base, m_orginalLineEditBaseColor);
     pLineEdit->setPalette(palette);
 }
Index: trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIUserNamePasswordEditor.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIUserNamePasswordEditor.h	(revision 85144)
+++ trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIUserNamePasswordEditor.h	(revision 85150)
@@ -85,4 +85,6 @@
     /** Returns false if username or password fields are empty, or password fields do not match. */
     bool isComplete();
+    /** Sets m_fForceUnmark flag. see it for more info. */
+    void setForceUnmark(bool fForceUnmark);
 
 protected:
@@ -114,4 +116,6 @@
     QLabel *m_pPasswordRepeatLabel;
     QColor m_orginalLineEditBaseColor;
+    /** When true line edits are not marked even if they have to be. */
+    bool m_fForceUnmark;
 };
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.cpp	(revision 85144)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.cpp	(revision 85150)
@@ -427,4 +427,10 @@
 }
 
+void UIWizardNewVM::sltCustomButtonClicked(int iId)
+{
+    UIWizard::sltCustomButtonClicked(iId);
+    setFieldsFromDefaultUnttendedInstallData();
+}
+
 void UIWizardNewVM::retranslateUi()
 {
@@ -505,9 +511,15 @@
 void UIWizardNewVM::setDefaultUnattendedInstallData(const UIUnattendedInstallData &unattendedInstallData)
 {
-    setField("userName", unattendedInstallData.m_strUserName);
-    setField("password", unattendedInstallData.m_strPassword);
-    setField("hostname", unattendedInstallData.m_strHostname);
-    setField("installGuestAdditions", unattendedInstallData.m_fInstallGuestAdditions);
-    setField("guestAdditionsISOPath", unattendedInstallData.m_strGuestAdditionsISOPath);
+    m_unattendedInstallData = unattendedInstallData;
+    setFieldsFromDefaultUnttendedInstallData();
+}
+
+void UIWizardNewVM::setFieldsFromDefaultUnttendedInstallData()
+{
+    setField("userName", m_unattendedInstallData.m_strUserName);
+    setField("password", m_unattendedInstallData.m_strPassword);
+    setField("hostname", m_unattendedInstallData.m_strHostname);
+    setField("installGuestAdditions", m_unattendedInstallData.m_fInstallGuestAdditions);
+    setField("guestAdditionsISOPath", m_unattendedInstallData.m_strGuestAdditionsISOPath);
 }
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.h	(revision 85144)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.h	(revision 85150)
@@ -105,4 +105,5 @@
     void sltHandleWizardCancel();
     void sltHandleDetectedOSTypeChange();
+    virtual void sltCustomButtonClicked(int iId) /* override */;
 
 private:
@@ -114,4 +115,5 @@
     /* Helping stuff: */
     QString getNextControllerName(KStorageBus type);
+    void setFieldsFromDefaultUnttendedInstallData();
 
     /* Variables: */
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic1.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic1.cpp	(revision 85144)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic1.cpp	(revision 85150)
@@ -492,5 +492,7 @@
 {
     if (m_pISOFilePathSelector)
-        m_pISOFilePathSelector->mark(isISOFileSelectorComplete());
+        m_pISOFilePathSelector->mark(!isISOFileSelectorComplete());
+    if (m_pNameAndSystemEditor)
+        m_pNameAndSystemEditor->markNameLineEdit(m_pNameAndSystemEditor->name().isEmpty());
 }
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic2.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic2.cpp	(revision 85144)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic2.cpp	(revision 85150)
@@ -185,4 +185,10 @@
 }
 
+void UIWizardNewVMPage2::markWidgets() const
+{
+    if (m_pGAISOFilePathSelector)
+        m_pGAISOFilePathSelector->mark(!checkGAISOFile());
+}
+
 UIWizardNewVMPageBasic2::UIWizardNewVMPageBasic2()
     : m_pLabel(0)
@@ -268,4 +274,5 @@
 bool UIWizardNewVMPageBasic2::isComplete() const
 {
+    markWidgets();
     if (!checkGAISOFile())
         return false;
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic2.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic2.h	(revision 85144)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic2.h	(revision 85150)
@@ -72,4 +72,5 @@
 
     bool checkGAISOFile() const;
+    void markWidgets() const;
 
     /** @name Widgets
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.cpp	(revision 85144)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.cpp	(revision 85150)
@@ -334,7 +334,16 @@
 }
 
+void UIWizardNewVMPageExpert::markWidgets() const
+{
+    UIWizardNewVMPage1::markWidgets();
+
+    if (m_pGAISOFilePathSelector)
+        m_pGAISOFilePathSelector->mark(isUnattendedEnabled() && !checkGAISOFile());
+}
+
 bool UIWizardNewVMPageExpert::isComplete() const
 {
-    UIWizardNewVMPage1::markWidgets();
+    markWidgets();
+
     /* Make sure mandatory fields are complete,
      * 'ram' field feats the bounds,
@@ -352,9 +361,9 @@
         if (!checkGAISOFile())
             return false;
-    }
-    if (m_pUserNamePasswordEditor)
-    {
-        if (!m_pUserNamePasswordEditor->isComplete())
-            return false;
+        if (m_pUserNamePasswordEditor)
+        {
+            if (!m_pUserNamePasswordEditor->isComplete())
+                return false;
+        }
     }
     return true;
@@ -421,4 +430,6 @@
     if (m_pUsernameHostnameContainer)
         m_pUsernameHostnameContainer->setEnabled(fEnabled);
+    if (m_pUserNamePasswordEditor)
+        m_pUserNamePasswordEditor->setForceUnmark(!fEnabled);
     if (m_pProductKeyLabel)
         m_pProductKeyLabel->setEnabled(isProductKeyWidgetEnabled());
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.h	(revision 85144)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.h	(revision 85150)
@@ -110,5 +110,5 @@
     bool isProductKeyWidgetEnabled() const;
     void disableEnableUnattendedRelatedWidgets(bool fEnabled);
-
+    void markWidgets() const;
     /** Widgets. */
     QWidget *m_pNameAndSystemContainer;
