Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.cpp	(revision 37547)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.cpp	(revision 37548)
@@ -22,4 +22,5 @@
 
 /* Local includes */
+#include "QIWidgetValidator.h"
 #include "UIGlobalSettingsProxy.h"
 #include "VBoxUtils.h"
@@ -27,4 +28,5 @@
 /* General page constructor: */
 UIGlobalSettingsProxy::UIGlobalSettingsProxy()
+    : m_pValidator(0)
 {
     /* Apply UI decorations: */
@@ -33,8 +35,8 @@
     /* Setup widgets: */
     m_pPortEditor->setFixedWidthByText(QString().fill('0', 6));
-    m_pHostEditor->setValidator(new QRegExpValidator(QRegExp("\\S*"), m_pPortEditor));
-    m_pPortEditor->setValidator(new QRegExpValidator(QRegExp("\\d*"), m_pPortEditor));
-    m_pLoginEditor->setValidator(new QRegExpValidator(QRegExp("\\S*"), m_pPortEditor));
-    m_pPasswordEditor->setValidator(new QRegExpValidator(QRegExp("\\S*"), m_pPortEditor));
+    m_pHostEditor->setValidator(new QRegExpValidator(QRegExp("\\S+"), m_pHostEditor));
+    m_pPortEditor->setValidator(new QRegExpValidator(QRegExp("\\d+"), m_pPortEditor));
+    m_pLoginEditor->setValidator(new QRegExpValidator(QRegExp("\\S+"), m_pLoginEditor));
+    m_pPasswordEditor->setValidator(new QRegExpValidator(QRegExp("\\S+"), m_pPasswordEditor));
 
     /* Setup connections: */
@@ -113,4 +115,10 @@
 }
 
+/* Validation stuff: */
+void UIGlobalSettingsProxy::setValidator(QIWidgetValidator *pValidator)
+{
+    m_pValidator = pValidator;
+}
+
 /* Navigation stuff: */
 void UIGlobalSettingsProxy::setOrderAfter(QWidget *pWidget)
@@ -133,4 +141,5 @@
 void UIGlobalSettingsProxy::sltProxyToggled()
 {
+    /* Update widgets availability: */
     m_pHostLabel->setEnabled(m_pProxyCheckbox->isChecked());
     m_pHostEditor->setEnabled(m_pProxyCheckbox->isChecked());
@@ -138,4 +147,6 @@
     m_pPortEditor->setEnabled(m_pProxyCheckbox->isChecked());
     m_pAuthCheckbox->setEnabled(m_pProxyCheckbox->isChecked());
+
+    /* Update auth widgets also: */
     sltAuthToggled();
 }
@@ -143,8 +154,13 @@
 void UIGlobalSettingsProxy::sltAuthToggled()
 {
+    /* Update widgets availability: */
     m_pLoginLabel->setEnabled(m_pProxyCheckbox->isChecked() && m_pAuthCheckbox->isChecked());
     m_pLoginEditor->setEnabled(m_pProxyCheckbox->isChecked() && m_pAuthCheckbox->isChecked());
     m_pPasswordLabel->setEnabled(m_pProxyCheckbox->isChecked() && m_pAuthCheckbox->isChecked());
     m_pPasswordEditor->setEnabled(m_pProxyCheckbox->isChecked() && m_pAuthCheckbox->isChecked());
+
+    /* Revalidate if possible: */
+    if (m_pValidator)
+        m_pValidator->revalidate();
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.h	(revision 37547)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.h	(revision 37548)
@@ -62,4 +62,7 @@
     void saveFromCacheTo(QVariant &data);
 
+    /* Validation stuff: */
+    void setValidator(QIWidgetValidator *pValidator);
+
     /* Navigation stuff: */
     void setOrderAfter(QWidget *pWidget);
@@ -75,4 +78,7 @@
 private:
 
+    /* Validator: */
+    QIWidgetValidator *m_pValidator;
+
     /* Cache: */
     UISettingsCacheGlobalProxy m_cache;
