Index: /trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk	(revision 30187)
+++ /trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk	(revision 30188)
@@ -322,4 +322,5 @@
 	src/widgets/VBoxSpecialControls.h \
 	src/widgets/VBoxWarningPane.h \
+	src/widgets/UISpacerWidgets.h \
 	src/runtime/UISession.h \
 	src/runtime/UIActionsPool.h \
@@ -526,7 +527,7 @@
  	src/darwin/UICocoaApplication.mm \
  	src/darwin/VBoxUtils-darwin-cocoa.mm \
- 	src/darwin/VBoxCocoaSpecialControls.mm
+ 	src/darwin/UICocoaSpecialControls.mm
  VirtualBox_QT_MOCHDRS.darwin = \
- 	src/darwin/VBoxCocoaSpecialControls.h
+ 	src/darwin/UICocoaSpecialControls.h
 endif
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/VBoxVMLogViewer.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/VBoxVMLogViewer.cpp	(revision 30187)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/VBoxVMLogViewer.cpp	(revision 30188)
@@ -359,9 +359,12 @@
     mButtonsNextPrev = new VBoxSegmentedButton (2, this);
     mButtonsNextPrev->setEnabled (0, false);
+    mButtonsNextPrev->setEnabled (1, false);
+#ifndef Q_WS_MAC
+    /* No icons on the Mac */
     mButtonsNextPrev->setIcon (0, VBoxGlobal::iconSet (":/list_movedown_16px.png",
                                                        ":/list_movedown_disabled_16px.png"));
-    mButtonsNextPrev->setEnabled (1, false);
     mButtonsNextPrev->setIcon (1, VBoxGlobal::iconSet (":/list_moveup_16px.png",
                                                        ":/list_moveup_disabled_16px.png"));
+#endif /* !Q_WS_MAC */
     connect (mButtonsNextPrev, SIGNAL (clicked (int)), this, SLOT (find (int)));
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/darwin/UICocoaSpecialControls.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/darwin/UICocoaSpecialControls.h	(revision 30188)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/darwin/UICocoaSpecialControls.h	(revision 30188)
@@ -0,0 +1,138 @@
+/** @file
+ *
+ * VBox frontends: Qt GUI ("VirtualBox"):
+ * VBoxCocoaSpecialControls class declaration
+ */
+
+/*
+ * Copyright (C) 2009-2010 Oracle Corporation
+ *
+ * This file is part of VirtualBox Open Source Edition (OSE), as
+ * available from http://www.virtualbox.org. This file is free software;
+ * you can redistribute it and/or modify it under the terms of the GNU
+ * General Public License (GPL) as published by the Free Software
+ * Foundation, in version 2 as it comes in the "COPYING" file of the
+ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+ */
+
+#ifndef ___darwin_UICocoaSpecialControls_h__
+#define ___darwin_UICocoaSpecialControls_h__
+
+/* VBox includes */
+#include "VBoxCocoaHelper.h"
+
+/* Qt includes */
+#include <QWidget>
+
+/* Qt forward includes */
+class QMacCocoaViewContainer;
+
+/* Add typedefs for Cocoa types */
+ADD_COCOA_NATIVE_REF(NSButton);
+ADD_COCOA_NATIVE_REF(NSSegmentedControl);
+ADD_COCOA_NATIVE_REF(NSSearchField);
+
+class UICocoaWrapper: public QWidget
+{
+public:
+    UICocoaWrapper(QWidget *pParent = 0);
+
+protected:
+    virtual void resizeEvent(QResizeEvent *pEvent);
+
+    QMacCocoaViewContainer *m_pContainer;
+};
+
+class UICocoaButton: public UICocoaWrapper
+{
+    Q_OBJECT
+
+public:
+    enum CocoaButtonType
+    {
+        HelpButton,
+        CancelButton,
+        ResetButton
+    };
+
+    UICocoaButton(CocoaButtonType aType, QWidget *pParent = 0);
+    ~UICocoaButton();
+
+    QSize sizeHint() const;
+
+    void setText(const QString& strText);
+    void setToolTip(const QString& strTip);
+
+    void onClicked();
+
+signals:
+    void clicked(bool fChecked = false);
+
+private:
+    /* Private member vars */
+    NativeNSButtonRef m_pNativeRef;
+};
+
+class UICocoaSegmentedButton: public UICocoaWrapper
+{
+    Q_OBJECT
+
+public:
+    enum CocoaSegmentType
+    {
+        RoundRectSegment,
+        TexturedRoundedSegment
+    };
+
+    UICocoaSegmentedButton(int count, CocoaSegmentType type = RoundRectSegment, QWidget *pParent = 0);
+    ~UICocoaSegmentedButton();
+
+    QSize sizeHint() const;
+
+    void setTitle(int iSegment, const QString &strTitle);
+    void setToolTip(int iSegment, const QString &strTip);
+    void setIcon(int iSegment, const QIcon& icon);
+    void setEnabled(int iSegment, bool fEnabled);
+
+    void animateClick(int iSegment);
+    void onClicked(int iSegment);
+
+signals:
+    void clicked(int iSegment, bool fChecked = false);
+
+private:
+    /* Private member vars */
+    NativeNSSegmentedControlRef m_pNativeRef;
+};
+
+class UICocoaSearchField: public UICocoaWrapper
+{
+    Q_OBJECT
+
+public:
+    UICocoaSearchField(QWidget* pParent = 0);
+    ~UICocoaSearchField();
+
+    QSize sizeHint() const;
+
+    QString text() const;
+    void insert(const QString &strText);
+    void setToolTip(const QString &strTip);
+    void selectAll();
+
+    void markError();
+    void unmarkError();
+
+    void onTextChanged(const QString &strText);
+
+signals:
+    void textChanged(const QString& strText);
+
+private:
+    /* Private member vars */
+    NativeNSSearchFieldRef m_pNativeRef;
+};
+
+#endif /* ___darwin_UICocoaSpecialControls_h__ */
+
Index: /trunk/src/VBox/Frontends/VirtualBox/src/darwin/UICocoaSpecialControls.mm
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/darwin/UICocoaSpecialControls.mm	(revision 30188)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/darwin/UICocoaSpecialControls.mm	(revision 30188)
@@ -0,0 +1,509 @@
+/* $Id$ */
+/** @file
+ *
+ * VBox frontends: Qt GUI ("VirtualBox"):
+ * UICocoaSpecialControls implementation
+ */
+
+/*
+ * Copyright (C) 2009-2010 Oracle Corporation
+ *
+ * This file is part of VirtualBox Open Source Edition (OSE), as
+ * available from http://www.virtualbox.org. This file is free software;
+ * you can redistribute it and/or modify it under the terms of the GNU
+ * General Public License (GPL) as published by the Free Software
+ * Foundation, in version 2 as it comes in the "COPYING" file of the
+ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+ */
+
+/* VBox includes */
+#include "UICocoaSpecialControls.h"
+#include "VBoxUtils-darwin.h"
+#include <VBox/cdefs.h>
+
+/* System includes */
+#import <AppKit/NSApplication.h>
+#import <AppKit/NSBezierPath.h>
+#import <AppKit/NSButton.h>
+#import <AppKit/NSFont.h>
+#import <AppKit/NSImage.h>
+#import <AppKit/NSSegmentedControl.h>
+
+/* Qt includes */
+#include <QApplication>
+#include <QIcon>
+#include <QKeyEvent>
+#include <QMacCocoaViewContainer>
+
+/* 
+ * Private interfaces 
+ */
+@interface UIButtonTargetPrivate: NSObject
+{
+    UICocoaButton *mRealTarget;
+}
+-(id)initWithObject:(UICocoaButton*)object;
+-(IBAction)clicked:(id)sender;
+@end
+
+@interface UISegmentedButtonTargetPrivate: NSObject
+{
+    UICocoaSegmentedButton *mRealTarget;
+}
+-(id)initWithObject1:(UICocoaSegmentedButton*)object;
+-(IBAction)segControlClicked:(id)sender;
+@end
+
+@interface UISearchFieldCellPrivate: NSSearchFieldCell
+{
+    NSColor *mBGColor;
+}
+- (void)setBackgroundColor:(NSColor*)aBGColor;
+@end
+
+@interface UISearchFieldPrivate: NSSearchField
+{
+    UICocoaSearchField *mRealTarget;
+}
+-(id)initWithObject2:(UICocoaSearchField*)object;
+@end
+
+#if MAC_OS_X_VERSION_MIN_ALLOWED >= MAC_OS_X_VERSION_10_6
+@interface UISearchFieldDelegatePrivate: NSObject<NSTextFieldDelegate>
+#else
+@interface UISearchFieldDelegatePrivate: NSObject
+#endif
+{}
+@end
+
+/* 
+ * Implementation of the private interfaces
+ */
+@implementation UIButtonTargetPrivate
+-(id)initWithObject:(UICocoaButton*)object
+{
+    self = [super init];
+
+    mRealTarget = object;
+
+    return self;
+}
+
+-(IBAction)clicked:(id)sender;
+{
+    mRealTarget->onClicked();
+}
+@end
+
+@implementation UISegmentedButtonTargetPrivate
+-(id)initWithObject1:(UICocoaSegmentedButton*)object
+{
+    self = [super init];
+
+    mRealTarget = object;
+
+    return self;
+}
+
+-(IBAction)segControlClicked:(id)sender;
+{
+    mRealTarget->onClicked([sender selectedSegment]);
+}
+@end
+
+@implementation UISearchFieldCellPrivate
+-(id)init
+{
+    if ((self = [super init]))
+        mBGColor = Nil;
+    return self;
+}
+
+- (void)dealloc 
+{
+    [mBGColor release];
+    [super dealloc];
+}
+
+- (void)setBackgroundColor:(NSColor*)aBGColor
+{
+    if (mBGColor != aBGColor)
+    {
+        [mBGColor release];
+        mBGColor = [aBGColor retain];
+    }
+}
+
+- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
+{
+    if (mBGColor != Nil)
+    {
+        [mBGColor setFill];
+        NSRect frame = cellFrame;
+        double radius = RT_MIN(NSWidth(frame), NSHeight(frame)) / 2.0;
+        [[NSBezierPath bezierPathWithRoundedRect:frame xRadius:radius yRadius:radius] fill];
+    }
+
+    [super drawInteriorWithFrame:cellFrame inView:controlView];
+}
+@end
+
+@implementation UISearchFieldPrivate
++ (Class)cellClass
+{
+    return [UISearchFieldCellPrivate class];
+}
+
+-(id)initWithObject2:(UICocoaSearchField*)object
+{
+    self = [super init];
+
+    mRealTarget = object;
+
+
+    return self;
+}
+
+- (void)keyUp:(NSEvent *)theEvent
+{
+    /* This here is a little bit hacky. Grab important keys & forward they to
+       the parent Qt widget. There a special key handling is done. */
+    NSString *str = [theEvent charactersIgnoringModifiers];
+    unichar ch = 0;
+
+    /* Get the pressed character */
+    if ([str length] > 0)
+        ch = [str characterAtIndex:0];
+
+    if (ch == NSCarriageReturnCharacter || ch == NSEnterCharacter)
+    {
+        QKeyEvent ke(QEvent::KeyPress, Qt::Key_Enter, Qt::NoModifier);
+        QApplication::sendEvent(mRealTarget, &ke);
+    }
+    else if (ch == 27) /* Escape */
+    {
+        QKeyEvent ke(QEvent::KeyPress, Qt::Key_Escape, Qt::NoModifier);
+        QApplication::sendEvent(mRealTarget, &ke);
+    }
+    else if (ch == NSF3FunctionKey)
+    {
+        QKeyEvent ke(QEvent::KeyPress, Qt::Key_F3, [theEvent modifierFlags] & NSShiftKeyMask ? Qt::ShiftModifier : Qt::NoModifier);
+        QApplication::sendEvent(mRealTarget, &ke);
+    }
+
+    [super keyUp:theEvent];
+}
+
+//{
+//    QWidget *w = QApplication::focusWidget();
+//    if (w)
+//        w->clearFocus();
+//}
+
+- (void)textDidChange:(NSNotification *)aNotification
+{
+    mRealTarget->onTextChanged(::darwinNSStringToQString([[aNotification object] string]));
+}
+@end
+
+@implementation UISearchFieldDelegatePrivate
+-(BOOL)control:(NSControl*)control textView:(NSTextView*)textView doCommandBySelector:(SEL)commandSelector
+{
+//    NSLog(NSStringFromSelector(commandSelector));
+    /* Don't execute the selector for Enter & Escape. */
+    if (   commandSelector == @selector(insertNewline:)
+	    || commandSelector == @selector(cancelOperation:))
+		return YES;
+    return NO;
+}
+@end
+
+
+/* 
+ * Helper functions
+ */
+NSRect darwinCenterRectVerticalTo(NSRect aRect, const NSRect& aToRect)
+{
+    aRect.origin.y = (aToRect.size.height - aRect.size.height) / 2.0;
+    return aRect;
+}
+
+QImage toGray(const QImage& image)
+{
+    QImage result = image.convertToFormat(QImage::Format_ARGB32);
+    for (int i=0; i < result.height(); ++i) 
+    {
+        QRgb *pScanLine = (QRgb *)result.scanLine(i);
+        for (int j=0; j < result.width(); ++j) 
+        {
+            const int g = qGray(pScanLine[j]);
+            pScanLine[j] = qRgba(g, g, g, qAlpha(pScanLine[j]));
+        }
+    }
+    return result;
+}
+
+/* 
+ * Public classes 
+ */
+UICocoaWrapper::UICocoaWrapper(QWidget *pParent /* = 0 */)
+    : QWidget(pParent)
+    , m_pContainer(0)
+{
+}
+
+void UICocoaWrapper::resizeEvent(QResizeEvent *pEvent)
+{
+    if (m_pContainer)
+        m_pContainer->resize(pEvent->size());
+    QWidget::resizeEvent(pEvent);
+}
+
+UICocoaButton::UICocoaButton(CocoaButtonType aType, QWidget *pParent /* = 0 */)
+  : UICocoaWrapper(pParent)
+{
+    NSRect initFrame;
+
+    switch (aType)
+    {
+        case HelpButton:
+        {
+            m_pNativeRef = [[NSButton alloc] init];
+            [m_pNativeRef setTitle: @""];
+            [m_pNativeRef setBezelStyle: NSHelpButtonBezelStyle];
+            [m_pNativeRef setBordered: YES];
+            [m_pNativeRef setAlignment: NSCenterTextAlignment];
+            [m_pNativeRef sizeToFit];
+            initFrame = [m_pNativeRef frame];
+            initFrame.size.width += 12; /* Margin */
+            [m_pNativeRef setFrame:initFrame];
+            break;
+        };
+        case CancelButton:
+        {
+            m_pNativeRef = [[NSButton alloc] initWithFrame: NSMakeRect(0, 0, 13, 13)];
+            [m_pNativeRef setTitle: @""];
+            [m_pNativeRef setBezelStyle:NSShadowlessSquareBezelStyle];
+            [m_pNativeRef setButtonType:NSMomentaryChangeButton];
+            [m_pNativeRef setImage: [NSImage imageNamed: NSImageNameStopProgressFreestandingTemplate]];
+            [m_pNativeRef setBordered: NO];
+            [[m_pNativeRef cell] setImageScaling: NSImageScaleProportionallyDown];
+            initFrame = [m_pNativeRef frame];
+            break;
+        }
+        case ResetButton:
+        {
+            m_pNativeRef = [[NSButton alloc] initWithFrame: NSMakeRect(0, 0, 13, 13)];
+            [m_pNativeRef setTitle: @""];
+            [m_pNativeRef setBezelStyle:NSShadowlessSquareBezelStyle];
+            [m_pNativeRef setButtonType:NSMomentaryChangeButton];
+            [m_pNativeRef setImage: [NSImage imageNamed: NSImageNameRefreshFreestandingTemplate]];
+            [m_pNativeRef setBordered: NO];
+            [[m_pNativeRef cell] setImageScaling: NSImageScaleProportionallyDown];
+            initFrame = [m_pNativeRef frame];
+            break;
+        }
+    }
+
+    UIButtonTargetPrivate *bt = [[UIButtonTargetPrivate alloc] initWithObject:this];
+    [m_pNativeRef setTarget:bt];
+    [m_pNativeRef setAction:@selector(clicked:)];
+
+    /* Create the container widget and attach the native view. */
+    m_pContainer = new QMacCocoaViewContainer(m_pNativeRef, this);
+    /* Finally resize the widget */
+    setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+    setFixedSize(NSWidth(initFrame), NSHeight(initFrame));
+}
+
+UICocoaButton::~UICocoaButton()
+{
+}
+
+QSize UICocoaButton::sizeHint() const
+{
+    NSRect frame = [m_pNativeRef frame];
+    return QSize(frame.size.width, frame.size.height);
+}
+
+void UICocoaButton::setText(const QString& strText)
+{
+    QString s(strText);
+    /* Set it for accessibility reasons as alternative title */
+    [m_pNativeRef setAlternateTitle: ::darwinQStringToNSString(s.remove('&'))];
+}
+
+void UICocoaButton::setToolTip(const QString& strTip)
+{
+    [m_pNativeRef setToolTip: ::darwinQStringToNSString(strTip)];
+}
+
+void UICocoaButton::onClicked()
+{
+    emit clicked(false);
+}
+
+UICocoaSegmentedButton::UICocoaSegmentedButton(int count, CocoaSegmentType type /* = RoundRectSegment */, QWidget *pParent /* = 0 */)
+  : UICocoaWrapper(pParent)
+{
+    NSRect initFrame;
+
+    m_pNativeRef = [[NSSegmentedControl alloc] init];
+    [m_pNativeRef setSegmentCount:count];
+    switch (type)
+    {
+        case RoundRectSegment:
+        {
+            [[m_pNativeRef cell] setTrackingMode: NSSegmentSwitchTrackingMomentary];
+            [m_pNativeRef setFont: [NSFont controlContentFontOfSize:
+                [NSFont systemFontSizeForControlSize: NSSmallControlSize]]];
+            [m_pNativeRef setSegmentStyle:NSSegmentStyleRoundRect];
+            break;
+        }
+        case TexturedRoundedSegment:
+        {
+            [m_pNativeRef setSegmentStyle:NSSegmentStyleTexturedRounded];
+            [m_pNativeRef setFont: [NSFont controlContentFontOfSize:
+                [NSFont systemFontSizeForControlSize: NSSmallControlSize]]];
+            break;
+        }
+    }
+    [m_pNativeRef sizeToFit];
+
+    UISegmentedButtonTargetPrivate *bt = [[UISegmentedButtonTargetPrivate alloc] initWithObject1:this];
+    [m_pNativeRef setTarget:bt];
+    [m_pNativeRef setAction:@selector(segControlClicked:)];
+
+    initFrame = [m_pNativeRef frame];
+    /* Create the container widget and attach the native view. */
+    m_pContainer = new QMacCocoaViewContainer(m_pNativeRef, this);
+    /* Finally resize the widget */
+    setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+    setFixedSize(NSWidth(initFrame), NSHeight(initFrame));
+}
+
+UICocoaSegmentedButton::~UICocoaSegmentedButton()
+{
+}
+
+QSize UICocoaSegmentedButton::sizeHint() const
+{
+    NSRect frame = [m_pNativeRef frame];
+    return QSize(frame.size.width, frame.size.height);
+}
+
+void UICocoaSegmentedButton::setTitle(int iSegment, const QString &strTitle)
+{
+    QString s(strTitle);
+    [m_pNativeRef setLabel: ::darwinQStringToNSString(s.remove('&')) forSegment: iSegment];
+    [m_pNativeRef sizeToFit];
+    NSRect frame = [m_pNativeRef frame];
+    setFixedSize(NSWidth(frame), NSHeight(frame));
+}
+
+void UICocoaSegmentedButton::setToolTip(int iSegment, const QString &strTip)
+{
+    [[m_pNativeRef cell] setToolTip: ::darwinQStringToNSString(strTip) forSegment: iSegment];
+}
+
+void UICocoaSegmentedButton::setIcon(int iSegment, const QIcon& icon)
+{
+    QImage image = toGray(icon.pixmap(icon.actualSize(QSize(13, 13))).toImage());
+
+    NSImage *pNSimage = [::darwinToNSImageRef(&image) autorelease];
+    [m_pNativeRef setImage: pNSimage forSegment: iSegment];
+    [m_pNativeRef sizeToFit];
+    NSRect frame = [m_pNativeRef frame];
+    setFixedSize(NSWidth(frame), NSHeight(frame));
+}
+
+void UICocoaSegmentedButton::setEnabled(int iSegment, bool fEnabled)
+{
+    [[m_pNativeRef cell] setEnabled: fEnabled forSegment: iSegment];
+}
+
+void UICocoaSegmentedButton::animateClick(int iSegment)
+{
+    [m_pNativeRef setSelectedSegment: iSegment];
+    [[m_pNativeRef cell] performClick: m_pNativeRef];
+}
+
+void UICocoaSegmentedButton::onClicked(int iSegment)
+{
+    emit clicked(iSegment, false);
+}
+
+UICocoaSearchField::UICocoaSearchField(QWidget *pParent /* = 0 */)
+  : UICocoaWrapper(pParent)
+{
+    NSRect initFrame;
+
+    m_pNativeRef = [[UISearchFieldPrivate alloc] initWithObject2: this];
+    [m_pNativeRef setFont: [NSFont controlContentFontOfSize:
+        [NSFont systemFontSizeForControlSize: NSMiniControlSize]]];
+    [[m_pNativeRef cell] setControlSize: NSMiniControlSize];
+    [m_pNativeRef sizeToFit];
+    initFrame = [m_pNativeRef frame];
+    initFrame.size.width = 180;
+    [m_pNativeRef setFrame: initFrame];
+
+    /* Use our own delegate */
+    UISearchFieldDelegatePrivate *sfd = [[UISearchFieldDelegatePrivate alloc] init];
+    [m_pNativeRef setDelegate: sfd];
+
+    /* Create the container widget and attach the native view. */
+    m_pContainer = new QMacCocoaViewContainer(m_pNativeRef, this);
+
+    /* Finally resize the widget */
+    setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+    setMinimumWidth(NSWidth(initFrame));
+    setFixedHeight(NSHeight(initFrame));
+    setFocusPolicy(Qt::StrongFocus);
+}
+
+UICocoaSearchField::~UICocoaSearchField()
+{
+}
+
+QSize UICocoaSearchField::sizeHint() const
+{
+    NSRect frame = [m_pNativeRef frame];
+    return QSize(frame.size.width, frame.size.height);
+}
+
+QString UICocoaSearchField::text() const
+{
+    return ::darwinNSStringToQString([m_pNativeRef stringValue]);
+}
+
+void UICocoaSearchField::insert(const QString &strText)
+{
+    [[m_pNativeRef currentEditor] setString: [[m_pNativeRef stringValue] stringByAppendingString: ::darwinQStringToNSString(strText)]];
+}
+
+void UICocoaSearchField::setToolTip(const QString &strTip)
+{
+    [m_pNativeRef setToolTip: ::darwinQStringToNSString(strTip)];
+}
+
+void UICocoaSearchField::selectAll()
+{
+    [m_pNativeRef selectText: m_pNativeRef];
+}
+
+void UICocoaSearchField::markError()
+{
+    [[m_pNativeRef cell] setBackgroundColor: [[NSColor redColor] colorWithAlphaComponent: 0.3]];
+}
+
+void UICocoaSearchField::unmarkError()
+{
+    [[m_pNativeRef cell] setBackgroundColor: nil];
+}
+
+void UICocoaSearchField::onTextChanged(const QString &strText)
+{
+    emit textChanged(strText);
+}
+
Index: unk/src/VBox/Frontends/VirtualBox/src/darwin/VBoxCocoaSpecialControls.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/darwin/VBoxCocoaSpecialControls.h	(revision 30187)
+++ 	(revision )
@@ -1,123 +1,0 @@
-/** @file
- *
- * VBox frontends: Qt GUI ("VirtualBox"):
- * VBoxCocoaSpecialControls class declaration
- */
-
-/*
- * Copyright (C) 2009 Oracle Corporation
- *
- * This file is part of VirtualBox Open Source Edition (OSE), as
- * available from http://www.virtualbox.org. This file is free software;
- * you can redistribute it and/or modify it under the terms of the GNU
- * General Public License (GPL) as published by the Free Software
- * Foundation, in version 2 as it comes in the "COPYING" file of the
- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
- */
-
-#ifndef ___darwin_VBoxCocoaSpecialControls_h__
-#define ___darwin_VBoxCocoaSpecialControls_h__
-
-/* VBox includes */
-#include "VBoxCocoaHelper.h"
-
-/* Qt includes */
-#include <QMacCocoaViewContainer>
-
-/* Add typedefs for Cocoa types */
-ADD_COCOA_NATIVE_REF (NSButton);
-ADD_COCOA_NATIVE_REF (NSSegmentedControl);
-ADD_COCOA_NATIVE_REF (NSSearchField);
-
-class VBoxCocoaButton: public QMacCocoaViewContainer
-{
-    Q_OBJECT
-
-public:
-    enum CocoaButtonType
-    {
-        HelpButton,
-        CancelButton,
-        ResetButton
-    };
-
-    VBoxCocoaButton (CocoaButtonType aType, QWidget *aParent = 0);
-    ~VBoxCocoaButton();
-
-    QSize sizeHint() const;
-
-    void setText (const QString& aText);
-    void setToolTip (const QString& aTip);
-
-    void onClicked();
-
-signals:
-    void clicked (bool checked = false);
-
-protected:
-    void resizeEvent(QResizeEvent *pEvent);
-
-private:
-    /* Private member vars */
-    NativeNSButtonRef mNativeRef;
-};
-
-class VBoxCocoaSegmentedButton: public QMacCocoaViewContainer
-{
-    Q_OBJECT
-
-public:
-    VBoxCocoaSegmentedButton (int aCount, QWidget *aParent = 0);
-    ~VBoxCocoaSegmentedButton();
-
-    QSize sizeHint() const;
-
-    void setTitle (int aSegment, const QString &aTitle);
-
-    void setToolTip (int aSegment, const QString &aTip);
-
-    void setEnabled (int aSegment, bool fEnabled);
-
-    void animateClick (int aSegment);
-
-    void onClicked (int aSegment);
-
-signals:
-    void clicked (int aSegment, bool aChecked = false);
-
-private:
-    /* Private member vars */
-    NativeNSSegmentedControlRef mNativeRef;
-};
-
-class VBoxCocoaSearchField: public QMacCocoaViewContainer
-{
-    Q_OBJECT
-
-public:
-    VBoxCocoaSearchField (QWidget* aParent = 0);
-    ~VBoxCocoaSearchField();
-
-    QSize sizeHint() const;
-
-    QString text() const;
-    void insert (const QString &aText);
-    void setToolTip (const QString &aTip);
-    void selectAll();
-
-    void markError();
-    void unmarkError();
-
-    void onTextChanged (const QString &aText);
-
-signals:
-    void textChanged (const QString& aText);
-
-private:
-    /* Private member vars */
-    NativeNSSearchFieldRef mNativeRef;
-};
-
-#endif /* ___darwin_VBoxCocoaSpecialControls_h__ */
-
Index: unk/src/VBox/Frontends/VirtualBox/src/darwin/VBoxCocoaSpecialControls.mm
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/darwin/VBoxCocoaSpecialControls.mm	(revision 30187)
+++ 	(revision )
@@ -1,438 +1,0 @@
-/* $Id$ */
-/** @file
- *
- * VBox frontends: Qt GUI ("VirtualBox"):
- * VBoxCocoaSpecialControls implementation
- */
-
-/*
- * Copyright (C) 2009-2010 Oracle Corporation
- *
- * This file is part of VirtualBox Open Source Edition (OSE), as
- * available from http://www.virtualbox.org. This file is free software;
- * you can redistribute it and/or modify it under the terms of the GNU
- * General Public License (GPL) as published by the Free Software
- * Foundation, in version 2 as it comes in the "COPYING" file of the
- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
- */
-
-/* VBox includes */
-#include "VBoxCocoaSpecialControls.h"
-#include <VBox/cdefs.h>
-
-/* System includes */
-#import <AppKit/NSButton.h>
-#import <AppKit/NSApplication.h>
-#import <AppKit/NSImage.h>
-#import <AppKit/NSFont.h>
-#import <AppKit/NSSegmentedControl.h>
-#import <AppKit/NSBezierPath.h>
-
-/* Qt includes */
-#include <QApplication>
-#include <QKeyEvent>
-
-@interface NSButtonTarget: NSObject
-{
-    VBoxCocoaButton *mRealTarget;
-}
--(id)initWithObject:(VBoxCocoaButton*)object;
--(IBAction)clicked:(id)sender;
-@end
-
-@implementation NSButtonTarget
--(id)initWithObject:(VBoxCocoaButton*)object
-{
-    self = [super init];
-
-    mRealTarget = object;
-
-    return self;
-}
-
--(IBAction)clicked:(id)sender;
-{
-    mRealTarget->onClicked();
-}
-@end
-
-@interface NSSegmentedButtonTarget: NSObject
-{
-    VBoxCocoaSegmentedButton *mRealTarget;
-}
--(id)initWithObject1:(VBoxCocoaSegmentedButton*)object;
--(IBAction)segControlClicked:(id)sender;
-@end
-
-@implementation NSSegmentedButtonTarget
--(id)initWithObject1:(VBoxCocoaSegmentedButton*)object
-{
-    self = [super init];
-
-    mRealTarget = object;
-
-    return self;
-}
-
--(IBAction)segControlClicked:(id)sender;
-{
-    mRealTarget->onClicked([sender selectedSegment]);
-}
-@end
-
-@interface VBSearchField: NSSearchField
-{
-    VBoxCocoaSearchField *mRealTarget;
-}
--(id)initWithObject2:(VBoxCocoaSearchField*)object;
-@end
-
-@implementation VBSearchField
--(id)initWithObject2:(VBoxCocoaSearchField*)object
-{
-    self = [super init];
-
-    mRealTarget = object;
-
-    return self;
-}
-
-- (void)keyUp:(NSEvent *)theEvent
-{
-    /* This here is a little bit hacky. Grab important keys & forward they to
-       the parent Qt widget. There a special key handling is done. */
-    NSString *str = [theEvent charactersIgnoringModifiers];
-    unichar ch = 0;
-
-    /* Get the pressed character */
-    if ([str length] > 0)
-        ch = [str characterAtIndex:0];
-
-    if (ch == NSCarriageReturnCharacter || ch == NSEnterCharacter)
-    {
-        QKeyEvent ke(QEvent::KeyPress, Qt::Key_Enter, Qt::NoModifier);
-        QApplication::sendEvent (mRealTarget, &ke);
-    }
-    else if (ch == 27) /* Escape */
-    {
-        QKeyEvent ke(QEvent::KeyPress, Qt::Key_Escape, Qt::NoModifier);
-        QApplication::sendEvent (mRealTarget, &ke);
-    }
-    else if (ch == NSF3FunctionKey)
-    {
-        QKeyEvent ke(QEvent::KeyPress, Qt::Key_F3, [theEvent modifierFlags] & NSShiftKeyMask ? Qt::ShiftModifier : Qt::NoModifier);
-        QApplication::sendEvent (mRealTarget, &ke);
-    }
-
-    [super keyUp:theEvent];
-}
-
-//{
-//    QWidget *w = QApplication::focusWidget();
-//    if (w)
-//        w->clearFocus();
-//}
-
-- (void)textDidChange:(NSNotification *)aNotification
-{
-    mRealTarget->onTextChanged (::darwinNSStringToQString ([[aNotification object] string]));
-}
-@end
-
-#if MAC_OS_X_VERSION_MIN_ALLOWED >= MAC_OS_X_VERSION_10_6
-@interface VBSearchFieldDelegate: NSObject<NSTextFieldDelegate>
-#else
-@interface VBSearchFieldDelegate: NSObject
-#endif
-{}
-@end
-@implementation VBSearchFieldDelegate
--(BOOL)control:(NSControl*)control textView:(NSTextView*)textView doCommandBySelector:(SEL)commandSelector
-{
-//    NSLog (NSStringFromSelector (commandSelector));
-    /* Don't execute the selector for Enter & Escape. */
-    if (   commandSelector == @selector(insertNewline:)
-	    || commandSelector == @selector(cancelOperation:))
-		return YES;
-    return NO;
-}
-@end
-
-@interface VBSearchFieldCell: NSSearchFieldCell
-{
-    NSColor *mBGColor;
-}
-- (void)setBackgroundColor:(NSColor*)aBGColor;
-@end
-
-@implementation VBSearchFieldCell
-- (void)setBackgroundColor:(NSColor*)aBGColor
-{
-    if (mBGColor != aBGColor)
-    {
-        [mBGColor release];
-        mBGColor = [aBGColor retain];
-    }
-}
-
-- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
-{
-    if (mBGColor)
-    {
-        [mBGColor setFill];
-        NSRect frame = cellFrame;
-        frame.size.height -= 1;
-        frame.origin.y += 1;
-        double radius = RT_MIN(frame.size.width, frame.size.height) / 2.0;
-        [[NSBezierPath bezierPathWithRoundedRect:frame xRadius:radius yRadius:radius] fill];
-    }
-
-    [super drawInteriorWithFrame:cellFrame inView:controlView];
-}
-@end
-
-NSRect darwinCenterRectVerticalTo (NSRect aRect, const NSRect& aToRect)
-{
-    aRect.origin.y = (aToRect.size.height - aRect.size.height) / 2.0;
-    return aRect;
-}
-
-VBoxCocoaButton::VBoxCocoaButton (CocoaButtonType aType, QWidget *aParent /* = 0 */)
-  : QMacCocoaViewContainer (0, aParent)
-{
-    setContentsMargins(0, 0, 0, 0);
-    switch (aType)
-    {
-        case HelpButton:
-        {
-            mNativeRef = [[NSButton alloc] init];
-            [mNativeRef setTitle: @""];
-            [mNativeRef setBezelStyle: NSHelpButtonBezelStyle];
-            [mNativeRef setBordered: YES];
-            [mNativeRef setAlignment: NSCenterTextAlignment];
-            [mNativeRef sizeToFit];
-            NSRect frame = [mNativeRef frame];
-            frame.size.width += 12; /* Margin */
-            [mNativeRef setFrame:frame];
-            break;
-        };
-        case CancelButton:
-        {
-            mNativeRef = [[NSButton alloc] initWithFrame: NSMakeRect(0, 0, 13, 13)];
-            [mNativeRef setTitle: @""];
-            [mNativeRef setBezelStyle:NSShadowlessSquareBezelStyle];
-            [mNativeRef setButtonType:NSMomentaryChangeButton];
-            [mNativeRef setImage: [NSImage imageNamed: NSImageNameStopProgressFreestandingTemplate]];
-            [mNativeRef setBordered: NO];
-            [[mNativeRef cell] setImageScaling: NSImageScaleProportionallyDown];
-            break;
-        }
-        case ResetButton:
-        {
-            mNativeRef = [[NSButton alloc] initWithFrame: NSMakeRect(0, 0, 13, 13)];
-            [mNativeRef setTitle: @""];
-            [mNativeRef setBezelStyle:NSShadowlessSquareBezelStyle];
-            [mNativeRef setButtonType:NSMomentaryChangeButton];
-            [mNativeRef setImage: [NSImage imageNamed: NSImageNameRefreshFreestandingTemplate]];
-            [mNativeRef setBordered: NO];
-            [[mNativeRef cell] setImageScaling: NSImageScaleProportionallyDown];
-            break;
-        }
-    }
-
-    NSButtonTarget *bt = [[NSButtonTarget alloc] initWithObject:this];
-    [mNativeRef setTarget:bt];
-    [mNativeRef setAction:@selector(clicked:)];
-
-    NSRect frame = [mNativeRef frame];
-    resize (frame.size.width, frame.size.height);
-
-    setSizePolicy (QSizePolicy::Fixed, QSizePolicy::Fixed);
-
-    setCocoaView (mNativeRef);
-}
-
-VBoxCocoaButton::~VBoxCocoaButton()
-{
-    [[mNativeRef target] release];
-    [mNativeRef release];
-}
-
-QSize VBoxCocoaButton::sizeHint() const
-{
-    NSRect frame = [mNativeRef frame];
-    return QSize (frame.size.width, frame.size.height);
-}
-
-void VBoxCocoaButton::resizeEvent(QResizeEvent * /* pEvent */)
-{
-    NSRect frame = [mNativeRef frame];
-    frame.size.width = width();
-    frame.size.height = height();
-    [mNativeRef setFrame:frame];
-}
-
-void VBoxCocoaButton::setText (const QString& aText)
-{
-    QString s (aText);
-    /* Set it for accessibility reasons as alternative title */
-    [mNativeRef setAlternateTitle: ::darwinQStringToNSString (s.remove ('&'))];
-}
-
-void VBoxCocoaButton::setToolTip (const QString& aTip)
-{
-    [mNativeRef setToolTip: ::darwinQStringToNSString (aTip)];
-}
-
-void VBoxCocoaButton::onClicked()
-{
-    emit clicked (false);
-}
-
-VBoxCocoaSegmentedButton::VBoxCocoaSegmentedButton (int aCount, QWidget *aParent /* = 0 */)
-  : QMacCocoaViewContainer (0, aParent)
-{
-    mNativeRef = [[NSSegmentedControl alloc] init];
-    [mNativeRef setSegmentCount:aCount];
-    [mNativeRef setSegmentStyle:NSSegmentStyleRoundRect];
-    [[mNativeRef cell] setTrackingMode: NSSegmentSwitchTrackingMomentary];
-    [mNativeRef setFont: [NSFont controlContentFontOfSize:
-        [NSFont systemFontSizeForControlSize: NSSmallControlSize]]];
-    [mNativeRef sizeToFit];
-
-    NSSegmentedButtonTarget *bt = [[NSSegmentedButtonTarget alloc] initWithObject1:this];
-    [mNativeRef setTarget:bt];
-    [mNativeRef setAction:@selector(segControlClicked:)];
-
-    NSRect frame = [mNativeRef frame];
-    resize (frame.size.width, frame.size.height);
-
-    setSizePolicy (QSizePolicy::Fixed, QSizePolicy::Fixed);
-
-    setCocoaView (mNativeRef);
-
-}
-
-VBoxCocoaSegmentedButton::~VBoxCocoaSegmentedButton()
-{
-    [[mNativeRef target] release];
-    [mNativeRef release];
-}
-
-QSize VBoxCocoaSegmentedButton::sizeHint() const
-{
-    NSRect frame = [mNativeRef frame];
-    return QSize (frame.size.width, frame.size.height);
-}
-
-void VBoxCocoaSegmentedButton::setTitle (int aSegment, const QString &aTitle)
-{
-    QString s (aTitle);
-    [mNativeRef setLabel: ::darwinQStringToNSString (s.remove ('&')) forSegment: aSegment];
-    [mNativeRef sizeToFit];
-    NSRect frame = [mNativeRef frame];
-    resize (frame.size.width, frame.size.height);
-}
-
-void VBoxCocoaSegmentedButton::setToolTip (int aSegment, const QString &aTip)
-{
-    [[mNativeRef cell] setToolTip: ::darwinQStringToNSString (aTip) forSegment: aSegment];
-}
-
-void VBoxCocoaSegmentedButton::setEnabled (int aSegment, bool fEnabled)
-{
-    [[mNativeRef cell] setEnabled: fEnabled forSegment: aSegment];
-}
-
-void VBoxCocoaSegmentedButton::animateClick (int aSegment)
-{
-    [mNativeRef setSelectedSegment: aSegment];
-    [[mNativeRef cell] performClick: mNativeRef];
-}
-
-void VBoxCocoaSegmentedButton::onClicked (int aSegment)
-{
-    emit clicked (aSegment, false);
-}
-
-VBoxCocoaSearchField::VBoxCocoaSearchField (QWidget *aParent /* = 0 */)
-  : QMacCocoaViewContainer (0, aParent)
-{
-    mNativeRef = [[VBSearchField alloc] initWithObject2: this];
-    [[mNativeRef cell] setControlSize: NSSmallControlSize];
-    [mNativeRef setFont: [NSFont controlContentFontOfSize:
-        [NSFont systemFontSizeForControlSize: NSSmallControlSize]]];
-    [mNativeRef sizeToFit];
-    NSRect f = [mNativeRef frame];
-    f.size.width = 180;
-    [mNativeRef setFrame: f];
-
-    setCocoaView (mNativeRef);
-    setFocusPolicy(Qt::StrongFocus);
-
-    /* Replace the cell class used for the NSSearchField */
-    [NSKeyedArchiver setClassName:@"VBSearchFieldCell" forClass:[NSSearchFieldCell class]];
-    [mNativeRef setCell:[NSKeyedUnarchiver unarchiveObjectWithData:[NSKeyedArchiver archivedDataWithRootObject:[mNativeRef cell]]]];
-    /* Get the original behavior back */
-    [NSKeyedArchiver setClassName:@"NSSearchFieldCell" forClass:[NSSearchFieldCell class]];
-
-    /* Use our own delegate */
-    VBSearchFieldDelegate *sfd = [[VBSearchFieldDelegate alloc] init];
-    [mNativeRef setDelegate: sfd];
-
-    NSRect frame = [mNativeRef frame];
-    resize (frame.size.width, frame.size.height + 1);
-    setMinimumWidth (50);
-
-    setSizePolicy (QSizePolicy::MinimumExpanding, QSizePolicy::Fixed);
-
-}
-
-VBoxCocoaSearchField::~VBoxCocoaSearchField()
-{
-    [[mNativeRef delegate] release];
-    [mNativeRef release];
-}
-
-QSize VBoxCocoaSearchField::sizeHint() const
-{
-    NSRect frame = [mNativeRef frame];
-    return QSize (frame.size.width, frame.size.height);
-}
-
-QString VBoxCocoaSearchField::text() const
-{
-    return ::darwinNSStringToQString ([mNativeRef stringValue]);
-}
-
-void VBoxCocoaSearchField::insert (const QString &aText)
-{
-    [[mNativeRef currentEditor] setString: [[mNativeRef stringValue] stringByAppendingString: ::darwinQStringToNSString (aText)]];
-}
-
-void VBoxCocoaSearchField::setToolTip (const QString &aTip)
-{
-    [mNativeRef setToolTip: ::darwinQStringToNSString (aTip)];
-}
-
-void VBoxCocoaSearchField::selectAll()
-{
-    [mNativeRef selectText: mNativeRef];
-}
-
-void VBoxCocoaSearchField::markError()
-{
-    [[mNativeRef cell] setBackgroundColor: [[NSColor redColor] colorWithAlphaComponent: 0.3]];
-}
-
-void VBoxCocoaSearchField::unmarkError()
-{
-    [[mNativeRef cell] setBackgroundColor: nil];
-}
-
-void VBoxCocoaSearchField::onTextChanged (const QString &aText)
-{
-    emit textChanged (aText);
-}
-
Index: /trunk/src/VBox/Frontends/VirtualBox/src/widgets/UISpacerWidgets.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/widgets/UISpacerWidgets.h	(revision 30188)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/widgets/UISpacerWidgets.h	(revision 30188)
@@ -0,0 +1,77 @@
+/** @file
+ *
+ * VBox frontends: Qt GUI ("VirtualBox"):
+ * UISpacerWidgets declarations
+ */
+
+/*
+ * Copyright (C) 2010 Oracle Corporation
+ *
+ * This file is part of VirtualBox Open Source Edition (OSE), as
+ * available from http://www.virtualbox.org. This file is free software;
+ * you can redistribute it and/or modify it under the terms of the GNU
+ * General Public License (GPL) as published by the Free Software
+ * Foundation, in version 2 as it comes in the "COPYING" file of the
+ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+ */
+
+#ifndef __UISpacerWidgets_h__
+#define __UISpacerWidgets_h__
+
+/* Global includes */
+#include <QWidget>
+
+class UISpacerWidget: public QWidget
+{
+    Q_OBJECT;
+
+public:
+
+    UISpacerWidget(QWidget *pParent = 0)
+      : QWidget(pParent)
+    {
+        setOrientation(Qt::Horizontal);
+    }
+
+    void setOrientation(Qt::Orientation o)
+    {
+        m_orientation = o;
+        if (m_orientation == Qt::Horizontal)
+            setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed));
+        else
+            setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding));
+    }
+    Qt::Orientation orientation() const { return m_orientation; }
+
+    QSize sizeHint() const { return QSize(1, 1); }
+
+private:
+    /* Private member vars */
+    Qt::Orientation m_orientation;
+};
+
+class UIHorizontalSpacerWidget: public UISpacerWidget
+{
+    Q_OBJECT;
+
+public:
+    UIHorizontalSpacerWidget(QWidget *pParent = 0)
+      : UISpacerWidget(pParent)
+    {}
+};
+
+class UIVerticalSpacerWidget: public UISpacerWidget
+{
+    Q_OBJECT;
+
+public:
+    UIVerticalSpacerWidget(QWidget *pParent = 0)
+      : UISpacerWidget(pParent)
+    {
+        setOrientation(Qt::Vertical);
+    }
+};
+
+#endif /* !__UISpacerWidgets_h__ */
+
Index: /trunk/src/VBox/Frontends/VirtualBox/src/widgets/VBoxSpecialControls.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/widgets/VBoxSpecialControls.cpp	(revision 30187)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/widgets/VBoxSpecialControls.cpp	(revision 30188)
@@ -35,5 +35,5 @@
 {
     setShortcut (QKeySequence (Qt::Key_Escape));
-    mButton = new VBoxCocoaButton (VBoxCocoaButton::CancelButton, this);
+    mButton = new UICocoaButton (UICocoaButton::CancelButton, this);
     connect (mButton, SIGNAL (clicked()),
              this, SIGNAL (clicked()));
@@ -54,5 +54,5 @@
   : QAbstractButton(pParent)
 {
-    m_pButton = new VBoxCocoaButton(VBoxCocoaButton::ResetButton, this);
+    m_pButton = new UICocoaButton(UICocoaButton::ResetButton, this);
     connect(m_pButton, SIGNAL(clicked()),
             this, SIGNAL(clicked()));
@@ -74,5 +74,5 @@
 {
     setShortcut (QKeySequence (QKeySequence::HelpContents));
-    mButton = new VBoxCocoaButton (VBoxCocoaButton::HelpButton, this);
+    mButton = new UICocoaButton (UICocoaButton::HelpButton, this);
     connect (mButton, SIGNAL (clicked()),
              this, SIGNAL (clicked()));
@@ -86,5 +86,5 @@
  ********************************************************************************/
 VBoxSegmentedButton::VBoxSegmentedButton (int aCount, QWidget *aParent /* = 0 */)
-  : VBoxCocoaSegmentedButton (aCount, aParent)
+  : UICocoaSegmentedButton (aCount, UICocoaSegmentedButton::TexturedRoundedSegment, aParent)
 {
 }
@@ -95,5 +95,5 @@
  ********************************************************************************/
 VBoxSearchField::VBoxSearchField (QWidget *aParent /* = 0 */)
-  : VBoxCocoaSearchField (aParent)
+  : UICocoaSearchField (aParent)
 {
 }
Index: /trunk/src/VBox/Frontends/VirtualBox/src/widgets/VBoxSpecialControls.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/widgets/VBoxSpecialControls.h	(revision 30187)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/widgets/VBoxSpecialControls.h	(revision 30188)
@@ -29,5 +29,5 @@
 
 /* VBox includes */
-#include "VBoxCocoaSpecialControls.h"
+#include "UICocoaSpecialControls.h"
 
 /********************************************************************************
@@ -52,5 +52,5 @@
 
 private:
-    VBoxCocoaButton *mButton;
+    UICocoaButton *mButton;
 };
 
@@ -76,5 +76,5 @@
 
 private:
-    VBoxCocoaButton *m_pButton;
+    UICocoaButton *m_pButton;
 };
 
@@ -99,5 +99,5 @@
 
 private:
-    VBoxCocoaButton *mButton;
+    UICocoaButton *mButton;
 };
 
@@ -107,5 +107,5 @@
  *
  ********************************************************************************/
-class VBoxSegmentedButton: public VBoxCocoaSegmentedButton
+class VBoxSegmentedButton: public UICocoaSegmentedButton
 {
     Q_OBJECT;
@@ -113,6 +113,4 @@
 public:
     VBoxSegmentedButton (int aCount, QWidget *aParent = 0);
-
-    void setIcon (int /* aSegment */, const QIcon & /* aIcon */) {}
 };
 
@@ -122,5 +120,5 @@
  *
  ********************************************************************************/
-class VBoxSearchField: public VBoxCocoaSearchField
+class VBoxSearchField: public UICocoaSearchField
 {
     Q_OBJECT;
