From 8d4a4db027eb86b93e53ea57498ffc444826bd44 Mon Sep 17 00:00:00 2001 From: thunder2 Date: Sun, 17 Jul 2011 23:07:29 +0000 Subject: [PATCH] Changed the generation of the gpg key and location to utf8. The existing gpg keys and locations with umlauts are now shown wrong. The changes are not backward compatible. git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4460 b45a01b8-16f6-495d-af2f-9b41ad6348cc --- retroshare-gui/src/gui/ForumsDialog.cpp | 4 +- retroshare-gui/src/gui/FriendsDialog.cpp | 8 +-- retroshare-gui/src/gui/GenCertDialog.cpp | 13 +--- retroshare-gui/src/gui/GenCertDialog.h | 3 - retroshare-gui/src/gui/MessagesDialog.cpp | 4 +- retroshare-gui/src/gui/MessengerWindow.cpp | 12 ++-- retroshare-gui/src/gui/NetworkDialog.cpp | 6 +- retroshare-gui/src/gui/RemoteDirModel.cpp | 6 +- retroshare-gui/src/gui/RetroShareLink.cpp | 2 +- retroshare-gui/src/gui/StartDialog.cpp | 2 +- retroshare-gui/src/gui/TransfersDialog.cpp | 2 +- retroshare-gui/src/gui/TrustView.cpp | 6 +- retroshare-gui/src/gui/TurtleRouterDialog.cpp | 4 +- .../src/gui/TurtleRouterStatistics.cpp | 2 +- .../src/gui/chat/PopupChatDialog.cpp | 8 +-- .../src/gui/connect/ConfCertDialog.cpp | 4 +- .../src/gui/connect/ConnectFriendWizard.cpp | 16 ++--- .../src/gui/elastic/graphwidget.cpp | 2 +- retroshare-gui/src/gui/elastic/node.cpp | 4 +- retroshare-gui/src/gui/feeds/ChatMsgItem.cpp | 2 +- retroshare-gui/src/gui/feeds/MsgItem.cpp | 2 +- retroshare-gui/src/gui/feeds/PeerItem.cpp | 2 +- retroshare-gui/src/gui/feeds/SubDestItem.cpp | 2 +- retroshare-gui/src/gui/notifyqt.cpp | 12 ++-- .../src/gui/profile/ProfileView.cpp | 2 +- .../src/gui/settings/CryptoPage.cpp | 2 +- .../src/gui/toaster/MessageToaster.cpp | 2 +- .../src/gui/toaster/MessageToaster.ui | 21 +++---- .../src/gui/unfinished/GamesDialog.cpp | 6 +- .../src/gui/unfinished/PhotoDialog.cpp | 2 +- retroshare-gui/src/lang/retroshare_de.qm | Bin 327486 -> 327465 bytes retroshare-gui/src/lang/retroshare_de.ts | 58 ++++++++++-------- 32 files changed, 103 insertions(+), 118 deletions(-) diff --git a/retroshare-gui/src/gui/ForumsDialog.cpp b/retroshare-gui/src/gui/ForumsDialog.cpp index 0912ae407..c119bc7d3 100644 --- a/retroshare-gui/src/gui/ForumsDialog.cpp +++ b/retroshare-gui/src/gui/ForumsDialog.cpp @@ -1744,7 +1744,7 @@ void ForumsFillThread::run() item->setText(COLUMN_THREAD_TITLE, QString::fromStdWString(tit->title)); - text = QString::fromStdString(rsPeers->getPeerName(msginfo.srcId)); + text = QString::fromUtf8(rsPeers->getPeerName(msginfo.srcId).c_str()); if (text.isEmpty()) { item->setText(COLUMN_THREAD_AUTHOR, tr("Anonymous")); @@ -1858,7 +1858,7 @@ void ForumsFillThread::run() child->setText(COLUMN_THREAD_TITLE, QString::fromStdWString(mit->title)); - text = QString::fromStdString(rsPeers->getPeerName(msginfo.srcId)); + text = QString::fromUtf8(rsPeers->getPeerName(msginfo.srcId).c_str()); if (text.isEmpty()) { child->setText(COLUMN_THREAD_AUTHOR, tr("Anonymous")); diff --git a/retroshare-gui/src/gui/FriendsDialog.cpp b/retroshare-gui/src/gui/FriendsDialog.cpp index f274bfe2c..235c89f20 100644 --- a/retroshare-gui/src/gui/FriendsDialog.cpp +++ b/retroshare-gui/src/gui/FriendsDialog.cpp @@ -256,7 +256,7 @@ FriendsDialog::FriendsDialog(QWidget *parent) if (rsPeers->getPeerDetails(rsPeers->getOwnId(),pd)) { QString titleStr("%1"); - ui.nicklabel->setText(titleStr.arg(QString::fromStdString(pd.name) + " (" + tr("me") + ") " + QString::fromUtf8(pd.location.c_str()))); + ui.nicklabel->setText(titleStr.arg(QString::fromUtf8(pd.name.c_str()) + " (" + tr("me") + ") " + QString::fromUtf8(pd.location.c_str()))); } /* Hide platform specific features */ @@ -842,7 +842,7 @@ void FriendsDialog::insertPeers() availableCount++; - QString gpgItemText = QString::fromStdString(detail.name); + QString gpgItemText = QString::fromUtf8(detail.name.c_str()); // remove items that are not friends anymore int childCount = gpgItem->childCount(); @@ -1397,7 +1397,7 @@ void FriendsDialog::updateStatusString(const QString& peer_id, const QString& st std::cerr << "FriendsDialog: received group chat typing info. updating gui." << std::endl ; #endif - QString status = QString::fromStdString(rsPeers->getPeerName(peer_id.toStdString())) + " " + tr(status_string.toAscii()); + QString status = QString::fromUtf8(rsPeers->getPeerName(peer_id.toStdString()).c_str()) + " " + tr(status_string.toAscii()); ui.statusStringLabel->setText(status) ; // displays info for 5 secs. QTimer::singleShot(5000,this,SLOT(resetStatusBar())) ; @@ -1496,7 +1496,7 @@ void FriendsDialog::insertChat() QDateTime sendTime = QDateTime::fromTime_t(it->sendTime); QDateTime recvTime = QDateTime::fromTime_t(it->recvTime); - QString name = QString::fromStdString(rsPeers->getPeerName(it->rsid)); + QString name = QString::fromUtf8(rsPeers->getPeerName(it->rsid).c_str()); QString msg = QString::fromStdWString(it->msg); #ifdef FRIENDS_DEBUG diff --git a/retroshare-gui/src/gui/GenCertDialog.cpp b/retroshare-gui/src/gui/GenCertDialog.cpp index f1e31a767..17794c6ae 100644 --- a/retroshare-gui/src/gui/GenCertDialog.cpp +++ b/retroshare-gui/src/gui/GenCertDialog.cpp @@ -114,13 +114,6 @@ void GenCertDialog::show() } } -void GenCertDialog::closeEvent (QCloseEvent * event) -{ - - - QDialog::closeEvent(event); -} - void GenCertDialog::closeinfodlg() { close(); @@ -163,11 +156,11 @@ void GenCertDialog::genPerson() { /* Check the data from the GUI. */ - std::string genLoc = ui.location_input->text().toStdString(); + std::string genLoc = ui.location_input->text().toUtf8().constData(); std::string PGPId; if (!genNewGPGKey) { - if (ui.location_input->text().length() < 3) { + if (genLoc.length() < 3) { /* Message Dialog */ QMessageBox::warning ( NULL, tr("Generate GPG key Failure"), @@ -226,7 +219,7 @@ void GenCertDialog::genPerson() QCoreApplication::processEvents(); while(QAbstractEventDispatcher::instance()->processEvents(QEventLoop::AllEvents)) ; - RsInit::GeneratePGPCertificate(ui.name_input->text().toStdString(), ui.email_input->text().toStdString(), ui.password_input->text().toStdString(), PGPId, err_string); + RsInit::GeneratePGPCertificate(ui.name_input->text().toUtf8().constData(), ui.email_input->text().toUtf8().constData(), ui.password_input->text().toStdString(), PGPId, err_string); setCursor(Qt::ArrowCursor) ; } diff --git a/retroshare-gui/src/gui/GenCertDialog.h b/retroshare-gui/src/gui/GenCertDialog.h index a686d743c..2110c2442 100644 --- a/retroshare-gui/src/gui/GenCertDialog.h +++ b/retroshare-gui/src/gui/GenCertDialog.h @@ -44,9 +44,6 @@ public slots: /** Overloaded QWidget.show */ void show(); -protected: - void closeEvent (QCloseEvent * event); - private slots: void closeinfodlg(); diff --git a/retroshare-gui/src/gui/MessagesDialog.cpp b/retroshare-gui/src/gui/MessagesDialog.cpp index 49c7dac5b..456591476 100644 --- a/retroshare-gui/src/gui/MessagesDialog.cpp +++ b/retroshare-gui/src/gui/MessagesDialog.cpp @@ -1081,7 +1081,7 @@ void MessagesDialog::insertMessages() // From .... { if (msgbox == RS_MSG_INBOX || msgbox == RS_MSG_OUTBOX) { - text = QString::fromStdString(rsPeers->getPeerName(it->srcId)); + text = QString::fromUtf8(rsPeers->getPeerName(it->srcId).c_str()); } else { if (bGotInfo || rsMsgs->getMessage(it->msgId, msgInfo)) { bGotInfo = true; @@ -1099,7 +1099,7 @@ void MessagesDialog::insertMessages() if (peerName.empty()) { text += PeerDefs::rsid("", *pit); } else { - text += QString::fromStdString(peerName); + text += QString::fromUtf8(peerName.c_str()); } } } else { diff --git a/retroshare-gui/src/gui/MessengerWindow.cpp b/retroshare-gui/src/gui/MessengerWindow.cpp index 101b1399b..208201435 100644 --- a/retroshare-gui/src/gui/MessengerWindow.cpp +++ b/retroshare-gui/src/gui/MessengerWindow.cpp @@ -763,7 +763,7 @@ void MessengerWindow::insertPeers() gpgIcon = QIcon(StatusDefs::imageIM(bestRSState)); - gpg_item->setText(COLUMN_NAME, QString::fromStdString(detail.name)); + gpg_item->setText(COLUMN_NAME, QString::fromUtf8(detail.name.c_str())); gpg_item -> setToolTip(COLUMN_NAME, StatusDefs::tooltip(bestRSState)); std::map::iterator customStateString = sslCustomStateStrings.find(bestSslId); @@ -783,14 +783,14 @@ void MessengerWindow::insertPeers() if (stateString.isEmpty()) { /* show only the name */ - gpg_item->setText(COLUMN_NAME, QString::fromStdString(detail.name)); + gpg_item->setText(COLUMN_NAME, QString::fromUtf8(detail.name.c_str())); } else { /* show the name with location */ - gpg_item->setText(COLUMN_NAME, QString::fromStdString(detail.name) + "\n" + stateString); + gpg_item->setText(COLUMN_NAME, QString::fromUtf8(detail.name.c_str()) + "\n" + stateString); } } else { /* show the name with custom state string */ - gpg_item->setText(COLUMN_NAME, QString::fromStdString(detail.name) + "\n" + customStateString->second); + gpg_item->setText(COLUMN_NAME, QString::fromUtf8(detail.name.c_str()) + "\n" + customStateString->second); } gpg_item->setData(COLUMN_NAME, ROLE_SORT, BuildStateSortString(sortState, gpg_item->text(COLUMN_NAME), bestPeerState)); @@ -798,7 +798,7 @@ void MessengerWindow::insertPeers() #endif // MINIMAL_RSGUI } else if (gpg_online) { gpg_item->setHidden(hideOfflineFriends); - gpg_item->setText(COLUMN_NAME, QString::fromStdString(detail.name)); + gpg_item->setText(COLUMN_NAME, QString::fromUtf8(detail.name.c_str())); gpgIcon = QIcon(IMAGE_AVAIBLE); gpg_item->setData(COLUMN_NAME, ROLE_SORT, BuildStateSortString(sortState, gpg_item->text(COLUMN_NAME), PEER_STATE_AVAILABLE)); QFont font; @@ -809,7 +809,7 @@ void MessengerWindow::insertPeers() } } else { gpg_item->setHidden(hideOfflineFriends); - gpg_item->setText(COLUMN_NAME, QString::fromStdString(detail.name)); + gpg_item->setText(COLUMN_NAME, QString::fromUtf8(detail.name.c_str())); gpgIcon = QIcon(StatusDefs::imageIM(RS_STATUS_OFFLINE)); gpg_item->setData(COLUMN_NAME, ROLE_SORT, BuildStateSortString(sortState, gpg_item->text(COLUMN_NAME), PEER_STATE_OFFLINE)); diff --git a/retroshare-gui/src/gui/NetworkDialog.cpp b/retroshare-gui/src/gui/NetworkDialog.cpp index ce3664a35..51773f390 100644 --- a/retroshare-gui/src/gui/NetworkDialog.cpp +++ b/retroshare-gui/src/gui/NetworkDialog.cpp @@ -442,7 +442,7 @@ void NetworkDialog::insertConnect() item -> setSizeHint(0, QSize( 18,18 ) ); /* (1) Person */ - item -> setText(COLUMN_PEERNAME, QString::fromStdString(detail.name)); + item -> setText(COLUMN_PEERNAME, QString::fromUtf8(detail.name.c_str())); /* (4) key id */ item -> setText(COLUMN_PEERID, QString::fromStdString(detail.id)); @@ -505,7 +505,7 @@ void NetworkDialog::insertConnect() backgrndcolor=QColor("#B242B2"); //kind of purple item -> setIcon(0,(QIcon(IMAGE_DENIED))); for(int k=0;k<8;++k) - item -> setToolTip(k, QString::fromStdString(detail.name) + tr(" has authenticated you. \nRight-click and select 'make friend' to be able to connect.")); + item -> setToolTip(k, QString::fromUtf8(detail.name.c_str()) + tr(" has authenticated you. \nRight-click and select 'make friend' to be able to connect.")); } else { @@ -546,7 +546,7 @@ void NetworkDialog::insertConnect() } self_item -> setText(0, "0"); self_item->setIcon(0,(QIcon(IMAGE_AUTHED))); - self_item->setText(COLUMN_PEERNAME, QString::fromStdString(ownGPGDetails.name) + " (" + tr("yourself") + ")"); + self_item->setText(COLUMN_PEERNAME, QString::fromUtf8(ownGPGDetails.name.c_str()) + " (" + tr("yourself") + ")"); self_item->setText(2,"N/A"); self_item->setText(COLUMN_PEERID, QString::fromStdString(ownGPGDetails.id)); diff --git a/retroshare-gui/src/gui/RemoteDirModel.cpp b/retroshare-gui/src/gui/RemoteDirModel.cpp index 8807897dd..8dd2faa52 100644 --- a/retroshare-gui/src/gui/RemoteDirModel.cpp +++ b/retroshare-gui/src/gui/RemoteDirModel.cpp @@ -391,7 +391,7 @@ QString FlatStyle_RDM::computeDirectoryPath(const DirDetails& details) const do { #endif - dir = QString::fromStdString(det.name)+"/"+dir ; + dir = QString::fromUtf8(det.name.c_str())+"/"+dir ; #ifdef SHOW_TOTAL_PATH if(!requestDirDetails(det.parent,det,flags)) @@ -411,7 +411,7 @@ QVariant FlatStyle_RDM::displayRole(const DirDetails& details,int coln) const case 0: return QString::fromUtf8(details.name.c_str()); case 1: return misc::friendlyUnit(details.count); case 2: return misc::userFriendlyDuration(details.age); - case 3: return QString::fromStdString(rsPeers->getPeerName(details.id)); + case 3: return QString::fromUtf8(rsPeers->getPeerName(details.id).c_str()); case 4: return computeDirectoryPath(details); default: return QVariant() ; @@ -497,7 +497,7 @@ QVariant FlatStyle_RDM::sortRole(const QModelIndex& index,const DirDetails& deta case 0: return QString::fromUtf8(details.name.c_str()); case 1: return (qulonglong) details.count; case 2: return details.age; - case 3: return QString::fromStdString(rsPeers->getPeerName(details.id)); + case 3: return QString::fromUtf8(rsPeers->getPeerName(details.id).c_str()); case 4: return _ref_entries[index.row()].second ; } } diff --git a/retroshare-gui/src/gui/RetroShareLink.cpp b/retroshare-gui/src/gui/RetroShareLink.cpp index 82e1bd4cf..259ef9015 100644 --- a/retroshare-gui/src/gui/RetroShareLink.cpp +++ b/retroshare-gui/src/gui/RetroShareLink.cpp @@ -549,7 +549,7 @@ QString RetroShareLink::toString(bool encoded /*= true*/) const QString RetroShareLink::niceName() const { if (type() == TYPE_PERSON) { - return PeerDefs::rsid(name().toStdString(), hash().toStdString()); + return PeerDefs::rsid(name().toUtf8().constData(), hash().toStdString()); } return name(); diff --git a/retroshare-gui/src/gui/StartDialog.cpp b/retroshare-gui/src/gui/StartDialog.cpp index 8c53dd3de..bec23d1f4 100644 --- a/retroshare-gui/src/gui/StartDialog.cpp +++ b/retroshare-gui/src/gui/StartDialog.cpp @@ -76,7 +76,7 @@ StartDialog::StartDialog(QWidget *parent, Qt::WFlags flags) const QVariant & userData = QVariant(QString::fromStdString(*it)); std::string gpgid, name, email, location; RsInit::getAccountDetails(*it, gpgid, name, email, location); - QString accountName = QString::fromStdString(name + " (") + QString::fromStdString(gpgid).right(8) + ") - " + QString::fromStdString(location); + QString accountName = QString::fromUtf8(name.c_str()) + " (" + QString::fromStdString(gpgid).right(8) + ") - " + QString::fromUtf8(location.c_str()); ui.loadName->addItem(accountName, userData); if (preferedId == *it) diff --git a/retroshare-gui/src/gui/TransfersDialog.cpp b/retroshare-gui/src/gui/TransfersDialog.cpp index 6b8563fb3..0eb1adc3a 100644 --- a/retroshare-gui/src/gui/TransfersDialog.cpp +++ b/retroshare-gui/src/gui/TransfersDialog.cpp @@ -1047,7 +1047,7 @@ void TransfersDialog::insertTransfers() QString TransfersDialog::getPeerName(const std::string& id) const { - QString res = QString::fromStdString(rsPeers->getPeerName(id)) ; + QString res = QString::fromUtf8(rsPeers->getPeerName(id).c_str()) ; // This is because turtle tunnels have no name (I didn't want to bother with // connect mgr). In such a case their id can suitably hold for a name. diff --git a/retroshare-gui/src/gui/TrustView.cpp b/retroshare-gui/src/gui/TrustView.cpp index c64c0cfd7..be53a5b65 100644 --- a/retroshare-gui/src/gui/TrustView.cpp +++ b/retroshare-gui/src/gui/TrustView.cpp @@ -116,10 +116,10 @@ int TrustView::getRowColId(const string& peerid) peeridToRow[peerid] = i ; - std::string name = rsPeers->getPeerName(peerid) ; + QString name = QString::fromUtf8(rsPeers->getPeerName(peerid).c_str()) ; - trustTableTW->setHorizontalHeaderItem(i,new QTableWidgetItem(QString(name.c_str()))) ; - trustTableTW->setVerticalHeaderItem(i,new QTableWidgetItem(QString(name.c_str()))) ; + trustTableTW->setHorizontalHeaderItem(i,new QTableWidgetItem(name)) ; + trustTableTW->setVerticalHeaderItem(i,new QTableWidgetItem(name)) ; trustTableTW->setColumnWidth(i,_base_cell_width) ; trustTableTW->setRowHeight(i,_base_cell_height) ; diff --git a/retroshare-gui/src/gui/TurtleRouterDialog.cpp b/retroshare-gui/src/gui/TurtleRouterDialog.cpp index d7b03556e..3e176bfe0 100644 --- a/retroshare-gui/src/gui/TurtleRouterDialog.cpp +++ b/retroshare-gui/src/gui/TurtleRouterDialog.cpp @@ -100,7 +100,7 @@ QString TurtleRouterDialog::getPeerName(const std::string& peer_id) if(!rsPeers->getPeerDetails(peer_id,detail)) return "unknown peer"; - return (names[peer_id] = QString::fromStdString(detail.name)) ; + return (names[peer_id] = QString::fromUtf8(detail.name.c_str())) ; } } @@ -136,7 +136,7 @@ void TurtleRouterDialog::updateTunnelRequests( const std::vectortext(0).left(14) == QString("Unknown hashes")) unknown_hash_found = true ; - QString str = QString::fromStdString( "Tunnel id: " + tunnels_info[i][0] + "\t [" + tunnels_info[i][2] + "] --> [" + tunnels_info[i][1] + "]\t\t last transfer: " + tunnels_info[i][4] + "\t Speed: " + tunnels_info[i][5] ) ; + QString str = "Tunnel id: " + QString::fromUtf8(tunnels_info[i][0].c_str()) + "\t [" + QString::fromUtf8(tunnels_info[i][2].c_str()) + "] --> [" + QString::fromUtf8(tunnels_info[i][1].c_str()) + "]\t\t last transfer: " + QString::fromStdString(tunnels_info[i][4]) + "\t Speed: " + QString::fromStdString(tunnels_info[i][5]) ; stl.clear() ; stl.push_back(str) ; diff --git a/retroshare-gui/src/gui/TurtleRouterStatistics.cpp b/retroshare-gui/src/gui/TurtleRouterStatistics.cpp index 6472a9fb1..5c05923ef 100644 --- a/retroshare-gui/src/gui/TurtleRouterStatistics.cpp +++ b/retroshare-gui/src/gui/TurtleRouterStatistics.cpp @@ -256,7 +256,7 @@ QString TurtleRouterStatistics::getPeerName(const std::string& peer_id) if(!rsPeers->getPeerDetails(peer_id,detail)) return "unknown peer"; - return (names[peer_id] = QString::fromStdString(detail.name)) ; + return (names[peer_id] = QString::fromUtf8(detail.name.c_str())) ; } } diff --git a/retroshare-gui/src/gui/chat/PopupChatDialog.cpp b/retroshare-gui/src/gui/chat/PopupChatDialog.cpp index 57dccf91e..562a611b7 100644 --- a/retroshare-gui/src/gui/chat/PopupChatDialog.cpp +++ b/retroshare-gui/src/gui/chat/PopupChatDialog.cpp @@ -473,7 +473,7 @@ void PopupChatDialog::updateStatusTyping() // void PopupChatDialog::updateStatusString(const QString& peer_id, const QString& status_string) { - QString status = QString::fromStdString(rsPeers->getPeerName(peer_id.toStdString())) + " " + tr(status_string.toAscii()); + QString status = QString::fromUtf8(rsPeers->getPeerName(peer_id.toStdString()).c_str()) + " " + tr(status_string.toAscii()); ui.statusLabel->setText(status); // displays info for 5 secs. ui.typingpixmapLabel->setPixmap(QPixmap(":images/typing.png") ); @@ -601,7 +601,7 @@ void PopupChatDialog::insertChatMsgs() continue; } - addChatMsg(true, it->rsid, QString::fromStdString(rsPeers->getPeerName(it->rsid)), QDateTime::fromTime_t(it->sendTime), QDateTime::fromTime_t(it->recvTime), QString::fromStdWString(it->msg), TYPE_NORMAL, true); + addChatMsg(true, it->rsid, QString::fromUtf8(rsPeers->getPeerName(it->rsid).c_str()), QDateTime::fromTime_t(it->sendTime), QDateTime::fromTime_t(it->recvTime), QString::fromStdWString(it->msg), TYPE_NORMAL, true); } rsMsgs->clearPrivateChatQueue(true, dialogId); @@ -726,7 +726,7 @@ void PopupChatDialog::sendChat() if (rsMsgs->sendPrivateChat(dialogId, msg)) { QDateTime currentTime = QDateTime::currentDateTime(); - addChatMsg(false, ownId, QString::fromStdString(rsPeers->getPeerName(ownId)), currentTime, currentTime, QString::fromStdWString(msg), TYPE_NORMAL, true); + addChatMsg(false, ownId, QString::fromUtf8(rsPeers->getPeerName(ownId).c_str()), currentTime, currentTime, QString::fromStdWString(msg), TYPE_NORMAL, true); } chatWidget->clear(); @@ -1018,7 +1018,7 @@ void PopupChatDialog::fileHashingFinished(AttachFileItem* file) if (rsMsgs->sendPrivateChat(dialogId, msg)) { QDateTime currentTime = QDateTime::currentDateTime(); - addChatMsg(false, ownId, QString::fromStdString(rsPeers->getPeerName(ownId)), currentTime, currentTime, QString::fromStdWString(msg), TYPE_NORMAL, true); + addChatMsg(false, ownId, QString::fromUtf8(rsPeers->getPeerName(ownId).c_str()), currentTime, currentTime, QString::fromStdWString(msg), TYPE_NORMAL, true); } } diff --git a/retroshare-gui/src/gui/connect/ConfCertDialog.cpp b/retroshare-gui/src/gui/connect/ConfCertDialog.cpp index c458a7dff..e7a8b44cc 100644 --- a/retroshare-gui/src/gui/connect/ConfCertDialog.cpp +++ b/retroshare-gui/src/gui/connect/ConfCertDialog.cpp @@ -136,7 +136,7 @@ void ConfCertDialog::load() return; } - ui.name->setText(QString::fromStdString(detail.name)); + ui.name->setText(QString::fromUtf8(detail.name.c_str())); ui.peerid->setText(QString::fromStdString(detail.id)); RetroShareLink link; @@ -325,7 +325,7 @@ void ConfCertDialog::load() font.setStyleHint(QFont::TypeWriter,QFont::PreferMatch); font.setStyle(QFont::StyleNormal); ui.userCertificateText->setFont(font); - ui.userCertificateText->setText(QString::fromStdString(invite)); + ui.userCertificateText->setText(QString::fromUtf8(invite.c_str())); } diff --git a/retroshare-gui/src/gui/connect/ConnectFriendWizard.cpp b/retroshare-gui/src/gui/connect/ConnectFriendWizard.cpp index b3e3dddc2..bac876dc4 100755 --- a/retroshare-gui/src/gui/connect/ConnectFriendWizard.cpp +++ b/retroshare-gui/src/gui/connect/ConnectFriendWizard.cpp @@ -347,7 +347,7 @@ void TextPage::updateOwnCert() font.setStyleHint(QFont::TypeWriter,QFont::PreferMatch); font.setStyle(QFont::StyleNormal); userCertEdit->setFont(font); - userCertEdit->setText(QString::fromStdString(invite)); + userCertEdit->setText(QString::fromUtf8(invite.c_str())); } // @@ -369,7 +369,7 @@ static void sendMail (std::string sAddress, std::string sSubject, std::string sB std::cerr << "MAIL STRING:" << mailstr.c_str() << std::endl; /* pass the url directly to QDesktopServices::openUrl */ - QDesktopServices::openUrl (QUrl (QString::fromStdString(mailstr))); + QDesktopServices::openUrl (QUrl (QString::fromUtf8(mailstr.c_str()))); } void @@ -380,7 +380,7 @@ TextPage::runEmailClient() void TextPage::cleanFriendCert() { - std::string cert = friendCertEdit->toPlainText().toStdString(); + std::string cert = friendCertEdit->toPlainText().toUtf8().constData(); std::string cleanCert; if (rsPeers->cleanCertificate(cert, cleanCert)) { @@ -462,7 +462,7 @@ void TextPage::setCurrentFileName(const QString &fileName) int TextPage::nextId() const { std::string certstr; - certstr = friendCertEdit->toPlainText().toStdString(); + certstr = friendCertEdit->toPlainText().toUtf8().constData(); std::string error_string ; RsPeerDetails pd; if ( rsPeers->loadDetailsFromStringCert(certstr, pd,error_string) ) { @@ -611,7 +611,7 @@ void FofPage::updatePeersList(int e) { _gpg_id_boxes[cb] = details.gpg_id ; selectedPeersTW->setCellWidget(row,0,cb) ; - selectedPeersTW->setItem(row,1,new QTableWidgetItem(QString::fromStdString(details.name))) ; + selectedPeersTW->setItem(row,1,new QTableWidgetItem(QString::fromUtf8(details.name.c_str()))) ; QComboBox *qcb = new QComboBox ; @@ -1098,16 +1098,16 @@ void ConclusionPage::initializePage() { QString ts; std::list::iterator it; for(it = detail.gpgSigners.begin(); it != detail.gpgSigners.end(); it++) { - ts.append(QString::fromStdString( rsPeers->getPeerName(*it) )); + ts.append(QString::fromUtf8( rsPeers->getPeerName(*it).c_str() )); ts.append( "<" ) ; ts.append( QString::fromStdString(*it) ); ts.append( ">" ); ts.append( "\n" ); } - nameEdit->setText( QString::fromStdString( detail.name ) ) ; + nameEdit->setText( QString::fromUtf8( detail.name.c_str() ) ) ; trustEdit->setText(QString::fromStdString( trustString ) ) ; - emailEdit->setText(QString::fromStdString( detail.email ) ); + emailEdit->setText(QString::fromUtf8( detail.email.c_str() ) ); locEdit->setText( QString::fromUtf8( detail.location.c_str() ) ); signersEdit->setPlainText( ts ); diff --git a/retroshare-gui/src/gui/elastic/graphwidget.cpp b/retroshare-gui/src/gui/elastic/graphwidget.cpp index 96634d3ad..7cc15642d 100644 --- a/retroshare-gui/src/gui/elastic/graphwidget.cpp +++ b/retroshare-gui/src/gui/elastic/graphwidget.cpp @@ -163,7 +163,7 @@ void GraphWidget::clearGraph() GraphWidget::NodeId GraphWidget::addNode(const std::string& node_short_string,const std::string& node_complete_string,NodeType type,AuthType auth,const std::string& ssl_id,const std::string& gpg_id) { Node *node = new Node(node_short_string,type,auth,this,ssl_id,gpg_id); - node->setToolTip(QString::fromStdString(node_complete_string)) ; + node->setToolTip(QString::fromUtf8(node_complete_string.c_str())) ; _nodes.push_back(node) ; scene()->addItem(node); diff --git a/retroshare-gui/src/gui/elastic/node.cpp b/retroshare-gui/src/gui/elastic/node.cpp index d32a1019e..c2af7019c 100644 --- a/retroshare-gui/src/gui/elastic/node.cpp +++ b/retroshare-gui/src/gui/elastic/node.cpp @@ -265,11 +265,11 @@ void Node::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWid painter->setBrush(gradient); painter->setPen(QPen(Qt::black, 0)); painter->drawEllipse(-10, -10, 20, 20); - painter->drawText(-10, 0, QString::fromStdString(_desc_string)); + painter->drawText(-10, 0, QString::fromUtf8(_desc_string.c_str())); if (!mDeterminedBB) { - QRect textBox = painter->boundingRect(-10, 0, 400, 20, 0, QString::fromStdString(_desc_string)); + QRect textBox = painter->boundingRect(-10, 0, 400, 20, 0, QString::fromUtf8(_desc_string.c_str())); mBBWidth = textBox.width(); mDeterminedBB = true; } diff --git a/retroshare-gui/src/gui/feeds/ChatMsgItem.cpp b/retroshare-gui/src/gui/feeds/ChatMsgItem.cpp index c5f428f77..dcfa91e10 100644 --- a/retroshare-gui/src/gui/feeds/ChatMsgItem.cpp +++ b/retroshare-gui/src/gui/feeds/ChatMsgItem.cpp @@ -85,7 +85,7 @@ void ChatMsgItem::updateItemStatic() "color:#990033;\">%1"); /* set Peer name */ - QString peername = QString::fromStdString(details.name); + QString peername = QString::fromUtf8(details.name.c_str()); peernameLabel->setText(nameStr.arg(peername)); } else diff --git a/retroshare-gui/src/gui/feeds/MsgItem.cpp b/retroshare-gui/src/gui/feeds/MsgItem.cpp index 2796c3e86..221e223c7 100644 --- a/retroshare-gui/src/gui/feeds/MsgItem.cpp +++ b/retroshare-gui/src/gui/feeds/MsgItem.cpp @@ -85,7 +85,7 @@ void MsgItem::updateItemStatic() QString title; QString timestamp; - QString srcName = QString::fromStdString(rsPeers->getPeerName(mi.srcId)); + QString srcName = QString::fromUtf8(rsPeers->getPeerName(mi.srcId).c_str()); { QDateTime qtime; diff --git a/retroshare-gui/src/gui/feeds/PeerItem.cpp b/retroshare-gui/src/gui/feeds/PeerItem.cpp index eef83010c..1834839e0 100644 --- a/retroshare-gui/src/gui/feeds/PeerItem.cpp +++ b/retroshare-gui/src/gui/feeds/PeerItem.cpp @@ -120,7 +120,7 @@ void PeerItem::updateItemStatic() "color:#990033;\">%1"); /* set Blog name */ - QString peername = QString::fromStdString(details.name); + QString peername = QString::fromUtf8(details.name.c_str()); peernameLabel->setText(nameStr.arg(peername)); QDateTime date = QDateTime::fromTime_t(details.lastConnect); diff --git a/retroshare-gui/src/gui/feeds/SubDestItem.cpp b/retroshare-gui/src/gui/feeds/SubDestItem.cpp index dec9c23eb..dd5bb5583 100644 --- a/retroshare-gui/src/gui/feeds/SubDestItem.cpp +++ b/retroshare-gui/src/gui/feeds/SubDestItem.cpp @@ -60,7 +60,7 @@ void SubDestItem::updateItemStatic() typeLabel->setText("Message To: "); if (rsPeers) { - name = QString::fromStdString(rsPeers->getPeerName(mGroupId)); + name = QString::fromUtf8(rsPeers->getPeerName(mGroupId).c_str()); } } break; diff --git a/retroshare-gui/src/gui/notifyqt.cpp b/retroshare-gui/src/gui/notifyqt.cpp index 2e91e8b58..69f91f567 100644 --- a/retroshare-gui/src/gui/notifyqt.cpp +++ b/retroshare-gui/src/gui/notifyqt.cpp @@ -131,7 +131,7 @@ std::string NotifyQt::askForPassword(const std::string& key_details,bool prev_is QInputDialog dialog; dialog.setWindowTitle(tr("GPG key passphrase")); dialog.setLabelText((prev_is_bad?tr("Wrong password !") + "\n\n" : QString()) + - tr("Please enter the password to unlock the following GPG key:") + "\n" + QString::fromStdString(key_details)); + tr("Please enter the password to unlock the following GPG key:") + "\n" + QString::fromUtf8(key_details.c_str())); dialog.setTextEchoMode(QLineEdit::Password); dialog.setWindowIcon(QIcon(":/images/rstray3.png")); @@ -454,16 +454,14 @@ void NotifyQt::UpdateGUI() Toaster *toaster = NULL; /* id the name */ - std::string name; - std::string realmsg; + QString name; unsigned char *data = NULL; int size = 0 ; if (type == RS_POPUP_DOWNLOAD) { /* id = file hash */ } else { - name = rsPeers->getPeerName(id); - realmsg = "" + name + ""; + name = QString::fromUtf8(rsPeers->getPeerName(id).c_str()); rsMsgs->getAvatarData(id,data,size); } @@ -473,7 +471,7 @@ void NotifyQt::UpdateGUI() case RS_POPUP_MSG: if (popupflags & RS_POPUP_MSG) { - toaster = new Toaster(new MessageToaster(QString::fromStdString(realmsg), QString::fromStdString(title), QString::fromStdString(msg))); + toaster = new Toaster(new MessageToaster(name, QString::fromUtf8(title.c_str()), QString::fromStdString(msg))); } break; case RS_POPUP_CONNECT: @@ -490,7 +488,7 @@ void NotifyQt::UpdateGUI() avatar = QPixmap(":/images/user/personal64.png"); } - toaster = new Toaster(new OnlineToaster(id, QString::fromStdString(realmsg), avatar)); + toaster = new Toaster(new OnlineToaster(id, name, avatar)); } break; case RS_POPUP_DOWNLOAD: diff --git a/retroshare-gui/src/gui/profile/ProfileView.cpp b/retroshare-gui/src/gui/profile/ProfileView.cpp index 7d9c0df6a..76f0eaeba 100644 --- a/retroshare-gui/src/gui/profile/ProfileView.cpp +++ b/retroshare-gui/src/gui/profile/ProfileView.cpp @@ -187,7 +187,7 @@ void ProfileView::update() ui.idLineEdit->setText(QString::fromStdString(pId)); - ui.nameLineEdit->setText(QString::fromStdString(detail.name)); + ui.nameLineEdit->setText(QString::fromUtf8(detail.name.c_str())); { std::ostringstream out; out << PostTs; diff --git a/retroshare-gui/src/gui/settings/CryptoPage.cpp b/retroshare-gui/src/gui/settings/CryptoPage.cpp index 7ea7adf2c..6a36e6b98 100755 --- a/retroshare-gui/src/gui/settings/CryptoPage.cpp +++ b/retroshare-gui/src/gui/settings/CryptoPage.cpp @@ -65,7 +65,7 @@ CryptoPage::load() QFont font("Courier New",9,50,false) ; ui.certtextEdit->setFont(font) ; - ui.certtextEdit->setPlainText(QString::fromStdString(rsPeers->GetRetroshareInvite(true))); + ui.certtextEdit->setPlainText(QString::fromUtf8(rsPeers->GetRetroshareInvite(true).c_str())); ui.certtextEdit->setReadOnly(true); ui.certtextEdit->setMinimumHeight(200); } diff --git a/retroshare-gui/src/gui/toaster/MessageToaster.cpp b/retroshare-gui/src/gui/toaster/MessageToaster.cpp index 6d272fca4..54115d235 100644 --- a/retroshare-gui/src/gui/toaster/MessageToaster.cpp +++ b/retroshare-gui/src/gui/toaster/MessageToaster.cpp @@ -35,7 +35,7 @@ MessageToaster::MessageToaster(const QString &name, const QString &title, const ui.subjectline->setToolTip(title); ui.contentBrowser->setText(message); ui.contentBrowser->setToolTip(message); - ui.namelabel->setText(name); + ui.lblTitle->setText(ui.lblTitle->text() + " " + name); } void MessageToaster::openmessageClicked() diff --git a/retroshare-gui/src/gui/toaster/MessageToaster.ui b/retroshare-gui/src/gui/toaster/MessageToaster.ui index df5d38f50..2101a3a01 100644 --- a/retroshare-gui/src/gui/toaster/MessageToaster.ui +++ b/retroshare-gui/src/gui/toaster/MessageToaster.ui @@ -10,19 +10,6 @@ 100 - - - - 150 - 0 - 16 - 16 - - - - - - @@ -77,8 +64,14 @@ 16 + + + 75 + true + + - <b>1 new Message from</b> + 1 new Message from diff --git a/retroshare-gui/src/gui/unfinished/GamesDialog.cpp b/retroshare-gui/src/gui/unfinished/GamesDialog.cpp index 014784777..ae9ed3147 100644 --- a/retroshare-gui/src/gui/unfinished/GamesDialog.cpp +++ b/retroshare-gui/src/gui/unfinished/GamesDialog.cpp @@ -141,7 +141,7 @@ void GamesDialog::updateGameList() QTreeWidgetItem *item = new QTreeWidgetItem((QTreeWidget*)0); std::string serverName = rsPeers->getPeerName(it->serverId); item -> setText(GAME_LIST_TYPE, QString::fromStdString(it->gameType)); - item -> setText(GAME_LIST_SERVER, QString::fromStdString(serverName)); + item -> setText(GAME_LIST_SERVER, QString::fromUtf8(serverName.c_str())); item -> setText(GAME_LIST_NAME, QString::fromStdWString(it->gameName)); item -> setText(GAME_LIST_STATUS, QString::fromStdString(it->status)); item -> setText(GAME_LIST_ID, QString::fromStdString(it->gameId)); @@ -245,7 +245,7 @@ void GamesDialog::updateGameDetails() name = "Yourself"; } - item -> setText(GAME_PEER_PLAYER, QString::fromStdString(name)); + item -> setText(GAME_PEER_PLAYER, QString::fromUtf8(name.c_str())); if (it->second.invite) item -> setText(GAME_PEER_INVITE, "Yes"); @@ -294,7 +294,7 @@ void GamesDialog::updateGameDetails() /* make a widget per friend */ QTreeWidgetItem *item = new QTreeWidgetItem((QTreeWidget*)0); - item -> setText(GAME_PEER_PLAYER, QString::fromStdString(name)); + item -> setText(GAME_PEER_PLAYER, QString::fromUtf8(name.c_str())); item -> setText(GAME_PEER_INVITE, "No"); item -> setText(GAME_PEER_INTEREST, "?"); item -> setText(GAME_PEER_PLAY, "?"); diff --git a/retroshare-gui/src/gui/unfinished/PhotoDialog.cpp b/retroshare-gui/src/gui/unfinished/PhotoDialog.cpp index 0b7b7d985..1439c56da 100644 --- a/retroshare-gui/src/gui/unfinished/PhotoDialog.cpp +++ b/retroshare-gui/src/gui/unfinished/PhotoDialog.cpp @@ -286,7 +286,7 @@ void PhotoDialog::addShows(std::string id) std::list::iterator it; QTreeWidgetItem *peerItem = new QTreeWidgetItem((QTreeWidget*)0); - peerItem->setText(PHOTO_PEER_COL_NAME, QString::fromStdString(rsPeers->getPeerName(id))); + peerItem->setText(PHOTO_PEER_COL_NAME, QString::fromUtf8(rsPeers->getPeerName(id).c_str())); peerItem->setText(PHOTO_PEER_COL_PID, QString::fromStdString(id)); peerItem->setText(PHOTO_PEER_COL_SID, ""); peerItem->setText(PHOTO_PEER_COL_PHOTOID, ""); diff --git a/retroshare-gui/src/lang/retroshare_de.qm b/retroshare-gui/src/lang/retroshare_de.qm index 8788de44da3e1582aedd5dba23187fd73aa9094f..dcfa6fde8907bf91b6b93de4fba01a3a568e0840 100644 GIT binary patch delta 10280 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 delta 10452 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 E2W~slTL1t6 diff --git a/retroshare-gui/src/lang/retroshare_de.ts b/retroshare-gui/src/lang/retroshare_de.ts index d2ea995fd..20d2673c0 100644 --- a/retroshare-gui/src/lang/retroshare_de.ts +++ b/retroshare-gui/src/lang/retroshare_de.ts @@ -4759,7 +4759,7 @@ p, li { white-space: pre-wrap; } GenCertDialog - + Generate GPG key Failure Fehler beim Generieren des GPG Schlüssels @@ -4817,8 +4817,8 @@ p, li { white-space: pre-wrap; } - - + + Create new Profile Erstelle neues Profil @@ -4903,32 +4903,32 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Arial'; font-size:8pt; font-weight:600;">Du kannst RetroShare an mehreren Standorten installieren und das selbe Profil (GPG Schlüssel) verwenden.</span></p></body></html> - - + + Create new Location Erstelle neuen Ort - - + + Generate new Location Erstelle neues Ort - - + + Create a new Location Erstelle einen neuen Ort - - + + Generate new Profile Generiere neues Profil - - + + Create a new Profile Erstelle neues Profil @@ -5927,7 +5927,7 @@ p, li { white-space: pre-wrap; } Chat - + @@ -6001,12 +6001,12 @@ p, li { white-space: pre-wrap; } - + Options Optionen - + Hide Verbergen @@ -6016,7 +6016,7 @@ p, li { white-space: pre-wrap; } Zeigen - + RetroShare @@ -6072,7 +6072,7 @@ p, li { white-space: pre-wrap; } &Schliessen - + @@ -6088,7 +6088,7 @@ p, li { white-space: pre-wrap; } Du hast %1 neue Nachricht - + Bandwidth Graph Bandbreiten-Graph @@ -6162,7 +6162,7 @@ p, li { white-space: pre-wrap; } - + Do you really want to exit RetroShare ? Willst Du RetroShare wirklich beenden? @@ -6172,7 +6172,7 @@ p, li { white-space: pre-wrap; } Wirklich beenden? - + Low disk space warning Wenig Festplatenspeicher @@ -6796,9 +6796,13 @@ Willst Du die Nachricht speichern ? MessageToaster - <b>1 new Message from</b> - <b>1 neue Nachricht von</b> + <b>1 neue Nachricht von</b> + + + + 1 new Message from + 1 neue Nachricht von @@ -8167,7 +8171,7 @@ p, li { white-space: pre-wrap; } - + Download completed Download fertig @@ -8176,7 +8180,7 @@ p, li { white-space: pre-wrap; } Kombiniertes Icon - + @@ -8185,7 +8189,7 @@ p, li { white-space: pre-wrap; } Kombiniert - + Toasters @@ -8245,7 +8249,7 @@ p, li { white-space: pre-wrap; } Zeige Systemabschnitts-Nachricht an - + Add feeds at end Feeds am Ende anfügen