diff --git a/retroshare-gui/src/gui/NetworkDialog.cpp b/retroshare-gui/src/gui/NetworkDialog.cpp index 298c74edf..c8a7c201c 100644 --- a/retroshare-gui/src/gui/NetworkDialog.cpp +++ b/retroshare-gui/src/gui/NetworkDialog.cpp @@ -39,6 +39,7 @@ #include "connect/ConfCertDialog.h" #include "settings/rsharesettings.h" #include "common/RSItemDelegate.h" +#include "RetroShareLink.h" #include @@ -47,7 +48,8 @@ #define IMAGE_PEERDETAILS ":/images/peerdetails_16x16.png" #define IMAGE_AUTH ":/images/encrypted16.png" #define IMAGE_MAKEFRIEND ":/images/user/add_user16.png" -#define IMAGE_EXPIORT ":/images/exportpeers_16x16.png" +#define IMAGE_EXPORT ":/images/exportpeers_16x16.png" +#define IMAGE_COPYLINK ":/images/copyrslink.png" /* Images for Status icons */ #define IMAGE_AUTHED ":/images/accepted16.png" @@ -245,7 +247,7 @@ void NetworkDialog::connecttreeWidgetCostumPopupMenu( QPoint point ) } if(peer_id == rsPeers->getGPGOwnId()) { - QAction* exportcertAct = new QAction(QIcon(IMAGE_EXPIORT), tr( "Export my Cert" ), &contextMnu ); + QAction* exportcertAct = new QAction(QIcon(IMAGE_EXPORT), tr( "Export my Cert" ), &contextMnu ); connect( exportcertAct , SIGNAL( triggered() ), this, SLOT( on_actionExportKey_activated() ) ); contextMnu.addAction( exportcertAct); } @@ -254,6 +256,7 @@ void NetworkDialog::connecttreeWidgetCostumPopupMenu( QPoint point ) connect( peerdetailsAct , SIGNAL( triggered() ), this, SLOT( peerdetails() ) ); contextMnu.addAction( peerdetailsAct); + contextMnu.addAction(QIcon(IMAGE_COPYLINK), tr("Copy RetroShare Link"), this, SLOT(copyLink())); contextMnu.exec(QCursor::pos()); } @@ -292,6 +295,24 @@ void NetworkDialog::peerdetails() ConfCertDialog::showIt(getCurrentNeighbour()->text(4).toStdString(), ConfCertDialog::PageDetails); } +void NetworkDialog::copyLink() +{ + QTreeWidgetItem *wi = getCurrentNeighbour(); + if (wi == NULL) { + return; + } + + std::string peer_id = wi->text(4).toStdString() ; + + std::vector urls; + RetroShareLink link; + if (link.createPerson(peer_id)) { + urls.push_back(link); + } + + RSLinkClipboard::copyLinks(urls); +} + /** Open a QFileDialog to browse for a pem/pqi file. */ //void NetworkDialog::loadcert() //{ diff --git a/retroshare-gui/src/gui/NetworkDialog.h b/retroshare-gui/src/gui/NetworkDialog.h index 91fb0611a..369426947 100644 --- a/retroshare-gui/src/gui/NetworkDialog.h +++ b/retroshare-gui/src/gui/NetworkDialog.h @@ -50,6 +50,7 @@ private slots: void denyFriend() ; void deleteCert() ; void peerdetails(); + void copyLink(); /** Create the context popup menu and it's submenus */ void connecttreeWidgetCostumPopupMenu( QPoint point ); //void unvalidGPGkeyWidgetCostumPopupMenu( QPoint point ); diff --git a/retroshare-gui/src/gui/PeersDialog.cpp b/retroshare-gui/src/gui/PeersDialog.cpp index 20c34ae6e..936ad66f4 100644 --- a/retroshare-gui/src/gui/PeersDialog.cpp +++ b/retroshare-gui/src/gui/PeersDialog.cpp @@ -73,14 +73,15 @@ #include /* Images for context menu icons */ -#define IMAGE_DENYFRIEND ":/images/denied16.png" +#define IMAGE_DENYFRIEND ":/images/denied16.png" #define IMAGE_REMOVEFRIEND ":/images/removefriend16.png" #define IMAGE_EXPORTFRIEND ":/images/exportpeers_16x16.png" -#define IMAGE_ADDFRIEND ":/images/user/add_user16.png" -#define IMAGE_FRIENDINFO ":/images/peerdetails_16x16.png" +#define IMAGE_ADDFRIEND ":/images/user/add_user16.png" +#define IMAGE_FRIENDINFO ":/images/peerdetails_16x16.png" #define IMAGE_CHAT ":/images/chat.png" #define IMAGE_MSG ":/images/mail_new.png" #define IMAGE_CONNECT ":/images/connect_friend.png" +#define IMAGE_COPYLINK ":/images/copyrslink.png" /* Images for Status icons */ #define IMAGE_AVAILABLE ":/images/user/identityavaiblecyan24.png" #define IMAGE_CONNECT2 ":/images/reload24.png" @@ -468,6 +469,10 @@ void PeersDialog::peertreeWidgetCostumPopupMenu( QPoint point ) contextMnu.addAction(QIcon(IMAGE_CONNECT), tr("Connect To Friend"), this, SLOT(connectfriend())); + if (type == TYPE_GPG) { + contextMnu.addAction(QIcon(IMAGE_COPYLINK), tr("Copy RetroShare Link"), this, SLOT(copyLink())); + } + action = contextMnu.addAction(QIcon(IMAGE_PASTELINK), tr("Paste Friend Link"), this, SLOT(pastePerson())); if (RSLinkClipboard::empty(RetroShareLink::TYPE_PERSON)) { action->setDisabled(true); @@ -1217,6 +1222,23 @@ void PeersDialog::pastePerson() RSLinkClipboard::process(RetroShareLink::TYPE_PERSON, RSLINK_PROCESS_NOTIFY_ERROR); } +void PeersDialog::copyLink() +{ + QTreeWidgetItem *c = getCurrentPeer(); + + if (c == NULL) { + return; + } + + std::vector urls; + RetroShareLink link; + if (link.createPerson(c->data(COLUMN_DATA, ROLE_ID).toString().toStdString())) { + urls.push_back(link); + } + + RSLinkClipboard::copyLinks(urls); +} + QTreeWidgetItem *PeersDialog::getCurrentPeer() { /* get the current, and extract the Id */ diff --git a/retroshare-gui/src/gui/PeersDialog.h b/retroshare-gui/src/gui/PeersDialog.h index 40668ae49..f70b4c180 100644 --- a/retroshare-gui/src/gui/PeersDialog.h +++ b/retroshare-gui/src/gui/PeersDialog.h @@ -123,6 +123,7 @@ private slots: void msgfriend(); void recommendfriend(); void pastePerson(); + void copyLink(); void addToGroup(); void moveToGroup(); void removeFromGroup(); diff --git a/retroshare-gui/src/lang/retroshare_de.qm b/retroshare-gui/src/lang/retroshare_de.qm index 564d06bb2..d1e5d3f7f 100644 Binary files a/retroshare-gui/src/lang/retroshare_de.qm and b/retroshare-gui/src/lang/retroshare_de.qm differ diff --git a/retroshare-gui/src/lang/retroshare_de.ts b/retroshare-gui/src/lang/retroshare_de.ts index 701d58464..d9c2f19a5 100644 --- a/retroshare-gui/src/lang/retroshare_de.ts +++ b/retroshare-gui/src/lang/retroshare_de.ts @@ -19,7 +19,7 @@ Schliessen - + About RetroShare %1 Über RestroShare %1 @@ -1048,17 +1048,16 @@ 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:10pt; font-weight:600;">Kanäle</span></p></body></html> - Add - Hinzufügen + Hinzufügen - + Display Anzeige - + Set all to read Alle als gelesen markieren @@ -1068,12 +1067,12 @@ p, li { white-space: pre-wrap; } Aktiviere Auto-Download - + Create Channel Kanal erstellen - + Unsubscribe Abbestellen @@ -1113,8 +1112,8 @@ p, li { white-space: pre-wrap; } Andere Kanäle - - + + Post to Channel Kanalbeitrag erstellen @@ -1600,7 +1599,7 @@ p, li { white-space: pre-wrap; } Übernehmen und Schliessen - + RetroShare @@ -3688,7 +3687,7 @@ p, li { white-space: pre-wrap; } ForumsDialog - + Subscribe to Forum Forum abonnieren @@ -3803,7 +3802,7 @@ p, li { white-space: pre-wrap; } Du kannst einem anonymen Autor nicht antworten - + Your Forums Deine Foren @@ -3836,22 +3835,21 @@ 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-weight:600;">Foren</span></p></body></html> - Add - Hinzufügen + Hinzufügen - + Start new Thread for Selected Forum Starte ein neues Thema im ausgewählten Forum - + Display Anzeige - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -3935,12 +3933,12 @@ p, li { white-space: pre-wrap; } Auf Beitrag antworten - + Create Forum Forum erstellen - + Print Drucken @@ -3950,13 +3948,13 @@ p, li { white-space: pre-wrap; } Druckvorschau - + Start New Thread Erstelle neues Thema - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -6210,7 +6208,7 @@ Willst Du die Nachricht speichern ? MessagesDialog - + New Message Neue Nachricht @@ -6226,14 +6224,14 @@ Willst Du die Nachricht speichern ? - + Date Datum - + From Von @@ -6318,15 +6316,15 @@ p, li { white-space: pre-wrap; } - + Inbox Posteingang - - + + Outbox Postausgang @@ -6338,7 +6336,7 @@ p, li { white-space: pre-wrap; } - + Sent Gesendet @@ -6405,13 +6403,13 @@ p, li { white-space: pre-wrap; } Speichern unter... - + Print Document Dokument drucken - + Subject Betreff @@ -6446,7 +6444,7 @@ p, li { white-space: pre-wrap; } Drucken - + Forward selected Message Gewählte Nachricht weiterleiten @@ -6461,38 +6459,31 @@ p, li { white-space: pre-wrap; } Weiterleiten - Click to sort by attachments - Klicken, um nach Anhang zu sortieren + Klicken, um nach Anhang zu sortieren - Click to sort by subject - Klicken, um nach Betreff zu sortieren + Klicken, um nach Betreff zu sortieren - Click to sort by read - Klicken, um nach Gelesen / Ungelesen zu sortieren + Klicken, um nach Gelesen / Ungelesen zu sortieren - - Click to sort by from - Klicken, um nach Von zu sortieren + Klicken, um nach Von zu sortieren - Click to sort by date - Klicken, um nach Datum zu sortieren + Klicken, um nach Datum zu sortieren - Click to sort by tags - Klicken, um nach Schlagwörter zu sortieren + Klicken, um nach Schlagwörter zu sortieren - + Download Herunterladen @@ -6507,12 +6498,11 @@ p, li { white-space: pre-wrap; } Empfohlene Dateien einblenden - Click to sort by to - Klicken, um nach Empfänger zu sortieren + Klicken, um nach Empfänger zu sortieren - + File Datei @@ -6532,7 +6522,7 @@ p, li { white-space: pre-wrap; } HTML-Dateien (*.htm *.html);;Alle Dateien (*) - + Reply to All Allen antworten @@ -6551,7 +6541,7 @@ p, li { white-space: pre-wrap; } - + Content Inhalt @@ -6559,7 +6549,7 @@ p, li { white-space: pre-wrap; } - + Tags Schlagwörter @@ -6571,7 +6561,7 @@ p, li { white-space: pre-wrap; } - + Trash Papierkorb @@ -6587,7 +6577,7 @@ p, li { white-space: pre-wrap; } Ordner - + Remove All Tags Alle Schlagwörter entfernen @@ -6618,23 +6608,23 @@ p, li { white-space: pre-wrap; } - + Drafts Entwürfe - + To An - + Edit... Editieren... - + @@ -6881,7 +6871,7 @@ p, li { white-space: pre-wrap; } NetworkDialog - + Personal signature Persönliche Unterschrift @@ -7026,7 +7016,7 @@ p, li { white-space: pre-wrap; } Leeren - + Deny friend Blockiere Freund @@ -7051,12 +7041,17 @@ p, li { white-space: pre-wrap; } Nachbar-Details... - + + Copy RetroShare Link + Kopiere RetroShare Link + + + Unknown Unbekannt - + Authentication matrix Authentifizierungsmatrix @@ -7066,7 +7061,7 @@ p, li { white-space: pre-wrap; } Netzwerk Ansicht - + yourself selbst @@ -7558,12 +7553,12 @@ p, li { white-space: pre-wrap; } PeersDialog - + Chat Chat - + Save Certificate Zertifikat speichern @@ -7578,7 +7573,7 @@ p, li { white-space: pre-wrap; } Status - + Connect To Friend Verbinde zum Freund @@ -7618,7 +7613,7 @@ p, li { white-space: pre-wrap; } Freund-Details - + Expand all Alle erweitern @@ -7628,7 +7623,7 @@ p, li { white-space: pre-wrap; } Alle reduzieren - + Message Friend Freund anschreiben @@ -7648,7 +7643,12 @@ p, li { white-space: pre-wrap; } Freund weiterempfehlen... - + + Copy RetroShare Link + Kopiere RetroShare Link + + + Deny Friend Blockiere Freund @@ -7689,7 +7689,7 @@ p, li { white-space: pre-wrap; } Verfügbar - + New group chat Neuer Gruppenchat @@ -7871,7 +7871,7 @@ p, li { white-space: pre-wrap; } - + Add Friend Freund hinzufügen @@ -7927,7 +7927,7 @@ p, li { white-space: pre-wrap; } Gruppe entfernen - + Do you want to remove this Friend? Willst du diesen Freund entfernen? @@ -7972,7 +7972,7 @@ p, li { white-space: pre-wrap; } Freunde - + Paste Friend Link RetroShare Link einfügen @@ -8660,7 +8660,7 @@ Do you want to send them a Message instead ProfileView - + Clear Photo Photo entfernen @@ -9029,7 +9029,7 @@ Lockdatei: Die Datei wurde zur Downloadliste hinzugefügt. - + File Request canceled Dateianforderung abgebrochen @@ -11263,7 +11263,7 @@ Du kannst die Auswahl in den Optionen zurücksetzen. Statusnachricht - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -11299,9 +11299,8 @@ p, li { white-space: pre-wrap; } Abbrechen - Paste RetroShare Link - RetroShare Link einfügen + RetroShare Link einfügen @@ -11393,7 +11392,7 @@ p, li { white-space: pre-wrap; } - + Play File Datei abspielen