Added drag and drop support for attaching files in MessageComposer.

Corrected some messageboxes to show the icon of the parent.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3802 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
thunder2 2010-11-16 09:31:30 +00:00
parent 88d4a3b18e
commit 0f1a1987b6
10 changed files with 149 additions and 71 deletions

View File

@ -1014,22 +1014,19 @@ void LinksDialog::anchorClicked (const QUrl& link )
if(rsFiles->FileRequest(fileName, fileHash, fileSize, "", RS_FILE_HINTS_NETWORK_WIDE, srcIds)) if(rsFiles->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); QMessageBox mb(tr("File Request Confirmation"), tr("The file has been added to your download list."),QMessageBox::Information,QMessageBox::Ok,0,0,this);
mb.setButtonText( QMessageBox::Ok, "OK" );
mb.setWindowIcon(QIcon(QString::fromUtf8(":/images/rstray3.png"))); mb.setWindowIcon(QIcon(QString::fromUtf8(":/images/rstray3.png")));
mb.exec(); mb.exec();
} }
else 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); 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.setButtonText( QMessageBox::Ok, "OK" );
mb.exec(); mb.exec();
} }
} }
else else
{ {
QMessageBox mb(tr("File Request Error"), tr("The file link is malformed."),QMessageBox::Information,QMessageBox::Ok,0,0); QMessageBox mb(tr("File Request Error"), tr("The file link is malformed."),QMessageBox::Information,QMessageBox::Ok,0,0,this);
mb.setButtonText( QMessageBox::Ok, "OK" );
mb.setWindowIcon(QIcon(QString::fromUtf8(":/images/rstray3.png"))); mb.setWindowIcon(QIcon(QString::fromUtf8(":/images/rstray3.png")));
mb.exec(); mb.exec();
} }

View File

@ -1913,15 +1913,13 @@ void PeersDialog::dropEvent(QDropEvent *event)
QDir dir(localpath); QDir dir(localpath);
if (dir.exists()) { if (dir.exists()) {
std::cerr << "PeersDialog::dropEvent() directory not accepted."<< std::endl; std::cerr << "PeersDialog::dropEvent() directory not accepted."<< std::endl;
QMessageBox mb(tr("Drop file error."), tr("Directory can't be dropped, only files are accepted."),QMessageBox::Information,QMessageBox::Ok,0,0); QMessageBox mb(tr("Drop file error."), tr("Directory can't be dropped, only files are accepted."),QMessageBox::Information,QMessageBox::Ok,0,0,this);
mb.setButtonText( QMessageBox::Ok, "OK" );
mb.exec(); mb.exec();
} else if (QFile::exists(localpath)) { } else if (QFile::exists(localpath)) {
PeersDialog::addAttachment(localpath.toUtf8().constData()); PeersDialog::addAttachment(localpath.toUtf8().constData());
} else { } else {
std::cerr << "PeersDialog::dropEvent() file does not exists."<< std::endl; std::cerr << "PeersDialog::dropEvent() file does not exists."<< std::endl;
QMessageBox mb(tr("Drop file error."), tr("File not found or file name not accepted."),QMessageBox::Information,QMessageBox::Ok,0,0); QMessageBox mb(tr("Drop file error."), tr("File not found or file name not accepted."),QMessageBox::Information,QMessageBox::Ok,0,0,this);
mb.setButtonText( QMessageBox::Ok, "OK" );
mb.exec(); mb.exec();
} }
} }

View File

@ -346,8 +346,7 @@ void QuickStartWizard::updateFlags(bool b)
bool QuickStartWizard::messageBoxOk(QString msg) bool QuickStartWizard::messageBoxOk(QString msg)
{ {
QMessageBox mb("Share Manager InfoBox!",msg,QMessageBox::Information,QMessageBox::Ok,0,0); QMessageBox mb("Share Manager InfoBox!",msg,QMessageBox::Information,QMessageBox::Ok,0,0,this);
mb.setButtonText( QMessageBox::Ok, "OK" );
mb.exec(); mb.exec();
return true; return true;
} }

View File

@ -269,7 +269,6 @@ bool RetroShareLink::process(int flag)
if (rsFiles->FileRequest(name().toUtf8().constData(), hash().toStdString(), size(), "", RS_FILE_HINTS_NETWORK_WIDE, srcIds)) { if (rsFiles->FileRequest(name().toUtf8().constData(), hash().toStdString(), size(), "", RS_FILE_HINTS_NETWORK_WIDE, srcIds)) {
if (flag & RSLINK_PROCESS_NOTIFY_SUCCESS) { if (flag & RSLINK_PROCESS_NOTIFY_SUCCESS) {
QMessageBox mb(QObject::tr("File Request Confirmation"), QObject::tr("The file has been added to your download list."),QMessageBox::Information,QMessageBox::Ok,0,0); QMessageBox mb(QObject::tr("File Request Confirmation"), QObject::tr("The file has been added to your download list."),QMessageBox::Information,QMessageBox::Ok,0,0);
mb.setButtonText( QMessageBox::Ok, "OK" );
mb.setWindowIcon(QIcon(QString::fromUtf8(":/images/rstray3.png"))); mb.setWindowIcon(QIcon(QString::fromUtf8(":/images/rstray3.png")));
mb.exec(); mb.exec();
} }
@ -278,7 +277,6 @@ bool RetroShareLink::process(int flag)
if (flag & RSLINK_PROCESS_NOTIFY_ERROR) { if (flag & RSLINK_PROCESS_NOTIFY_ERROR) {
QMessageBox mb(QObject::tr("File Request canceled"), QObject::tr("The file has not been added to your download list, because you already have it."),QMessageBox::Critical,QMessageBox::Ok,0,0); QMessageBox mb(QObject::tr("File Request canceled"), QObject::tr("The file has not been added to your download list, because you already have it."),QMessageBox::Critical,QMessageBox::Ok,0,0);
mb.setButtonText( QMessageBox::Ok, "OK" );
mb.setWindowIcon(QIcon(QString::fromUtf8(":/images/rstray3.png"))); mb.setWindowIcon(QIcon(QString::fromUtf8(":/images/rstray3.png")));
mb.exec(); mb.exec();
} }
@ -300,7 +298,6 @@ bool RetroShareLink::process(int flag)
// peer connection is already accepted // peer connection is already accepted
if (flag & RSLINK_PROCESS_NOTIFY_SUCCESS) { if (flag & RSLINK_PROCESS_NOTIFY_SUCCESS) {
QMessageBox mb(QObject::tr("Friend Request Confirmation"), QObject::tr("The friend is already in your list."),QMessageBox::Information,QMessageBox::Ok,0,0); QMessageBox mb(QObject::tr("Friend Request Confirmation"), QObject::tr("The friend is already in your list."),QMessageBox::Information,QMessageBox::Ok,0,0);
mb.setButtonText( QMessageBox::Ok, "OK" );
mb.setWindowIcon(QIcon(QString::fromUtf8(":/images/rstray3.png"))); mb.setWindowIcon(QIcon(QString::fromUtf8(":/images/rstray3.png")));
mb.exec(); mb.exec();
} }
@ -310,7 +307,6 @@ bool RetroShareLink::process(int flag)
if (rsPeers->setAcceptToConnectGPGCertificate(hash().toStdString(), true)) { if (rsPeers->setAcceptToConnectGPGCertificate(hash().toStdString(), true)) {
if (flag & RSLINK_PROCESS_NOTIFY_SUCCESS) { if (flag & RSLINK_PROCESS_NOTIFY_SUCCESS) {
QMessageBox mb(QObject::tr("Friend Request Confirmation"), QObject::tr("The friend has been added to your list."),QMessageBox::Information,QMessageBox::Ok,0,0); QMessageBox mb(QObject::tr("Friend Request Confirmation"), QObject::tr("The friend has been added to your list."),QMessageBox::Information,QMessageBox::Ok,0,0);
mb.setButtonText( QMessageBox::Ok, "OK" );
mb.setWindowIcon(QIcon(QString::fromUtf8(":/images/rstray3.png"))); mb.setWindowIcon(QIcon(QString::fromUtf8(":/images/rstray3.png")));
mb.exec(); mb.exec();
} }
@ -319,7 +315,6 @@ bool RetroShareLink::process(int flag)
if (flag & RSLINK_PROCESS_NOTIFY_ERROR) { if (flag & RSLINK_PROCESS_NOTIFY_ERROR) {
QMessageBox mb(QObject::tr("Friend Request canceled"), QObject::tr("The friend could not be added to your list."),QMessageBox::Critical,QMessageBox::Ok,0,0); QMessageBox mb(QObject::tr("Friend Request canceled"), QObject::tr("The friend could not be added to your list."),QMessageBox::Critical,QMessageBox::Ok,0,0);
mb.setButtonText( QMessageBox::Ok, "OK" );
mb.setWindowIcon(QIcon(QString::fromUtf8(":/images/rstray3.png"))); mb.setWindowIcon(QIcon(QString::fromUtf8(":/images/rstray3.png")));
mb.exec(); mb.exec();
} }
@ -328,7 +323,6 @@ bool RetroShareLink::process(int flag)
if (flag & RSLINK_PROCESS_NOTIFY_ERROR) { if (flag & RSLINK_PROCESS_NOTIFY_ERROR) {
QMessageBox mb(QObject::tr("Friend Request canceled"), QObject::tr("The friend could not be found."),QMessageBox::Critical,QMessageBox::Ok,0,0); QMessageBox mb(QObject::tr("Friend Request canceled"), QObject::tr("The friend could not be found."),QMessageBox::Critical,QMessageBox::Ok,0,0);
mb.setButtonText( QMessageBox::Ok, "OK" );
mb.setWindowIcon(QIcon(QString::fromUtf8(":/images/rstray3.png"))); mb.setWindowIcon(QIcon(QString::fromUtf8(":/images/rstray3.png")));
mb.exec(); mb.exec();
} }
@ -340,7 +334,6 @@ bool RetroShareLink::process(int flag)
if (flag & RSLINK_PROCESS_NOTIFY_ERROR) { if (flag & RSLINK_PROCESS_NOTIFY_ERROR) {
QMessageBox mb(QObject::tr("File Request Error"), QObject::tr("The file link is malformed."),QMessageBox::Critical,QMessageBox::Ok,0,0); QMessageBox mb(QObject::tr("File Request Error"), QObject::tr("The file link is malformed."),QMessageBox::Critical,QMessageBox::Ok,0,0);
mb.setButtonText( QMessageBox::Ok, "OK" );
mb.setWindowIcon(QIcon(QString::fromUtf8(":/images/rstray3.png"))); mb.setWindowIcon(QIcon(QString::fromUtf8(":/images/rstray3.png")));
mb.exec(); mb.exec();
} }
@ -358,7 +351,6 @@ bool RetroShareLink::process(int flag)
// QUrl can't handle the RetroShare link format properly // QUrl can't handle the RetroShare link format properly
if (flag & RSLINK_PROCESS_NOTIFY_ERROR) { if (flag & RSLINK_PROCESS_NOTIFY_ERROR) {
QMessageBox mb(QObject::tr("File Request"), QObject::tr("Process of RetroShare links is not implemented. Please use copy instead."),QMessageBox::Critical,QMessageBox::Ok,0,0); QMessageBox mb(QObject::tr("File Request"), QObject::tr("Process of RetroShare links is not implemented. Please use copy instead."),QMessageBox::Critical,QMessageBox::Ok,0,0);
mb.setButtonText( QMessageBox::Ok, "OK" );
mb.setWindowIcon(QIcon(QString::fromUtf8(":/images/rstray3.png"))); mb.setWindowIcon(QIcon(QString::fromUtf8(":/images/rstray3.png")));
mb.exec(); mb.exec();
} }
@ -372,7 +364,6 @@ bool RetroShareLink::process(int flag)
// if (flag & RSLINK_PROCESS_NOTIFY_ERROR) { // if (flag & RSLINK_PROCESS_NOTIFY_ERROR) {
// QMessageBox mb(QObject::tr("File Request Error"), QObject::tr("The file link is malformed."),QMessageBox::Information,QMessageBox::Ok,0,0); // QMessageBox mb(QObject::tr("File Request Error"), QObject::tr("The file link is malformed."),QMessageBox::Information,QMessageBox::Ok,0,0);
//second version: QMessageBox mb(QObject::tr("Badly formed RS link"), QObject::tr("This RetroShare link is malformed. This is bug. Please contact the developers.\n\nNote: this possibly comes from a bug in Qt4.6. Try to right-click + copy link location, and paste in Transfer Tab."),QMessageBox::Critical,QMessageBox::Ok,0,0); //second version: QMessageBox mb(QObject::tr("Badly formed RS link"), QObject::tr("This RetroShare link is malformed. This is bug. Please contact the developers.\n\nNote: this possibly comes from a bug in Qt4.6. Try to right-click + copy link location, and paste in Transfer Tab."),QMessageBox::Critical,QMessageBox::Ok,0,0);
// mb.setButtonText( QMessageBox::Ok, "OK" );
// mb.setWindowIcon(QIcon(QString::fromUtf8(":/images/rstray3.png"))); // mb.setWindowIcon(QIcon(QString::fromUtf8(":/images/rstray3.png")));
// mb.exec(); // mb.exec();
// } // }

View File

@ -1059,15 +1059,13 @@ void PopupChatDialog::dropEvent(QDropEvent *event)
QDir dir(localpath); QDir dir(localpath);
if (dir.exists()) { if (dir.exists()) {
std::cerr << "PopupChatDialog::dropEvent() directory not accepted."<< std::endl; std::cerr << "PopupChatDialog::dropEvent() directory not accepted."<< std::endl;
QMessageBox mb(tr("Drop file error."), tr("Directory can't be dropped, only files are accepted."),QMessageBox::Information,QMessageBox::Ok,0,0); QMessageBox mb(tr("Drop file error."), tr("Directory can't be dropped, only files are accepted."),QMessageBox::Information,QMessageBox::Ok,0,0,this);
mb.setButtonText( QMessageBox::Ok, "OK" );
mb.exec(); mb.exec();
} else if (QFile::exists(localpath)) { } else if (QFile::exists(localpath)) {
PopupChatDialog::addAttachment(localpath.toUtf8().constData(), false); PopupChatDialog::addAttachment(localpath.toUtf8().constData(), false);
} else { } else {
std::cerr << "PopupChatDialog::dropEvent() file does not exists."<< std::endl; std::cerr << "PopupChatDialog::dropEvent() file does not exists."<< std::endl;
QMessageBox mb(tr("Drop file error."), tr("File not found or file name not accepted."),QMessageBox::Information,QMessageBox::Ok,0,0); QMessageBox mb(tr("Drop file error."), tr("File not found or file name not accepted."),QMessageBox::Information,QMessageBox::Ok,0,0,this);
mb.setButtonText( QMessageBox::Ok, "OK" );
mb.exec(); mb.exec();
} }
} }

View File

@ -294,13 +294,11 @@ void CreateForumMsg::dropEvent(QDropEvent *event)
//Check that the file does exist and is not a directory //Check that the file does exist and is not a directory
if ((-1 == stat(localpath.c_str(), &buf))) { if ((-1 == stat(localpath.c_str(), &buf))) {
std::cerr << "CreateForumMsg::dropEvent() file does not exists."<< std::endl; std::cerr << "CreateForumMsg::dropEvent() file does not exists."<< std::endl;
QMessageBox mb(tr("Drop file error."), tr("File not found or file name not accepted."),QMessageBox::Information,QMessageBox::Ok,0,0); QMessageBox mb(tr("Drop file error."), tr("File not found or file name not accepted."),QMessageBox::Information,QMessageBox::Ok,0,0,this);
mb.setButtonText( QMessageBox::Ok, "OK" );
mb.exec(); mb.exec();
} else if (S_ISDIR(buf.st_mode)) { } else if (S_ISDIR(buf.st_mode)) {
std::cerr << "CreateForumMsg::dropEvent() directory not accepted."<< std::endl; std::cerr << "CreateForumMsg::dropEvent() directory not accepted."<< std::endl;
QMessageBox mb(tr("Drop file error."), tr("Directory can't be dropped, only files are accepted."),QMessageBox::Information,QMessageBox::Ok,0,0); QMessageBox mb(tr("Drop file error."), tr("Directory can't be dropped, only files are accepted."),QMessageBox::Information,QMessageBox::Ok,0,0,this);
mb.setButtonText( QMessageBox::Ok, "OK" );
mb.exec(); mb.exec();
} else { } else {
CreateForumMsg::addAttachment(localpath); CreateForumMsg::addAttachment(localpath);

View File

@ -284,6 +284,8 @@ MessageComposer::MessageComposer(QWidget *parent, Qt::WFlags flags)
/* set focus to subject */ /* set focus to subject */
ui.titleEdit->setFocus(); ui.titleEdit->setFocus();
setAcceptDrops(true);
/* Hide platform specific features */ /* Hide platform specific features */
#ifdef Q_WS_WIN #ifdef Q_WS_WIN
@ -2289,3 +2291,79 @@ void MessageComposer::recommendButtonClicked()
ui.msgText->textCursor().insertHtml(text); ui.msgText->textCursor().insertHtml(text);
ui.msgText->setFocus(Qt::OtherFocusReason); ui.msgText->setFocus(Qt::OtherFocusReason);
} }
void MessageComposer::dragEnterEvent(QDragEnterEvent *event)
{
/* print out mimeType */
std::cerr << "PopupChatDialog::dragEnterEvent() Formats";
std::cerr << std::endl;
QStringList formats = event->mimeData()->formats();
QStringList::iterator it;
for(it = formats.begin(); it != formats.end(); it++) {
std::cerr << "Format: " << (*it).toStdString();
std::cerr << std::endl;
}
if (event->mimeData()->hasUrls()) {
std::cerr << "PopupChatDialog::dragEnterEvent() Accepting Urls";
std::cerr << std::endl;
event->acceptProposedAction();
} else {
std::cerr << "PopupChatDialog::dragEnterEvent() No Urls";
std::cerr << std::endl;
}
}
void MessageComposer::dropEvent(QDropEvent *event)
{
if (!(Qt::CopyAction & event->possibleActions())) {
std::cerr << "PopupChatDialog::dropEvent() Rejecting uncopyable DropAction";
std::cerr << std::endl;
/* can't do it */
return;
}
std::cerr << "PopupChatDialog::dropEvent() Formats";
std::cerr << std::endl;
QStringList formats = event->mimeData()->formats();
QStringList::iterator it;
for(it = formats.begin(); it != formats.end(); it++) {
std::cerr << "Format: " << (*it).toStdString();
std::cerr << std::endl;
}
if (event->mimeData()->hasUrls()) {
std::cerr << "PopupChatDialog::dropEvent() Urls:";
std::cerr << std::endl;
QList<QUrl> urls = event->mimeData()->urls();
QList<QUrl>::iterator uit;
for(uit = urls.begin(); uit != urls.end(); uit++) {
QString localpath = uit->toLocalFile();
std::cerr << "Whole URL: " << uit->toString().toStdString() << std::endl;
std::cerr << "or As Local File: " << localpath.toStdString() << std::endl;
if (localpath.isEmpty() == false) {
//Check that the file does exist and is not a directory
QDir dir(localpath);
if (dir.exists()) {
std::cerr << "PopupChatDialog::dropEvent() directory not accepted."<< std::endl;
QMessageBox mb(tr("Drop file error."), tr("Directory can't be dropped, only files are accepted."),QMessageBox::Information,QMessageBox::Ok,0,0,this);
mb.exec();
} else if (QFile::exists(localpath)) {
addAttachment(localpath.toUtf8().constData());
} else {
std::cerr << "PopupChatDialog::dropEvent() file does not exists."<< std::endl;
QMessageBox mb(tr("Drop file error."), tr("File not found or file name not accepted."),QMessageBox::Information,QMessageBox::Ok,0,0,this);
mb.exec();
}
}
}
}
event->setDropAction(Qt::CopyAction);
event->accept();
}

View File

@ -80,6 +80,9 @@ protected:
void closeEvent (QCloseEvent * event); void closeEvent (QCloseEvent * event);
bool eventFilter(QObject *obj, QEvent *ev); bool eventFilter(QObject *obj, QEvent *ev);
virtual void dragEnterEvent(QDragEnterEvent *event);
virtual void dropEvent(QDropEvent *event);
private slots: private slots:
/* toggle Contacts DockWidget */ /* toggle Contacts DockWidget */

View File

@ -2481,17 +2481,17 @@ p, li { white-space: pre-wrap; }
</message> </message>
<message> <message>
<location filename="../gui/forums/CreateForumMsg.cpp" line="+93"/> <location filename="../gui/forums/CreateForumMsg.cpp" line="+93"/>
<location line="+5"/> <location line="+4"/>
<source>Drop file error.</source> <source>Drop file error.</source>
<translation>Dateifehler bei Drag&apos;n&apos;Drop.</translation> <translation>Dateifehler bei Drag&apos;n&apos;Drop.</translation>
</message> </message>
<message> <message>
<location line="-5"/> <location line="-4"/>
<source>File not found or file name not accepted.</source> <source>File not found or file name not accepted.</source>
<translation>Datei nicht gefunden oder Dateiname nicht akzeptiert.</translation> <translation>Datei nicht gefunden oder Dateiname nicht akzeptiert.</translation>
</message> </message>
<message> <message>
<location line="+5"/> <location line="+4"/>
<source>Directory can&apos;t be dropped, only files are accepted.</source> <source>Directory can&apos;t be dropped, only files are accepted.</source>
<translation>Ordner können nicht für Drag&apos;n&apos;Drop genutzt werden. Nur Dateien werden akzeptiert.</translation> <translation>Ordner können nicht für Drag&apos;n&apos;Drop genutzt werden. Nur Dateien werden akzeptiert.</translation>
</message> </message>
@ -4857,7 +4857,7 @@ p, li { white-space: pre-wrap; }
<translation>Die Datei wurde zur Downloadliste hinzugefügt.</translation> <translation>Die Datei wurde zur Downloadliste hinzugefügt.</translation>
</message> </message>
<message> <message>
<location line="+7"/> <location line="+6"/>
<source>File Request canceled</source> <source>File Request canceled</source>
<translation>Dateianforderung abgebrochen</translation> <translation>Dateianforderung abgebrochen</translation>
</message> </message>
@ -4867,7 +4867,7 @@ p, li { white-space: pre-wrap; }
<translation>Die Datei wurde nicht zur Downloadliste hinzugefügt, da Sie sie schon haben.</translation> <translation>Die Datei wurde nicht zur Downloadliste hinzugefügt, da Sie sie schon haben.</translation>
</message> </message>
<message> <message>
<location line="+7"/> <location line="+6"/>
<source>File Request Error</source> <source>File Request Error</source>
<translation>Fehler bei der Dateianforderung</translation> <translation>Fehler bei der Dateianforderung</translation>
</message> </message>
@ -5326,7 +5326,7 @@ Bitte gib etwas Speicher frei und drücke OK.</translation>
<name>MessageComposer</name> <name>MessageComposer</name>
<message> <message>
<location filename="../gui/msgs/MessageComposer.ui" line="+17"/> <location filename="../gui/msgs/MessageComposer.ui" line="+17"/>
<location filename="../gui/msgs/MessageComposer.cpp" line="+724"/> <location filename="../gui/msgs/MessageComposer.cpp" line="+726"/>
<source>Compose</source> <source>Compose</source>
<translation>Verfassen</translation> <translation>Verfassen</translation>
</message> </message>
@ -5553,7 +5553,7 @@ Bitte gib etwas Speicher frei und drücke OK.</translation>
<translation>Blockquote hinzufügen</translation> <translation>Blockquote hinzufügen</translation>
</message> </message>
<message> <message>
<location filename="../gui/msgs/MessageComposer.cpp" line="-1055"/> <location filename="../gui/msgs/MessageComposer.cpp" line="-1057"/>
<source>&amp;Left</source> <source>&amp;Left</source>
<translation>&amp;Links</translation> <translation>&amp;Links</translation>
</message> </message>
@ -5573,7 +5573,7 @@ Bitte gib etwas Speicher frei und drücke OK.</translation>
<translation>&amp;Blocksatz</translation> <translation>&amp;Blocksatz</translation>
</message> </message>
<message> <message>
<location line="+206"/> <location line="+208"/>
<location line="+1521"/> <location line="+1521"/>
<source>Save Message</source> <source>Save Message</source>
<translation>Nachricht speichern</translation> <translation>Nachricht speichern</translation>
@ -5770,7 +5770,23 @@ Willst Du die Nachricht speichern ?</translation>
<translation>Zusätzliche Datei hinzufügen</translation> <translation>Zusätzliche Datei hinzufügen</translation>
</message> </message>
<message> <message>
<location line="-1682"/> <location line="+275"/>
<location line="+6"/>
<source>Drop file error.</source>
<translation>Dateifehler bei Drag&apos;n&apos;Drop.</translation>
</message>
<message>
<location line="-6"/>
<source>Directory can&apos;t be dropped, only files are accepted.</source>
<translation>Ordner können nicht für Drag&apos;n&apos;Drop genutzt werden. Nur Dateien werden akzeptiert.</translation>
</message>
<message>
<location line="+6"/>
<source>File not found or file name not accepted.</source>
<translation>Datei nicht gefunden oder Dateiname nicht akzeptiert.</translation>
</message>
<message>
<location line="-1963"/>
<source>Friend Recommendation(s)</source> <source>Friend Recommendation(s)</source>
<translation>Freundempfehlung(en)</translation> <translation>Freundempfehlung(en)</translation>
</message> </message>
@ -5893,7 +5909,7 @@ Willst Du die Nachricht speichern ?</translation>
<message> <message>
<location line="-5"/> <location line="-5"/>
<location filename="../gui/MessagesDialog.cpp" line="-1"/> <location filename="../gui/MessagesDialog.cpp" line="-1"/>
<location line="+845"/> <location line="+828"/>
<source>From</source> <source>From</source>
<translation>Von</translation> <translation>Von</translation>
</message> </message>
@ -6066,7 +6082,7 @@ p, li { white-space: pre-wrap; }
</message> </message>
<message> <message>
<location filename="../gui/MessagesDialog.ui" line="-886"/> <location filename="../gui/MessagesDialog.ui" line="-886"/>
<location filename="../gui/MessagesDialog.cpp" line="-1579"/> <location filename="../gui/MessagesDialog.cpp" line="-1562"/>
<source>Subject</source> <source>Subject</source>
<translation>Betreff</translation> <translation>Betreff</translation>
</message> </message>
@ -6131,7 +6147,7 @@ p, li { white-space: pre-wrap; }
<translation>Empfohlene Dateien einblenden</translation> <translation>Empfohlene Dateien einblenden</translation>
</message> </message>
<message> <message>
<location line="+1052"/> <location line="+1035"/>
<source>Save as...</source> <source>Save as...</source>
<translation>Speichern unter...</translation> <translation>Speichern unter...</translation>
</message> </message>
@ -6141,7 +6157,7 @@ p, li { white-space: pre-wrap; }
<translation>HTML-Dateien (*.htm *.html);;Alle Dateien (*)</translation> <translation>HTML-Dateien (*.htm *.html);;Alle Dateien (*)</translation>
</message> </message>
<message> <message>
<location line="-1563"/> <location line="-1546"/>
<location line="+274"/> <location line="+274"/>
<source>Reply to All</source> <source>Reply to All</source>
<translation>Allen antworten</translation> <translation>Allen antworten</translation>
@ -6180,7 +6196,7 @@ p, li { white-space: pre-wrap; }
</message> </message>
<message> <message>
<location line="+177"/> <location line="+177"/>
<location filename="../gui/MessagesDialog.cpp" line="+639"/> <location filename="../gui/MessagesDialog.cpp" line="+622"/>
<location line="+1038"/> <location line="+1038"/>
<location line="+5"/> <location line="+5"/>
<source>Trash</source> <source>Trash</source>
@ -6197,7 +6213,7 @@ p, li { white-space: pre-wrap; }
<translation>Ordner</translation> <translation>Ordner</translation>
</message> </message>
<message> <message>
<location filename="../gui/MessagesDialog.cpp" line="-1671"/> <location filename="../gui/MessagesDialog.cpp" line="-1654"/>
<source>Remove All Tags</source> <source>Remove All Tags</source>
<translation>Alle Schlagwörter entfernen</translation> <translation>Alle Schlagwörter entfernen</translation>
</message> </message>
@ -6227,7 +6243,7 @@ p, li { white-space: pre-wrap; }
<translation>Papierkorb leeren</translation> <translation>Papierkorb leeren</translation>
</message> </message>
<message> <message>
<location line="+369"/> <location line="+352"/>
<location line="+1029"/> <location line="+1029"/>
<location line="+8"/> <location line="+8"/>
<source>Drafts</source> <source>Drafts</source>
@ -6239,12 +6255,12 @@ p, li { white-space: pre-wrap; }
<translation>An</translation> <translation>An</translation>
</message> </message>
<message> <message>
<location line="-506"/> <location line="-489"/>
<source>Edit...</source> <source>Edit...</source>
<translation>Editieren...</translation> <translation>Editieren...</translation>
</message> </message>
<message> <message>
<location line="+1427"/> <location line="+1410"/>
<location line="+4"/> <location line="+4"/>
<location line="+4"/> <location line="+4"/>
<location line="+4"/> <location line="+4"/>
@ -7393,7 +7409,7 @@ p, li { white-space: pre-wrap; }
</message> </message>
<message> <message>
<location line="+103"/> <location line="+103"/>
<location line="+7"/> <location line="+6"/>
<source>Drop file error.</source> <source>Drop file error.</source>
<translation>Dateifehler bei Drag&apos;n&apos;Drop.</translation> <translation>Dateifehler bei Drag&apos;n&apos;Drop.</translation>
</message> </message>
@ -7403,7 +7419,7 @@ p, li { white-space: pre-wrap; }
<translation>Datei nicht gefunden oder Dateiname nicht akzeptiert.</translation> <translation>Datei nicht gefunden oder Dateiname nicht akzeptiert.</translation>
</message> </message>
<message> <message>
<location line="-7"/> <location line="-6"/>
<source>Directory can&apos;t be dropped, only files are accepted.</source> <source>Directory can&apos;t be dropped, only files are accepted.</source>
<translation>Ordner können nicht für Drag&apos;n&apos;Drop genutzt werden. Nur Dateien werden akzeptiert.</translation> <translation>Ordner können nicht für Drag&apos;n&apos;Drop genutzt werden. Nur Dateien werden akzeptiert.</translation>
</message> </message>
@ -7580,7 +7596,7 @@ p, li { white-space: pre-wrap; }
<translation>Willst du diesen Freund entfernen?</translation> <translation>Willst du diesen Freund entfernen?</translation>
</message> </message>
<message> <message>
<location line="+744"/> <location line="+742"/>
<source>Save as...</source> <source>Save as...</source>
<translation>Speichern unter...</translation> <translation>Speichern unter...</translation>
</message> </message>
@ -7613,7 +7629,7 @@ p, li { white-space: pre-wrap; }
<translation>Status Spalte ausblenden</translation> <translation>Status Spalte ausblenden</translation>
</message> </message>
<message> <message>
<location filename="../gui/PeersDialog.cpp" line="-1828"/> <location filename="../gui/PeersDialog.cpp" line="-1826"/>
<source>Friends Storm</source> <source>Friends Storm</source>
<translation>Aktivitäten</translation> <translation>Aktivitäten</translation>
</message> </message>
@ -7951,12 +7967,12 @@ p, li { white-space: pre-wrap; }
<translation>Avatar zeigen</translation> <translation>Avatar zeigen</translation>
</message> </message>
<message> <message>
<location line="+316"/> <location line="+315"/>
<source>File not found or file name not accepted.</source> <source>File not found or file name not accepted.</source>
<translation>Datei nicht gefunden oder Dateiname nicht akzeptiert.</translation> <translation>Datei nicht gefunden oder Dateiname nicht akzeptiert.</translation>
</message> </message>
<message> <message>
<location line="+91"/> <location line="+90"/>
<source>Messages you send will be delivered after Friend is again Online</source> <source>Messages you send will be delivered after Friend is again Online</source>
<translation>Nachrichten, die Du versendest gehen bei diesem Freund erst wieder ein wenn er Online ist</translation> <translation>Nachrichten, die Du versendest gehen bei diesem Freund erst wieder ein wenn er Online ist</translation>
</message> </message>
@ -8019,7 +8035,7 @@ p, li { white-space: pre-wrap; }
<translation>Deaktiviere Emoticons</translation> <translation>Deaktiviere Emoticons</translation>
</message> </message>
<message> <message>
<location filename="../gui/chat/PopupChatDialog.cpp" line="-989"/> <location filename="../gui/chat/PopupChatDialog.cpp" line="-987"/>
<source>Paste retroshare Link</source> <source>Paste retroshare Link</source>
<translation>RetroShare Link einfügen</translation> <translation>RetroShare Link einfügen</translation>
</message> </message>
@ -8035,12 +8051,12 @@ p, li { white-space: pre-wrap; }
</message> </message>
<message> <message>
<location line="+165"/> <location line="+165"/>
<location line="+7"/> <location line="+6"/>
<source>Drop file error.</source> <source>Drop file error.</source>
<translation>Dateifehler bei Drag&apos;n&apos;Drop.</translation> <translation>Dateifehler bei Drag&apos;n&apos;Drop.</translation>
</message> </message>
<message> <message>
<location line="-7"/> <location line="-6"/>
<source>Directory can&apos;t be dropped, only files are accepted.</source> <source>Directory can&apos;t be dropped, only files are accepted.</source>
<translation>Ordner können nicht für Drag&apos;n&apos;Drop genutzt werden. Nur Dateien werden akzeptiert.</translation> <translation>Ordner können nicht für Drag&apos;n&apos;Drop genutzt werden. Nur Dateien werden akzeptiert.</translation>
</message> </message>
@ -8056,7 +8072,7 @@ p, li { white-space: pre-wrap; }
<translation>Chat Verlauf speichern</translation> <translation>Chat Verlauf speichern</translation>
</message> </message>
<message> <message>
<location filename="../gui/chat/PopupChatDialog.cpp" line="+62"/> <location filename="../gui/chat/PopupChatDialog.cpp" line="+60"/>
<source>Save as...</source> <source>Save as...</source>
<translation>Speichern unter...</translation> <translation>Speichern unter...</translation>
</message> </message>
@ -8066,7 +8082,7 @@ p, li { white-space: pre-wrap; }
<translation>Text Datei (*.txt );;Alle Dateien (*)</translation> <translation>Text Datei (*.txt );;Alle Dateien (*)</translation>
</message> </message>
<message> <message>
<location line="-720"/> <location line="-718"/>
<source>Your Friend is offline <source>Your Friend is offline
Do you want to send them a Message instead</source> Do you want to send them a Message instead</source>
<translation>Dein Freund ist Offline willst du ihm stattdessen eine Nachricht senden</translation> <translation>Dein Freund ist Offline willst du ihm stattdessen eine Nachricht senden</translation>
@ -8083,7 +8099,7 @@ Do you want to send them a Message instead</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../gui/chat/PopupChatDialog.cpp" line="+762"/> <location filename="../gui/chat/PopupChatDialog.cpp" line="+760"/>
<source>is Idle and may not reply</source> <source>is Idle and may not reply</source>
<translation>antwortet möglicherweise nicht, da der Status auf &quot;Untätig&quot; gesetzt wurde</translation> <translation>antwortet möglicherweise nicht, da der Status auf &quot;Untätig&quot; gesetzt wurde</translation>
</message> </message>
@ -8103,7 +8119,7 @@ Do you want to send them a Message instead</source>
<translation>ist Offline.</translation> <translation>ist Offline.</translation>
</message> </message>
<message> <message>
<location line="-697"/> <location line="-695"/>
<source>is typing...</source> <source>is typing...</source>
<translation>tippt...</translation> <translation>tippt...</translation>
</message> </message>
@ -8641,7 +8657,7 @@ p, li { white-space: pre-wrap; }
<translation>Die Datei wurde zur Downloadliste hinzugefügt.</translation> <translation>Die Datei wurde zur Downloadliste hinzugefügt.</translation>
</message> </message>
<message> <message>
<location line="+9"/> <location line="+8"/>
<source>File Request canceled</source> <source>File Request canceled</source>
<translation>Dateianforderung abgebrochen</translation> <translation>Dateianforderung abgebrochen</translation>
</message> </message>
@ -8651,39 +8667,39 @@ p, li { white-space: pre-wrap; }
<translation>Die Datei wurde nicht zur Downloadliste hinzugefügt, da Du sie schon hast.</translation> <translation>Die Datei wurde nicht zur Downloadliste hinzugefügt, da Du sie schon hast.</translation>
</message> </message>
<message> <message>
<location line="+22"/> <location line="+21"/>
<location line="+10"/> <location line="+9"/>
<source>Friend Request Confirmation</source> <source>Friend Request Confirmation</source>
<translation>Freundanfrage bestätigen</translation> <translation>Freundanfrage bestätigen</translation>
</message> </message>
<message> <message>
<location line="-10"/> <location line="-9"/>
<source>The friend is already in your list.</source> <source>The friend is already in your list.</source>
<translation>Der Freund ist schon in Deiner Liste.</translation> <translation>Der Freund ist schon in Deiner Liste.</translation>
</message> </message>
<message> <message>
<location line="+10"/> <location line="+9"/>
<source>The friend has been added to your list.</source> <source>The friend has been added to your list.</source>
<translation>Der Freund wurde zu Deiner Liste hinzugefügt.</translation> <translation>Der Freund wurde zu Deiner Liste hinzugefügt.</translation>
</message> </message>
<message> <message>
<location line="+9"/> <location line="+8"/>
<location line="+9"/> <location line="+8"/>
<source>Friend Request canceled</source> <source>Friend Request canceled</source>
<translation>Freundanfrage abgebrochen</translation> <translation>Freundanfrage abgebrochen</translation>
</message> </message>
<message> <message>
<location line="-9"/> <location line="-8"/>
<source>The friend could not be added to your list.</source> <source>The friend could not be added to your list.</source>
<translation>Der Freund konnte nicht zu Deiner Liste hinzugefügt werden.</translation> <translation>Der Freund konnte nicht zu Deiner Liste hinzugefügt werden.</translation>
</message> </message>
<message> <message>
<location line="+9"/> <location line="+8"/>
<source>The friend could not be found.</source> <source>The friend could not be found.</source>
<translation>Der Freund konnte nicht gefunden werden.</translation> <translation>Der Freund konnte nicht gefunden werden.</translation>
</message> </message>
<message> <message>
<location line="+12"/> <location line="+11"/>
<source>File Request Error</source> <source>File Request Error</source>
<translation>Fehler bei der Dateianforderung</translation> <translation>Fehler bei der Dateianforderung</translation>
</message> </message>
@ -8693,7 +8709,7 @@ p, li { white-space: pre-wrap; }
<translation>Link ist fehlerhaft.</translation> <translation>Link ist fehlerhaft.</translation>
</message> </message>
<message> <message>
<location line="+18"/> <location line="+17"/>
<source>File Request</source> <source>File Request</source>
<translation>Dateianfrage</translation> <translation>Dateianfrage</translation>
</message> </message>