rendered paste bodyIndex: ClientApp/CParallelsAboutDialog.cpp
===================================================================
--- ClientApp/CParallelsAboutDialog.cpp (revision 30818)
+++ ClientApp/CParallelsAboutDialog.cpp (working copy)
@@ -21,6 +21,8 @@
#include "CClientAppUtils.h"
#include "StringTable.h"
#include "CApplication.h"
+#include "CServerManager.h"
+#include "CServerWrap.h"
#include "../Build/Current-gen.ver"
#include "Libraries/Logging/Logging.h"
@@ -48,11 +50,11 @@
QString productName;
if ( PARALLELS_APP->isServerMode() ) {
productName = QObject::tr( "Server" );
- title = ID_TEXT_PRODUCT_NAME_SERVER;
+ title = QObject::tr(ID_TEXT_PRODUCT_NAME_SERVER);
}
else {
productName = QObject::tr( "Desktop" );
- title = ID_TEXT_PRODUCT_NAME_DESKTOP;
+ title = QObject::tr(ID_TEXT_PRODUCT_NAME_DESKTOP);
}
////////////////////////////////////////////////////////////////////////////////
@@ -124,7 +126,7 @@
CWidgetUtils::setNormalFont( m_DlgUI.m_lblCopyrightText );
CWidgetUtils::setNormalFont( m_DlgUI.m_lblTrademarks );
CWidgetUtils::setNormalFont( m_DlgUI.m_lblLicenseText );
- CWidgetUtils::setNormalFont( m_DlgUI.m_lblUser );
+ CWidgetUtils::setNormalFont( m_DlgUI.m_lblLicenses );
CWidgetUtils::setNormalFont( m_DlgUI.m_lblTechSupport );
CWidgetUtils::setNormalFont( m_DlgUI.m_supportRef );
QString refTxt = m_DlgUI.m_supportRef->text();
@@ -136,13 +138,8 @@
// Set fixed size
////////////////////////////////////////////////////////////////////////////////
- int height = 450;
-#ifdef _MAC_
- height = 470;
-#endif
+ layout()->setSizeConstraint( QLayout::SetFixedSize );
- setFixedSize( QSize( width(), height ).expandedTo( minimumSizeHint() ) );
-
#ifdef _MAC_
////////////////////////////////////////////////////////////////////////////////
// Move to screen center
@@ -163,3 +160,59 @@
///////////////////////////////////////////////////////////////////////////////
+void CParallelsAboutDialog::fillLicensingData()
+{
+ int nSrvCount = SERVER_MNG->countServers();
+ QString sLabelText;
+
+ for(int idx=0; idx < nSrvCount; ++idx)
+ {
+ CServerWrap *pServer = SERVER_MNG->getServer(idx);
+ if(!pServer || pServer->getState() != CServerWrap::Connected )
+ continue;
+
+ SdkHandleWrap hLicenseHandle = pServer->requestLicenseInfo();
+
+ PRL_UINT32 iBufLength = 100;
+ PRL_CHAR sLicenseKey[100];
+ PRL_RESULT nRetCode = PrlLic_GetLicenseKey(hLicenseHandle, sLicenseKey, &iBufLength);
+ if (PRL_FAILED(nRetCode))
+ {
+ LOG_MESSAGE(DBG_FATAL, "Couldn't extract dispatcher license info (key). Error code: %.8X", nRetCode);
+ continue;
+ }
+
+ iBufLength = 100;
+ PRL_CHAR sUserName[100];
+ nRetCode = PrlLic_GetUserName(hLicenseHandle, sUserName, &iBufLength);
+ if (PRL_FAILED(nRetCode))
+ {
+ LOG_MESSAGE(DBG_FATAL, "Couldn't extract dispatcher license info (user name). Error code: %.8X", nRetCode);
+ continue;
+ }
+
+ // if label text is empty, then this is the entry for the first online
+ // server in list and there's no need to put newline. Otherwise, we put
+ // newline to nicely separate info for each online server
+ if( !sLabelText.isEmpty() )
+ sLabelText.append("<br><br>");
+
+ // nothing failed, so let's write it
+ sLabelText.append( QString("<b>%1 </b>").arg(QString::fromUtf8(sUserName)) );
+ if( PARALLELS_APP->isServerMode() )
+ sLabelText.append(QString("<b>: %1</b><br>").arg(pServer->getServerName()));
+ sLabelText.append( "<b>Key:</b> "+QString::fromUtf8(sLicenseKey) );
+ }
+
+ m_DlgUI.m_lblLicenses->setText( sLabelText );
+}
+
+void CParallelsAboutDialog::showEvent( QShowEvent* )
+{
+ fillLicensingData();
+// int width = m_DlgUI.frame_2->width();
+// m_DlgUI.m_lblTrademarks->setFixedSize( width, m_DlgUI.m_lblTrademarks->heightForWidth(width) );
+ updateGeometry();
+// setFixedSize( sizeHint() );
+}
+
Index: ClientApp/CParallelsAboutDialog.h
===================================================================
--- ClientApp/CParallelsAboutDialog.h (revision 30818)
+++ ClientApp/CParallelsAboutDialog.h (working copy)
@@ -36,6 +36,15 @@
private:
void initDialog ();
+ /**
+ * Fills corresponding label with licensing data for
+ * each server
+ */
+ void fillLicensingData();
+ /**
+ * Show event handler
+ */
+ void showEvent( QShowEvent* );
private slots:
void onMoreInfo ();
Index: ClientApp/dialogs/CParallelsAboutDialog.ui
===================================================================
--- ClientApp/dialogs/CParallelsAboutDialog.ui (revision 30818)
+++ ClientApp/dialogs/CParallelsAboutDialog.ui (working copy)
@@ -9,25 +9,32 @@
<x>0</x>
<y>0</y>
<width>422</width>
- <height>493</height>
+ <height>512</height>
</rect>
</property>
<property name="windowTitle" >
<string>Form</string>
</property>
<layout class="QVBoxLayout" >
- <property name="margin" >
+ <property name="spacing" >
<number>0</number>
</property>
- <property name="spacing" >
+ <property name="leftMargin" >
<number>0</number>
</property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
<item>
<widget class="QLabel" name="m_lblLogo" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>0</vsizetype>
+ <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -43,9 +50,7 @@
<item>
<widget class="QFrame" name="m_DialogFrame" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>5</vsizetype>
+ <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -57,18 +62,10 @@
<enum>QFrame::Plain</enum>
</property>
<layout class="QVBoxLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
- <property name="spacing" >
- <number>9</number>
- </property>
<item>
<widget class="QLabel" name="m_lblProductName" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>0</vsizetype>
+ <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -86,9 +83,7 @@
<item>
<widget class="QLabel" name="m_lblBuildNumber" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>0</vsizetype>
+ <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -106,9 +101,7 @@
<item>
<widget class="QLabel" name="m_lblCopyrightText" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>0</vsizetype>
+ <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -139,9 +132,7 @@
<item>
<widget class="QLabel" name="m_lblTrademarks" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>5</vsizetype>
+ <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -181,9 +172,7 @@
<item>
<widget class="QLabel" name="m_lblLicenseInfo" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>0</vsizetype>
+ <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -202,18 +191,10 @@
</item>
<item>
<layout class="QVBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
- <property name="spacing" >
- <number>4</number>
- </property>
<item>
<widget class="QLabel" name="m_lblLicenseText" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>0</vsizetype>
+ <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -229,24 +210,42 @@
</widget>
</item>
<item>
- <widget class="QLabel" name="m_lblUser" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font" >
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="text" >
- <string>User</string>
- </property>
- </widget>
+ <layout class="QHBoxLayout" >
+ <item>
+ <spacer>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType" >
+ <enum>QSizePolicy::Fixed</enum>
+ </property>
+ <property name="sizeHint" >
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="m_lblLicenses" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="font" >
+ <font>
+ <pointsize>11</pointsize>
+ </font>
+ </property>
+ <property name="text" >
+ <string>User</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
</layout>
</item>
@@ -263,9 +262,7 @@
<item>
<widget class="QLabel" name="m_lblSupportInfo" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>0</vsizetype>
+ <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -284,18 +281,25 @@
</item>
<item>
<layout class="QHBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
<item>
<widget class="QLabel" name="m_lblTechSupport" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>0</vsizetype>
+ <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -313,15 +317,13 @@
<item>
<widget class="QLabel" name="m_supportRef" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>1</vsizetype>
+ <sizepolicy vsizetype="Minimum" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="cursor" >
- <cursor>13</cursor>
+ <cursorShape>PointingHandCursor</cursorShape>
</property>
<property name="focusPolicy" >
<enum>Qt::NoFocus</enum>
@@ -367,12 +369,21 @@
</item>
<item>
<layout class="QHBoxLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>9</number>
+ </property>
+ <property name="topMargin" >
+ <number>9</number>
+ </property>
+ <property name="rightMargin" >
+ <number>9</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>9</number>
+ </property>
<item>
<spacer>
<property name="orientation" >