From e7ff4bbab8d49fdc34f2cf57a6ce2584d7ea901c Mon Sep 17 00:00:00 2001 From: thunder2 Date: Sun, 30 Sep 2012 13:16:51 +0000 Subject: [PATCH] Plugin LinksCloud: - Fixed crash when clicking on the link. - Fixed process of https links. git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5623 b45a01b8-16f6-495d-af2f-9b41ad6348cc --- plugins/LinksCloud/LinksCloudPlugin.cpp | 2 +- plugins/LinksCloud/LinksDialog.cpp | 61 +------------------------ plugins/LinksCloud/LinksDialog.h | 2 - plugins/LinksCloud/LinksDialog.ui | 21 ++++----- plugins/VOIP/VOIPPlugin.cpp | 2 +- 5 files changed, 12 insertions(+), 76 deletions(-) diff --git a/plugins/LinksCloud/LinksCloudPlugin.cpp b/plugins/LinksCloud/LinksCloudPlugin.cpp index c5baa72ef..5778b5f63 100644 --- a/plugins/LinksCloud/LinksCloudPlugin.cpp +++ b/plugins/LinksCloud/LinksCloudPlugin.cpp @@ -98,7 +98,7 @@ std::string LinksCloudPlugin::getPluginName() const return QApplication::translate("LinksCloudPlugin", "LinksCloud").toUtf8().constData(); } -QTranslator* LinksCloudPlugin::qt_translator(QApplication *app, const QString& languageCode) const +QTranslator* LinksCloudPlugin::qt_translator(QApplication */*app*/, const QString& languageCode) const { if (languageCode == "en") { return NULL; diff --git a/plugins/LinksCloud/LinksDialog.cpp b/plugins/LinksCloud/LinksDialog.cpp index 87bf5573b..2be6d013e 100644 --- a/plugins/LinksCloud/LinksDialog.cpp +++ b/plugins/LinksCloud/LinksDialog.cpp @@ -76,9 +76,6 @@ LinksDialog::LinksDialog(RsPeers *peers, RsFiles *files, QWidget *parent) connect( ui.anonBox, SIGNAL( stateChanged ( int ) ), this, SLOT( checkAnon ( void ) ) ); - connect( ui.linklabel, SIGNAL(anchorClicked(const QUrl &)), SLOT(anchorClicked(const QUrl &))); - - mStart = 0; @@ -168,7 +165,7 @@ void LinksDialog::linkTreeWidgetCostumPopupMenu( QPoint point ) contextMnu.addSeparator(); contextMnu.addAction(downloadAct); - contextMnu.exec(QCursor::pos()); + contextMnu.exec(ui.linkTreeWidget->viewport()->mapToGlobal(point)); } void LinksDialog::changedSortRank( int index ) @@ -657,7 +654,7 @@ void LinksDialog::updateComments(std::string rid, std::string ) /* set Link details */ ui.titleLineEdit->setText(QString::fromStdWString(detail.title)); ui.linkLineEdit->setText(QString::fromStdWString(detail.link)); - ui.linklabel->setHtml(" " + QString::fromStdWString(detail.link) +""); + ui.linklabel->setText(" " + QString::fromStdWString(detail.link) +""); if (mLinkId == rid) @@ -992,60 +989,6 @@ void LinksDialog::downloadSelected() // rsFiles->FileRequest(rslink.name().toStdString(), rslink.hash().toStdString(), rslink.size(), "", 0, srcIds); } -void LinksDialog::anchorClicked (const QUrl& link ) -{ - #ifdef LINK_DEBUG - std::cerr << "LinksDialog::anchorClicked link.scheme() : " << link.scheme().toStdString() << std::endl; - #endif - - if (link.scheme() == "retroshare") - { - QStringList L = link.toString().split("|") ; - - std::string fileName = L.at(1).toStdString() ; - uint64_t fileSize = L.at(2).toULongLong(); - std::string fileHash = L.at(3).toStdString() ; - -#ifdef LINK_DEBUG - std::cerr << "LinksDialog::anchorClicked FileRequest : fileName : " << fileName << ". fileHash : " << fileHash << ". fileSize : " << fileSize << std::endl; -#endif - - if (fileName != "" && fileHash != "") - { - std::list srcIds; - - if(mFiles->FileRequest(fileName, fileHash, fileSize, "", RS_FILE_HINTS_NETWORK_WIDE, srcIds)) - { - QMessageBox mb(tr("File Request Confirmation"), tr("The file has been added to your download list."),QMessageBox::Information,QMessageBox::Ok,0,0,this); - mb.setWindowIcon(QIcon(QString::fromUtf8(":/images/rstray3.png"))); - mb.exec(); - } - else - { - QMessageBox mb(tr("File Request canceled"), tr("The file has not been added to your download list, because you already have it."),QMessageBox::Information,QMessageBox::Ok,0,0,this); - mb.exec(); - } - } - else - { - QMessageBox mb(tr("File Request Error"), tr("The file link is malformed."),QMessageBox::Information,QMessageBox::Ok,0,0,this); - mb.setWindowIcon(QIcon(QString::fromUtf8(":/images/rstray3.png"))); - mb.exec(); - } - } - else if (link.scheme() == "http") - { - QDesktopServices::openUrl(link); - } - else if (link.scheme() == "") - { - //it's probably a web adress, let's add http:// at the beginning of the link - QString newAddress = link.toString(); - newAddress.prepend("http://"); - QDesktopServices::openUrl(QUrl(newAddress)); - } -} - void LinksDialog::addNewLink() { diff --git a/plugins/LinksCloud/LinksDialog.h b/plugins/LinksCloud/LinksDialog.h index ff9305b87..58c763449 100644 --- a/plugins/LinksCloud/LinksDialog.h +++ b/plugins/LinksCloud/LinksDialog.h @@ -67,8 +67,6 @@ private slots: void checkUpdate(); - void anchorClicked (const QUrl &); - void addNewLink(); private: diff --git a/plugins/LinksCloud/LinksDialog.ui b/plugins/LinksCloud/LinksDialog.ui index f478977bd..e6bd1ff70 100644 --- a/plugins/LinksCloud/LinksDialog.ui +++ b/plugins/LinksCloud/LinksDialog.ui @@ -291,23 +291,18 @@ - - - - 16777215 - 22 - - + - QTextBrowser{border: 2px solid #CCCCCC; + QLabel{border: 2px solid #CCCCCC; border-radius: 10px; -background: white;} +background: white; +padding:2} - - Qt::ScrollBarAlwaysOff + + true - - false + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse diff --git a/plugins/VOIP/VOIPPlugin.cpp b/plugins/VOIP/VOIPPlugin.cpp index 521b11438..2ebee9610 100644 --- a/plugins/VOIP/VOIPPlugin.cpp +++ b/plugins/VOIP/VOIPPlugin.cpp @@ -157,7 +157,7 @@ std::string VOIPPlugin::getPluginName() const return QApplication::translate("VOIPPlugin", "VOIP").toUtf8().constData(); } -QTranslator* VOIPPlugin::qt_translator(QApplication *app, const QString& languageCode) const +QTranslator* VOIPPlugin::qt_translator(QApplication */*app*/, const QString& languageCode) const { if (languageCode == "en") { return NULL;