diff --git a/retroshare-gui/src/gui/MessagesDialog.cpp b/retroshare-gui/src/gui/MessagesDialog.cpp index 30f41e9b0..c2842beda 100644 --- a/retroshare-gui/src/gui/MessagesDialog.cpp +++ b/retroshare-gui/src/gui/MessagesDialog.cpp @@ -1110,6 +1110,15 @@ void MessagesDialog::insertMessages() text = "RetroShare"; } else { text = QString::fromUtf8(rsPeers->getPeerName(it->srcId).c_str()); + std::cerr << "(messages) getting name for id " << it->srcId << " => \"" << text.toStdString() << "\"" << std::endl; + if(text == "") + { + RsIdentityDetails details; + if (rsIdentity->getIdDetails(RsGxsId(it->srcId), details) && !details.mNickname.empty()) + text = QString::fromUtf8(details.mNickname.c_str()) ; + else + text = "GXS_id(" + QString::fromStdString(it->srcId.toStdString())+")" ; + } } } else { if (gotInfo || rsMsgs->getMessage(it->msgId, msgInfo)) { diff --git a/retroshare-gui/src/gui/gxs/GxsCommentTreeWidget.cpp b/retroshare-gui/src/gui/gxs/GxsCommentTreeWidget.cpp index b4577363f..3e7c704de 100644 --- a/retroshare-gui/src/gui/gxs/GxsCommentTreeWidget.cpp +++ b/retroshare-gui/src/gui/gxs/GxsCommentTreeWidget.cpp @@ -408,7 +408,7 @@ void GxsCommentTreeWidget::service_loadThread(const uint32_t &token) std::cerr << "GxsCommentTreeWidget::service_loadThread() Got Comment: " << comment.mMeta.mMsgId; std::cerr << std::endl; - GxsIdTreeWidgetItem *item = new GxsIdTreeWidgetItem(); + GxsIdRSTreeWidgetItem *item = new GxsIdRSTreeWidgetItem(NULL); QString text; { diff --git a/retroshare-gui/src/gui/gxs/GxsIdDetails.cpp b/retroshare-gui/src/gui/gxs/GxsIdDetails.cpp index 0673779c9..02374110d 100644 --- a/retroshare-gui/src/gui/gxs/GxsIdDetails.cpp +++ b/retroshare-gui/src/gui/gxs/GxsIdDetails.cpp @@ -169,7 +169,7 @@ bool GxsIdDetails::MakeIdDesc(const RsGxsId &id, bool doIcons, QString &str, std if (!rsIdentity->getIdDetails(id, details)) { - std::cerr << "GxsIdTreeWidget::MakeIdDesc() FAILED TO GET ID"; + std::cerr << "GxsIdTreeWidget::MakeIdDesc() FAILED TO GET ID " << id; std::cerr << std::endl; str = QObject::tr("Loading... ") + QString::fromStdString(id.toStdString().substr(0,5)); diff --git a/retroshare-gui/src/gui/gxs/GxsIdTreeWidget.cpp b/retroshare-gui/src/gui/gxs/GxsIdTreeWidget.cpp index df2c35e34..1e6b830aa 100644 --- a/retroshare-gui/src/gui/gxs/GxsIdTreeWidget.cpp +++ b/retroshare-gui/src/gui/gxs/GxsIdTreeWidget.cpp @@ -102,7 +102,7 @@ void GxsIdRSItemDelegate::paint( QPainter * painter, std::cerr << "GxsIdRSItemDelegate::paint()"; std::cerr << std::endl; - RsGxsId id ( mTree->ItemTextFromIndex(index, mGxsIdColumn).toStdString()); + RsGxsId id ( mTree->ItemIdFromIndex(index, mGxsIdColumn)); paintGxsId(painter, option, id); } @@ -157,7 +157,18 @@ void GxsIdRSTreeWidget::setGxsIdColumn(int col) setItemDelegateForColumn(col, mIdDelegate); } - +RsGxsId GxsIdRSTreeWidget::ItemIdFromIndex(const QModelIndex & index, int column ) const +{ + // get real item. + QTreeWidgetItem *item = itemFromIndex(index); + if (!item) + { + std::cerr << "GxsIdTreeWidget::ItemTextFromIndex() Invalid Item"; + std::cerr << std::endl; + return RsGxsId(); + } + return RsGxsId(item->data(column,Qt::UserRole).toString().toStdString()); +} QString GxsIdRSTreeWidget::ItemTextFromIndex(const QModelIndex & index, int column ) const { // get real item. diff --git a/retroshare-gui/src/gui/gxs/GxsIdTreeWidget.h b/retroshare-gui/src/gui/gxs/GxsIdTreeWidget.h index 423f82664..e8e9510bb 100644 --- a/retroshare-gui/src/gui/gxs/GxsIdTreeWidget.h +++ b/retroshare-gui/src/gui/gxs/GxsIdTreeWidget.h @@ -27,6 +27,7 @@ #include #include +#include "retroshare/rsgxsifacetypes.h" #include "gui/common/RSTreeWidget.h" /***** @@ -88,6 +89,7 @@ public: void setGxsIdColumn(int col); QString ItemTextFromIndex(const QModelIndex & index, int column ) const; +RsGxsId ItemIdFromIndex(const QModelIndex & index, int column ) const; private: GxsIdRSItemDelegate *mIdDelegate; diff --git a/retroshare-gui/src/gui/gxs/GxsIdTreeWidgetItem.cpp b/retroshare-gui/src/gui/gxs/GxsIdTreeWidgetItem.cpp index 24b624d44..9c45b2320 100644 --- a/retroshare-gui/src/gui/gxs/GxsIdTreeWidgetItem.cpp +++ b/retroshare-gui/src/gui/gxs/GxsIdTreeWidgetItem.cpp @@ -93,12 +93,12 @@ void GxsIdRSTreeWidgetItem::loadId() setIcon(mColumn, combinedIcon); } setToolTip(mColumn,comment) ; + setText(mColumn, desc); + setData(mColumn,Qt::UserRole, QString::fromStdString(mId.toStdString())); - setText(mColumn, desc); - - if (loaded) + if (loaded) { - std::cerr << " GxsIdRSTreeWidgetItem::loadId() Loaded Okay"; + std::cerr << " GxsIdRSTreeWidgetItem::loadId() Loaded Okay"; std::cerr << std::endl; return; } @@ -113,6 +113,7 @@ void GxsIdRSTreeWidgetItem::loadId() } } +#if 0 /** Constructor */ GxsIdTreeWidgetItem::GxsIdTreeWidgetItem(QTreeWidget *parent) : QObject(NULL), QTreeWidgetItem(parent), mCount(0), mColumn(0) @@ -193,3 +194,4 @@ void GxsIdTreeWidgetItem::loadId() connect(rApp, SIGNAL(secondTick()), this, SLOT(loadId())); } } +#endif diff --git a/retroshare-gui/src/gui/gxs/GxsIdTreeWidgetItem.h b/retroshare-gui/src/gui/gxs/GxsIdTreeWidgetItem.h index d2f8393af..652b2a852 100644 --- a/retroshare-gui/src/gui/gxs/GxsIdTreeWidgetItem.h +++ b/retroshare-gui/src/gui/gxs/GxsIdTreeWidgetItem.h @@ -57,6 +57,7 @@ private: int mColumn; }; +#if 0 class GxsIdTreeWidgetItem : public QObject, public QTreeWidgetItem { Q_OBJECT @@ -78,5 +79,6 @@ private: int mCount; int mColumn; }; +#endif #endif diff --git a/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp b/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp index 03f433a11..4e78d85d9 100644 --- a/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp +++ b/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp @@ -782,7 +782,7 @@ void GxsForumThreadWidget::fillThreadStatus(QString text) QTreeWidgetItem *GxsForumThreadWidget::convertMsgToThreadWidget(const RsGxsForumMsg &msg, bool useChildTS, uint32_t filterColumn) { - GxsIdRSTreeWidgetItem *item = new GxsIdRSTreeWidgetItem(mThreadCompareRole); + GxsIdRSTreeWidgetItem *item = new GxsIdRSTreeWidgetItem(mThreadCompareRole); item->moveToThread(ui->threadTreeWidget->thread()); QString text; @@ -810,8 +810,8 @@ QTreeWidgetItem *GxsForumThreadWidget::convertMsgToThreadWidget(const RsGxsForum item->setText(COLUMN_THREAD_DATE, text); item->setData(COLUMN_THREAD_DATE, ROLE_THREAD_SORT, sort); - item->setText(COLUMN_THREAD_AUTHOR, QString::fromStdString(msg.mMeta.mAuthorId.toStdString())); - //item->setId(msg.mMeta.mAuthorId, COLUMN_THREAD_AUTHOR); + //item->setText(COLUMN_THREAD_AUTHOR, QString::fromStdString(msg.mMeta.mAuthorId.toStdString())); + item->setId(msg.mMeta.mAuthorId, COLUMN_THREAD_AUTHOR); //#TODO #if 0 text = QString::fromUtf8(authorName.c_str());