Index: /trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk	(revision 99183)
+++ /trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk	(revision 99184)
@@ -278,4 +278,7 @@
 if "$(KBUILD_TYPE)" != "release" || defined(VBOX_GUI_WITH_EXTRADATA_MANAGER_UI)
  UICommon_DEFS        += VBOX_GUI_WITH_EXTRADATA_MANAGER_UI
+endif
+if "$(KBUILD_TYPE)" != "release" || defined(VBOX_NOTIFICATION_CENTER_WITH_KEEP_BUTTON)
+ UICommon_DEFS        += VBOX_NOTIFICATION_CENTER_WITH_KEEP_BUTTON
 endif
 ifndef VBOX_WITHOUT_LESS_VIRTUALBOX_INCLUDING
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp	(revision 99183)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp	(revision 99184)
@@ -38,5 +38,7 @@
 const char *UIExtraDataDefs::GUI_SuppressMessages = "GUI/SuppressMessages";
 const char *UIExtraDataDefs::GUI_InvertMessageOption = "GUI/InvertMessageOption";
+#ifdef VBOX_NOTIFICATION_CENTER_WITH_KEEP_BUTTON
 const char *UIExtraDataDefs::GUI_NotificationCenter_KeepSuccessfullProgresses = "GUI/NotificationCenter/KeepSuccessfullProgresses";
+#endif
 const char *UIExtraDataDefs::GUI_NotificationCenter_Alignment = "GUI/NotificationCenter/Alignment";
 const char *UIExtraDataDefs::GUI_NotificationCenter_Order = "GUI/NotificationCenter/Order";
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h	(revision 99183)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h	(revision 99184)
@@ -67,6 +67,8 @@
         /** Holds the list of messages for the Message/Popup center frameworks with inverted check-box state. */
         SHARED_LIBRARY_STUFF extern const char *GUI_InvertMessageOption;
+#ifdef VBOX_NOTIFICATION_CENTER_WITH_KEEP_BUTTON
         /** Holds whether successfull notification-progresses should NOT close automatically. */
         SHARED_LIBRARY_STUFF extern const char *GUI_NotificationCenter_KeepSuccessfullProgresses;
+#endif
         /** Holds notification-center alignment. */
         SHARED_LIBRARY_STUFF extern const char *GUI_NotificationCenter_Alignment;
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp	(revision 99183)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp	(revision 99184)
@@ -1915,5 +1915,7 @@
            << GUI_RestrictedDialogs
            << GUI_SuppressMessages << GUI_InvertMessageOption
+#ifdef VBOX_NOTIFICATION_CENTER_WITH_KEEP_BUTTON
            << GUI_NotificationCenter_KeepSuccessfullProgresses
+#endif
            << GUI_NotificationCenter_Alignment
            << GUI_NotificationCenter_Order
@@ -1921,5 +1923,5 @@
 #ifdef VBOX_GUI_WITH_NETWORK_MANAGER
            << GUI_PreventApplicationUpdate << GUI_UpdateDate << GUI_UpdateCheckCount
-#endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
+#endif
            << GUI_Progress_LegacyMode
            << GUI_Customizations
@@ -1954,5 +1956,5 @@
 #ifndef VBOX_WS_MAC
            << GUI_MachineWindowIcons << GUI_MachineWindowNamePostfix
-#endif /* !VBOX_WS_MAC */
+#endif
            << GUI_LastNormalWindowPosition << GUI_LastScaleWindowPosition
 #ifndef VBOX_WS_MAC
@@ -1968,8 +1970,8 @@
 #ifdef VBOX_WITH_DEBUGGER_GUI
            << GUI_RestrictedRuntimeDebuggerMenuActions
-#endif /* VBOX_WITH_DEBUGGER_GUI */
+#endif
 #ifdef VBOX_WS_MAC
            << GUI_RestrictedRuntimeWindowMenuActions
-#endif /* VBOX_WS_MAC */
+#endif
            << GUI_RestrictedRuntimeHelpMenuActions
            << GUI_RestrictedVisualStates
@@ -1978,14 +1980,14 @@
            << GUI_Fullscreen_LegacyMode
            << GUI_DistinguishMachineWindowGroups
-#endif /* VBOX_WS_X11 */
+#endif
            << GUI_AutoresizeGuest << GUI_LastVisibilityStatusForGuestScreen << GUI_LastGuestSizeHint
            << GUI_VirtualScreenToHostScreen << GUI_AutomountGuestScreens
 #ifndef VBOX_WS_MAC
            << GUI_ShowMiniToolBar << GUI_MiniToolBarAutoHide << GUI_MiniToolBarAlignment
-#endif /* !VBOX_WS_MAC */
+#endif
            << GUI_StatusBar_Enabled << GUI_StatusBar_ContextMenu_Enabled << GUI_RestrictedStatusBarIndicators << GUI_StatusBar_IndicatorOrder
 #ifdef VBOX_WS_MAC
            << GUI_RealtimeDockIconUpdateEnabled << GUI_RealtimeDockIconUpdateMonitor << GUI_DockIconDisableOverlay
-#endif /* VBOX_WS_MAC */
+#endif
            << GUI_PassCAD
            << GUI_MouseCapturePolicy
@@ -2002,5 +2004,5 @@
 #ifdef VBOX_WITH_DEBUGGER_GUI
            << GUI_Dbg_Enabled << GUI_Dbg_AutoShow
-#endif /* VBOX_WITH_DEBUGGER_GUI */
+#endif
            << GUI_ExtraDataManager_Geometry << GUI_ExtraDataManager_SplitterHints
            << GUI_LogWindowGeometry
@@ -2366,4 +2368,5 @@
 }
 
+#ifdef VBOX_NOTIFICATION_CENTER_WITH_KEEP_BUTTON
 bool UIExtraDataManager::keepSuccessfullNotificationProgresses()
 {
@@ -2377,4 +2380,5 @@
     setExtraDataString(GUI_NotificationCenter_KeepSuccessfullProgresses, toFeatureAllowed(fKeep));
 }
+#endif /* VBOX_NOTIFICATION_CENTER_WITH_KEEP_BUTTON */
 
 Qt::Alignment UIExtraDataManager::notificationCenterAlignment()
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h	(revision 99183)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h	(revision 99184)
@@ -202,8 +202,10 @@
         QStringList messagesWithInvertedOption();
 
+#ifdef VBOX_NOTIFICATION_CENTER_WITH_KEEP_BUTTON
         /** Returns whether successfull notification-progresses should NOT close automatically. */
         bool keepSuccessfullNotificationProgresses();
         /** Defines whether successfull notification-progresses should NOT close (@a fKeep) automatically. */
         void setKeepSuccessfullNotificationProgresses(bool fKeep);
+#endif /* VBOX_NOTIFICATION_CENTER_WITH_KEEP_BUTTON */
 
         /** Returns notification-center alignment. */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/notificationcenter/UINotificationCenter.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/notificationcenter/UINotificationCenter.cpp	(revision 99183)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/notificationcenter/UINotificationCenter.cpp	(revision 99184)
@@ -165,5 +165,7 @@
     , m_pButtonOpen(0)
     , m_pButtonToggleSorting(0)
+#ifdef VBOX_NOTIFICATION_CENTER_WITH_KEEP_BUTTON
     , m_pButtonKeepFinished(0)
+#endif
     , m_pButtonRemoveFinished(0)
     , m_pLayoutItems(0)
@@ -294,6 +296,8 @@
     if (m_pButtonToggleSorting)
         m_pButtonToggleSorting->setToolTip(tr("Toggle ascending/descending order"));
+#ifdef VBOX_NOTIFICATION_CENTER_WITH_KEEP_BUTTON
     if (m_pButtonKeepFinished)
         m_pButtonKeepFinished->setToolTip(tr("Keep finished progresses"));
+#endif
     if (m_pButtonRemoveFinished)
         m_pButtonRemoveFinished->setToolTip(tr("Delete finished notifications"));
@@ -420,8 +424,10 @@
 }
 
+#ifdef VBOX_NOTIFICATION_CENTER_WITH_KEEP_BUTTON
 void UINotificationCenter::sltHandleKeepButtonToggled(bool fToggled)
 {
     gEDataManager->setKeepSuccessfullNotificationProgresses(fToggled);
 }
+#endif /* VBOX_NOTIFICATION_CENTER_WITH_KEEP_BUTTON */
 
 void UINotificationCenter::sltHandleRemoveFinishedButtonClicked()
@@ -632,4 +638,5 @@
             }
 
+#ifdef VBOX_NOTIFICATION_CENTER_WITH_KEEP_BUTTON
             /* Prepare keep-finished button: */
             m_pButtonKeepFinished = new QIToolButton(this);
@@ -642,4 +649,5 @@
                 m_pLayoutButtons->addWidget(m_pButtonKeepFinished);
             }
+#endif /* VBOX_NOTIFICATION_CENTER_WITH_KEEP_BUTTON */
 
             /* Prepare remove-finished button: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/notificationcenter/UINotificationCenter.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/notificationcenter/UINotificationCenter.h	(revision 99183)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/notificationcenter/UINotificationCenter.h	(revision 99184)
@@ -121,6 +121,8 @@
     /** Issues request to make open button @a fToggled. */
     void sltHandleOpenButtonToggled(bool fToggled);
+#ifdef VBOX_NOTIFICATION_CENTER_WITH_KEEP_BUTTON
     /** Toggles notification-progresses keep approach. */
     void sltHandleKeepButtonToggled(bool fToggled);
+#endif
     /** Removes finished notifications. */
     void sltHandleRemoveFinishedButtonClicked();
@@ -190,6 +192,8 @@
     /** Holds the toggle-sorting button instance. */
     QIToolButton *m_pButtonToggleSorting;
+#ifdef VBOX_NOTIFICATION_CENTER_WITH_KEEP_BUTTON
     /** Holds the keep-finished button instance. */
     QIToolButton *m_pButtonKeepFinished;
+#endif
     /** Holds the remove-finished button instance. */
     QIToolButton *m_pButtonRemoveFinished;
Index: /trunk/src/VBox/Frontends/VirtualBox/src/notificationcenter/UINotificationObject.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/notificationcenter/UINotificationObject.cpp	(revision 99183)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/notificationcenter/UINotificationObject.cpp	(revision 99184)
@@ -215,5 +215,8 @@
     /* If there was no error and no reason to keep progress alive, - finish him! */
     if (   error().isEmpty()
-        && !gEDataManager->keepSuccessfullNotificationProgresses())
+#ifdef VBOX_NOTIFICATION_CENTER_WITH_KEEP_BUTTON
+        && !gEDataManager->keepSuccessfullNotificationProgresses()
+#endif
+        )
         close();
 }
