Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIErrorString.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIErrorString.cpp	(revision 92482)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIErrorString.cpp	(revision 92483)
@@ -136,4 +136,17 @@
 
 /* static */
+QString UIErrorString::simplifiedErrorInfo(const COMErrorInfo &comInfo, HRESULT wrapperRC /* = S_OK */)
+{
+    return UIErrorString::errorInfoToSimpleString(comInfo, wrapperRC);
+}
+
+/* static */
+QString UIErrorString::simplifiedErrorInfo(const COMBaseWithEI &comWrapper)
+{
+    Assert(comWrapper.lastRC() != S_OK);
+    return simplifiedErrorInfo(comWrapper.errorInfo(), comWrapper.lastRC());
+}
+
+/* static */
 QString UIErrorString::errorInfoToString(const COMErrorInfo &comInfo, HRESULT wrapperRC)
 {
@@ -218,2 +231,38 @@
 }
 
+/* static */
+QString UIErrorString::errorInfoToSimpleString(const COMErrorInfo &comInfo, HRESULT wrapperRC /* = S_OK */)
+{
+    /* Compose complex details string with text and status code: */
+    QString strFormatted;
+
+    /* Check if details text is NOT empty: */
+    const QString strDetailsInfo = comInfo.text();
+    if (!strDetailsInfo.isEmpty())
+        strFormatted += strDetailsInfo;
+
+    /* Check if we have result code: */
+    bool fHaveResultCode = false;
+
+    if (comInfo.isBasicAvailable())
+    {
+#ifdef VBOX_WS_WIN
+        fHaveResultCode = comInfo.isFullAvailable();
+#else
+        fHaveResultCode = true;
+#endif
+
+        if (fHaveResultCode)
+            strFormatted += "; " + QString("Result Code: ") + formatRCFull(comInfo.resultCode());
+    }
+
+    if (   FAILED(wrapperRC)
+        && (!fHaveResultCode || wrapperRC != comInfo.resultCode()))
+        strFormatted += "; " + QString("Callee RC: ") + formatRCFull(wrapperRC);
+
+    /* Check if we have next error queued: */
+    if (comInfo.next())
+        strFormatted += "; " + errorInfoToSimpleString(*comInfo.next());
+
+    return strFormatted;
+}
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIErrorString.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIErrorString.h	(revision 92482)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIErrorString.h	(revision 92483)
@@ -58,8 +58,16 @@
     static QString formatErrorInfo(const COMResult &comRc);
 
+    /** Returns simplified error information for passed @a comInfo and @a wrapperRC. */
+    static QString simplifiedErrorInfo(const COMErrorInfo &comInfo, HRESULT wrapperRC = S_OK);
+    /** Returns simplified error information for passed @a comWrapper. */
+    static QString simplifiedErrorInfo(const COMBaseWithEI &comWrapper);
+
 private:
 
     /** Converts passed @a comInfo and @a wrapperRC to string. */
     static QString errorInfoToString(const COMErrorInfo &comInfo, HRESULT wrapperRC = S_OK);
+
+    /** Converts passed @a comInfo and @a wrapperRC to simplified string. */
+    static QString errorInfoToSimpleString(const COMErrorInfo &comInfo, HRESULT wrapperRC = S_OK);
 };
 
