Index: trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk	(revision 71873)
+++ trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk	(revision 71874)
@@ -443,5 +443,4 @@
 	src/extensions/QIMenu.h \
 	src/extensions/QIStatusBar.h \
-	src/extensions/QIStyledItemDelegate.h \
 	src/extensions/QITabWidget.h \
 	src/extensions/QITableView.h \
@@ -666,4 +665,5 @@
 	src/extensions/QISplitter.h \
 	src/extensions/QIStatusBarIndicator.h \
+	src/extensions/QIStyledItemDelegate.h \
 	src/extensions/QIToolButton.h \
 	src/extensions/QIWidgetValidator.h \
@@ -744,4 +744,5 @@
 	src/extensions/QISplitter.h \
 	src/extensions/QIStatusBarIndicator.h \
+	src/extensions/QIStyledItemDelegate.h \
 	src/extensions/QIToolButton.h \
 	src/extensions/QIWidgetValidator.h \
@@ -1168,4 +1169,5 @@
 	src/extensions/QISplitter.cpp \
 	src/extensions/QIStatusBarIndicator.cpp \
+	src/extensions/QIStyledItemDelegate.cpp \
 	src/extensions/QIToolButton.cpp \
 	src/extensions/QIWidgetValidator.cpp \
@@ -1273,4 +1275,5 @@
 	src/extensions/QISplitter.cpp \
 	src/extensions/QIStatusBarIndicator.cpp \
+	src/extensions/QIStyledItemDelegate.cpp \
 	src/extensions/QIToolButton.cpp \
 	src/extensions/QIWidgetValidator.cpp \
Index: trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIStyledItemDelegate.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIStyledItemDelegate.cpp	(revision 71874)
+++ trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIStyledItemDelegate.cpp	(revision 71874)
@@ -0,0 +1,59 @@
+/* $Id$ */
+/** @file
+ * VBox Qt GUI - Qt extensions: QIStyledItemDelegate class implementation.
+ */
+
+/*
+ * Copyright (C) 2006-2018 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.
+ */
+
+/* GUI includes: */
+#include "QIStyledItemDelegate.h"
+
+
+QIStyledItemDelegate::QIStyledItemDelegate(QObject *pParent)
+    : QStyledItemDelegate(pParent)
+    , m_fWatchForEditorDataCommits(false)
+    , m_fWatchForEditorEnterKeyTriggering(false)
+{
+}
+
+void QIStyledItemDelegate::setWatchForEditorDataCommits(bool fWatch)
+{
+    m_fWatchForEditorDataCommits = fWatch;
+}
+
+void QIStyledItemDelegate::setWatchForEditorEnterKeyTriggering(bool fWatch)
+{
+    m_fWatchForEditorEnterKeyTriggering = fWatch;
+}
+
+QWidget *QIStyledItemDelegate::createEditor(QWidget *pParent,
+                                            const QStyleOptionViewItem &option,
+                                            const QModelIndex &index) const
+{
+    /* Call to base-class to get actual editor created: */
+    QWidget *pEditor = QStyledItemDelegate::createEditor(pParent, option, index);
+
+    /* Watch for editor data commits, redirect to listeners: */
+    if (m_fWatchForEditorDataCommits)
+        connect(pEditor, SIGNAL(sigCommitData(QWidget *)), this, SIGNAL(commitData(QWidget *)));
+
+    /* Watch for editor Enter key triggering, redirect to listeners: */
+    if (m_fWatchForEditorEnterKeyTriggering)
+        connect(pEditor, SIGNAL(sigEnterKeyTriggered()), this, SIGNAL(sigEditorEnterKeyTriggered()));
+
+    /* Notify listeners about editor created: */
+    emit sigEditorCreated(pEditor, index);
+
+    /* Return actual editor: */
+    return pEditor;
+}
Index: trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIStyledItemDelegate.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIStyledItemDelegate.h	(revision 71873)
+++ trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIStyledItemDelegate.h	(revision 71874)
@@ -1,9 +1,9 @@
 /* $Id$ */
 /** @file
- * VBox Qt GUI - QIStyledItemDelegate class declaration.
+ * VBox Qt GUI - Qt extensions: QIStyledItemDelegate class declaration.
  */
 
 /*
- * Copyright (C) 2006-2017 Oracle Corporation
+ * Copyright (C) 2006-2018 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -20,9 +20,11 @@
 
 /* Qt includes: */
-# include <QStyledItemDelegate>
+#include <QStyledItemDelegate>
 
+/* GUI includes: */
+#include "UILibraryDefs.h"
 
 /** QStyledItemDelegate subclass extending standard functionality. */
-class QIStyledItemDelegate : public QStyledItemDelegate
+class SHARED_LIBRARY_STUFF QIStyledItemDelegate : public QStyledItemDelegate
 {
     Q_OBJECT;
@@ -39,14 +41,10 @@
 
     /** Constructs delegate passing @a pParent to the base-class. */
-    QIStyledItemDelegate(QObject *pParent)
-        : QStyledItemDelegate(pParent)
-        , m_fWatchForEditorDataCommits(false)
-        , m_fWatchForEditorEnterKeyTriggering(false)
-    {}
+    QIStyledItemDelegate(QObject *pParent);
 
     /** Defines whether delegate should watch for the editor's data commits. */
-    void setWatchForEditorDataCommits(bool fWatch) { m_fWatchForEditorDataCommits = fWatch; }
+    void setWatchForEditorDataCommits(bool fWatch);
     /** Defines whether delegate should watch for the editor's Enter key triggering. */
-    void setWatchForEditorEnterKeyTriggering(bool fWatch) { m_fWatchForEditorEnterKeyTriggering = fWatch; }
+    void setWatchForEditorEnterKeyTriggering(bool fWatch);
 
 protected:
@@ -54,23 +52,7 @@
     /** Returns the widget used to edit the item specified by @a index.
       * The @a pParent widget and style @a option are used to control how the editor widget appears. */
-    virtual QWidget *createEditor(QWidget *pParent, const QStyleOptionViewItem &option, const QModelIndex &index) const /* override */
-    {
-        /* Call to base-class to get actual editor created: */
-        QWidget *pEditor = QStyledItemDelegate::createEditor(pParent, option, index);
-
-        /* Watch for editor data commits, redirect to listeners: */
-        if (m_fWatchForEditorDataCommits)
-            connect(pEditor, SIGNAL(sigCommitData(QWidget *)), this, SIGNAL(commitData(QWidget *)));
-
-        /* Watch for editor Enter key triggering, redirect to listeners: */
-        if (m_fWatchForEditorEnterKeyTriggering)
-            connect(pEditor, SIGNAL(sigEnterKeyTriggered()), this, SIGNAL(sigEditorEnterKeyTriggered()));
-
-        /* Notify listeners about editor created: */
-        emit sigEditorCreated(pEditor, index);
-
-        /* Return actual editor: */
-        return pEditor;
-    }
+    virtual QWidget *createEditor(QWidget *pParent,
+                                  const QStyleOptionViewItem &option,
+                                  const QModelIndex &index) const /* override */;
 
 private:
@@ -83,3 +65,2 @@
 
 #endif /* !___QIStyledItemDelegate_h___ */
-
