All pastes #673372 Raw Edit

Untitled

public text v1 · immutable
#673372 ·published 2007-08-28 10:57 UTC
rendered paste body
Index: 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" >