[Turqstat-commits] [SCM] Turquoise SuperStat - http://www.softwolves.pp.se/sw/software/turquoise branch, xturqstat-win32, updated. release-3.0-2-24-g32a20f2

Peter Karlsson peter at softwolves.pp.se
Mon Jun 2 19:17:54 UTC 2008


The following commit has been merged in the xturqstat-win32 branch:
commit d4b2ef5718d6a3665aa14fea14a71c8ff10c9ded
Author: Peter Karlsson <peter at softwolves.pp.se>
Date:   Mon Jun 2 20:20:38 2008 +0200

    Revert "QString can now be set directly from std::wstring."
    
    This reverts commit 9d9d3405a3df35644bd719154735ff01eb13ee3f.
    
    Conflicts:
    
    	qtlist.cpp
    	qtlist.h

diff --git a/qtlist.cpp b/qtlist.cpp
index 20e5a29..7bf5c77 100644
--- a/qtlist.cpp
+++ b/qtlist.cpp
@@ -174,8 +174,7 @@ void TopListWindow::addQuoters(StatEngine *engine)
         if (data.bytesquoted && data.byteswritten)
         {
             QString tmp;
-			QString name;
-			name.fromWCharArray(data.name.c_str());
+            QString name = charConvert(data.name);
             if (name != QString(data.address.c_str()))
                 tmp = name + " <" + data.address.c_str() + ">";
             else
@@ -205,7 +204,7 @@ void TopListWindow::addSenders(StatEngine *engine)
         if (!data.messageswritten) break;
 
         QString tmp;
-		QString name = QString::fromStdWString(data.name);
+        QString name = charConvert(data.name);
         if (name != QString(data.address.c_str()))
             tmp = name + " <" + data.address.c_str() + ">";
         else
@@ -243,7 +242,7 @@ void TopListWindow::addOriginalContent(StatEngine *engine)
         }
 
         QString tmp;
-		QString name = QString::fromStdWString(data.name);
+        QString name = charConvert(data.name);
         if (name != QString(data.address.c_str()))
             tmp = name + " <" + data.address.c_str() + ">";
         else
@@ -316,7 +315,7 @@ void TopListWindow::addReceivers(StatEngine *engine)
 
         QString tmp;
         if (data.name.length())
-			tmp = QString::fromStdWString(data.name);
+            tmp = charConvert(data.name);
         else
             tmp = tr("(none)");
 
@@ -346,7 +345,7 @@ void TopListWindow::addSubjects(StatEngine *engine)
     {
         QString tmp;
         if (data.subject.length())
-			tmp = QString::fromStdWString(data.subject);
+            tmp = charConvert(data.subject);
         else
             tmp = tr("(none)");
 
@@ -372,7 +371,7 @@ void TopListWindow::addSoftware(StatEngine *engine)
     {
         QString tmp;
         if (data.program.length())
-			tmp = QString::fromStdWString(data.program);
+            tmp = charConvert(data.program);
         else
             tmp = tr("(none)");
 
@@ -387,6 +386,21 @@ void TopListWindow::addSoftware(StatEngine *engine)
     engine->DoneTopPrograms();
 }
 
+QString TopListWindow::charConvert(wstring &inputstring)
+{
+    int length = inputstring.length();
+    QChar *tmp = new QChar[length];
+    for (int i = 0; i < length; i ++)
+    {
+        tmp[i] = inputstring[i];
+    }
+
+    QString rc = QString(tmp, length);
+    delete[] tmp;
+
+    return rc;
+}
+
 QString TopListWindow::percentString(int numerator, int denumerator)
 {
     float percent =
diff --git a/qtlist.h b/qtlist.h
index ed382b8..b845df1 100644
--- a/qtlist.h
+++ b/qtlist.h
@@ -95,7 +95,14 @@ protected:
 	/** Internal method to add a text string to the table. */
 	void SetItem(int, int, const QString &);
 
-    /** Create a percent string to display in a toplist. */
+    /**
+     * Convert a wide character string into a QString.
+     * @param inputstring String to copy.
+     * @return A QString representation of the string.
+     */
+    static QString charConvert(wstring &);
+
+	/** Create a percent string to display in a toplist. */
     QString percentString(int, int);
 
     /** List view used to display the actual toplist. */

-- 
Turquoise SuperStat - http://www.softwolves.pp.se/sw/software/turquoise



More information about the Turqstat-commits mailing list