mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-10-01 02:35:48 -04:00
Added a new button in the forums dialog to download all links in the selected forum message.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4202 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
ddba6d35db
commit
650ef12af6
@ -148,6 +148,7 @@ ForumsDialog::ForumsDialog(QWidget *parent)
|
||||
connect(ui.expandButton, SIGNAL(clicked()), this, SLOT(togglethreadview()));
|
||||
connect(ui.previousButton, SIGNAL(clicked()), this, SLOT(previousMessage()));
|
||||
connect(ui.nextButton, SIGNAL(clicked()), this, SLOT(nextMessage()));
|
||||
connect(ui.downloadButton, SIGNAL(clicked()), this, SLOT(downloadAllFiles()));
|
||||
|
||||
connect(ui.clearButton, SIGNAL(clicked()), this, SLOT(clearFilter()));
|
||||
connect(ui.filterPatternLineEdit, SIGNAL(textChanged(const QString &)), this, SLOT(filterRegExpChanged()));
|
||||
@ -1251,6 +1252,20 @@ void ForumsDialog::nextMessage ()
|
||||
}
|
||||
}
|
||||
|
||||
void ForumsDialog::downloadAllFiles()
|
||||
{
|
||||
QStringList urls;
|
||||
if (RsHtml::findAnchors(ui.postText->toHtml(), urls) == false) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (urls.count() == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
RetroShareLink::process(urls, RetroShareLink::TYPE_FILE, true);
|
||||
}
|
||||
|
||||
// TODO
|
||||
#if 0
|
||||
void ForumsDialog::removemessage()
|
||||
|
@ -83,6 +83,7 @@ private slots:
|
||||
|
||||
void previousMessage ();
|
||||
void nextMessage ();
|
||||
void downloadAllFiles();
|
||||
|
||||
void changedViewBox();
|
||||
|
||||
|
@ -1000,7 +1000,7 @@ background: white;}</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="5">
|
||||
<item row="0" column="6">
|
||||
<widget class="QPushButton" name="expandButton">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
@ -1026,6 +1026,26 @@ background: white;}</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="5">
|
||||
<widget class="QPushButton" name="downloadButton">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>24</width>
|
||||
<height>24</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Download all files</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="images.qrc">
|
||||
<normaloff>:/images/down.png</normaloff>:/images/down.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
|
@ -1345,7 +1345,7 @@ padding: 4px;
|
||||
<property name="spacing">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<item row="0" column="1">
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string/>
|
||||
@ -1355,7 +1355,7 @@ padding: 4px;
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<item row="0" column="3">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string><html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
@ -1365,7 +1365,7 @@ p, li { white-space: pre-wrap; }
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<item row="0" column="4">
|
||||
<widget class="QLabel" name="filesText">
|
||||
<property name="font">
|
||||
<font>
|
||||
@ -1378,26 +1378,6 @@ p, li { white-space: pre-wrap; }
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QPushButton" name="expandFilesButton">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="images.qrc">
|
||||
<normaloff>:/images/edit_remove24.png</normaloff>:/images/edit_remove24.png</iconset>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
@ -1419,17 +1399,31 @@ p, li { white-space: pre-wrap; }
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Arial'; font-size:8pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Download all Recommended Files</p></body></html></string>
|
||||
<string>Download all Recommended Files</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="images.qrc">
|
||||
<normaloff>:/images/down.png</normaloff>:/images/down.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="expandFilesButton">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="images.qrc">
|
||||
<normaloff>:/images/down.png</normaloff>:/images/down.png</iconset>
|
||||
<normaloff>:/images/edit_remove24.png</normaloff>:/images/edit_remove24.png</iconset>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -852,6 +852,29 @@ bool RetroShareLink::process(int flag)
|
||||
return false;
|
||||
}
|
||||
|
||||
/*static*/ int RetroShareLink::process(QStringList &urls, RetroShareLink::enumType type /*= RetroShareLink::TYPE_UNKNOWN*/, bool notify /*= true*/)
|
||||
{
|
||||
int processed = 0;
|
||||
|
||||
for (QStringList::iterator it = urls.begin(); it != urls.end(); it++) {
|
||||
RetroShareLink link(*it);
|
||||
if (link.valid() && (type == RetroShareLink::TYPE_UNKNOWN || link.type() == type)) {
|
||||
if (link.process(0)) {
|
||||
processed++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (notify) {
|
||||
QString text = QObject::tr("%1 of %2 RetroShare links processed.").arg(processed).arg(urls.count());
|
||||
QMessageBox mb(QObject::tr("Request Confirmation"), text, QMessageBox::Information, QMessageBox::Ok, 0, 0);
|
||||
mb.setWindowIcon(QIcon(QString::fromUtf8(":/images/rstray3.png")));
|
||||
mb.exec();
|
||||
}
|
||||
|
||||
return processed;
|
||||
}
|
||||
|
||||
void RSLinkClipboard::copyLinks(const std::vector<RetroShareLink>& links)
|
||||
{
|
||||
QString res ;
|
||||
|
@ -93,6 +93,8 @@ class RetroShareLink
|
||||
|
||||
bool process(int flag);
|
||||
|
||||
static int process(QStringList &urls, RetroShareLink::enumType type = RetroShareLink::TYPE_UNKNOWN, bool notify = true);
|
||||
|
||||
private:
|
||||
void fromString(const QString &url);
|
||||
void fromUrl(const QUrl &url);
|
||||
|
@ -42,33 +42,6 @@ void EmbedInHtmlImg::InitFromAwkwardHash(const QHash< QString, QString >& hash)
|
||||
myRE.setPattern(newRE);
|
||||
}
|
||||
|
||||
QString formatText(const QString &text, unsigned int flag)
|
||||
{
|
||||
if (flag == 0) {
|
||||
// nothing to do
|
||||
return text;
|
||||
}
|
||||
|
||||
QDomDocument doc;
|
||||
if (doc.setContent(text) == false) {
|
||||
// convert text with QTextBrowser
|
||||
QTextBrowser textBrowser;
|
||||
textBrowser.setText(text);
|
||||
doc.setContent(textBrowser.toHtml());
|
||||
}
|
||||
|
||||
QDomElement body = doc.documentElement();
|
||||
if (flag & RSHTML_FORMATTEXT_EMBED_SMILEYS) {
|
||||
embedHtml(doc, body, defEmbedImg);
|
||||
}
|
||||
if (flag & RSHTML_FORMATTEXT_EMBED_LINKS) {
|
||||
EmbedInHtmlAhref defEmbedAhref;
|
||||
embedHtml(doc, body, defEmbedAhref);
|
||||
}
|
||||
|
||||
return doc.toString(-1); // -1 removes any annoying carriage return misinterpreted by QTextEdit
|
||||
}
|
||||
|
||||
/**
|
||||
* Parses a DOM tree and replaces text by HTML tags.
|
||||
* The tree is traversed depth-first, but only through children of Element type
|
||||
@ -86,7 +59,7 @@ QString formatText(const QString &text, unsigned int flag)
|
||||
* @param[in,out] currentElement The current node (which is of type Element)
|
||||
* @param[in] embedInfos The regular expression and the type of embedding to use
|
||||
*/
|
||||
void embedHtml(QDomDocument& doc, QDomElement& currentElement, EmbedInHtml& embedInfos)
|
||||
static void embedHtml(QDomDocument& doc, QDomElement& currentElement, EmbedInHtml& embedInfos)
|
||||
{
|
||||
if(embedInfos.myRE.pattern().length() == 0) // we'll get stuck with an empty regexp
|
||||
return;
|
||||
@ -174,4 +147,72 @@ void embedHtml(QDomDocument& doc, QDomElement& currentElement, EmbedInHtml& embe
|
||||
}
|
||||
}
|
||||
|
||||
QString formatText(const QString &text, unsigned int flag)
|
||||
{
|
||||
if (flag == 0) {
|
||||
// nothing to do
|
||||
return text;
|
||||
}
|
||||
|
||||
QDomDocument doc;
|
||||
if (doc.setContent(text) == false) {
|
||||
// convert text with QTextBrowser
|
||||
QTextBrowser textBrowser;
|
||||
textBrowser.setText(text);
|
||||
doc.setContent(textBrowser.toHtml());
|
||||
}
|
||||
|
||||
QDomElement body = doc.documentElement();
|
||||
if (flag & RSHTML_FORMATTEXT_EMBED_SMILEYS) {
|
||||
embedHtml(doc, body, defEmbedImg);
|
||||
}
|
||||
if (flag & RSHTML_FORMATTEXT_EMBED_LINKS) {
|
||||
EmbedInHtmlAhref defEmbedAhref;
|
||||
embedHtml(doc, body, defEmbedAhref);
|
||||
}
|
||||
|
||||
return doc.toString(-1); // -1 removes any annoying carriage return misinterpreted by QTextEdit
|
||||
}
|
||||
|
||||
static void findElements(QDomDocument& doc, QDomElement& currentElement, const QString& nodeName, const QString& nodeAttribute, QStringList &elements)
|
||||
{
|
||||
if(nodeName.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
QDomNodeList children = currentElement.childNodes();
|
||||
for (uint index = 0; index < children.length(); index++) {
|
||||
QDomNode node = children.item(index);
|
||||
if (node.isElement()) {
|
||||
QDomElement element = node.toElement();
|
||||
if (QString::compare(element.tagName(), nodeName, Qt::CaseInsensitive) == 0) {
|
||||
if (nodeAttribute.isEmpty()) {
|
||||
// use text
|
||||
elements.append(element.text());
|
||||
} else {
|
||||
QString attribute = element.attribute(nodeAttribute);
|
||||
if (attribute.isEmpty() == false) {
|
||||
elements.append(attribute);
|
||||
}
|
||||
}
|
||||
continue;
|
||||
}
|
||||
findElements(doc, element, nodeName, nodeAttribute, elements);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool findAnchors(const QString &text, QStringList& urls)
|
||||
{
|
||||
QDomDocument doc;
|
||||
if (doc.setContent(text) == false) {
|
||||
return false;
|
||||
}
|
||||
|
||||
QDomElement body = doc.documentElement();
|
||||
findElements(doc, body, "a", "href", urls);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
} // namespace RsHtml
|
||||
|
@ -109,8 +109,7 @@ public:
|
||||
extern EmbedInHtmlImg defEmbedImg;
|
||||
|
||||
QString formatText(const QString &text, unsigned int flag);
|
||||
void embedHtml(QDomDocument& doc, QDomElement& currentElement, EmbedInHtml& embedInfos);
|
||||
|
||||
bool findAnchors(const QString &text, QStringList& urls);
|
||||
|
||||
} // namespace RsHtml
|
||||
|
||||
|
Binary file not shown.
@ -1063,7 +1063,7 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Alle als gelesen markieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+7"/>
|
||||
<location line="+33"/>
|
||||
<source>Enable Auto-download</source>
|
||||
<translation>Aktiviere Auto-Download</translation>
|
||||
</message>
|
||||
@ -1073,7 +1073,7 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Kanal erstellen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-199"/>
|
||||
<location line="-225"/>
|
||||
<source>Unsubscribe</source>
|
||||
<translation>Abbestellen</translation>
|
||||
</message>
|
||||
@ -2341,7 +2341,23 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Drag'n'Drop Dateien aus den Suchergebnissen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/channels/CreateChannelMsg.cpp" line="+300"/>
|
||||
<location filename="../gui/channels/CreateChannelMsg.cpp" line="+162"/>
|
||||
<location line="+6"/>
|
||||
<source>Drop file error.</source>
|
||||
<translation type="unfinished">Dateifehler bei Drag'n'Drop.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-6"/>
|
||||
<source>Directory can't be dropped, only files are accepted.</source>
|
||||
<translation type="unfinished">Ordner können nicht für Drag'n'Drop genutzt werden. Nur Dateien werden akzeptiert.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+6"/>
|
||||
<source>File not found or file name not accepted.</source>
|
||||
<translation type="unfinished">Datei nicht gefunden oder Dateiname nicht akzeptiert.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+141"/>
|
||||
<source>Add Extra File</source>
|
||||
<translation>Zusätzlich eine Datei hinzufügen</translation>
|
||||
</message>
|
||||
@ -2538,17 +2554,17 @@ p, li { white-space: pre-wrap; }
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/forums/CreateForumMsg.cpp" line="+88"/>
|
||||
<location line="+4"/>
|
||||
<location line="+6"/>
|
||||
<source>Drop file error.</source>
|
||||
<translation>Dateifehler bei Drag'n'Drop.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-4"/>
|
||||
<location line="+0"/>
|
||||
<source>File not found or file name not accepted.</source>
|
||||
<translation>Datei nicht gefunden oder Dateiname nicht akzeptiert.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<location line="-6"/>
|
||||
<source>Directory can't be dropped, only files are accepted.</source>
|
||||
<translation>Ordner können nicht für Drag'n'Drop genutzt werden. Nur Dateien werden akzeptiert.</translation>
|
||||
</message>
|
||||
@ -3551,7 +3567,7 @@ p, li { white-space: pre-wrap; }
|
||||
<context>
|
||||
<name>ForumMsgItem</name>
|
||||
<message>
|
||||
<location filename="../gui/feeds/ForumMsgItem.ui" line="+164"/>
|
||||
<location filename="../gui/feeds/ForumMsgItem.ui" line="+266"/>
|
||||
<source>Remove Item</source>
|
||||
<translation>Eintrag entfernen</translation>
|
||||
</message>
|
||||
@ -3561,8 +3577,8 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Erweitern</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+57"/>
|
||||
<location line="+182"/>
|
||||
<location line="-85"/>
|
||||
<location line="+189"/>
|
||||
<location line="+167"/>
|
||||
<source>Subject: </source>
|
||||
<translation>Betreff:</translation>
|
||||
@ -3572,17 +3588,17 @@ p, li { white-space: pre-wrap; }
|
||||
<translation type="obsolete">Gehe zum Forumbeitrag</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-287"/>
|
||||
<location line="-311"/>
|
||||
<source>Unsubscribe To Forum</source>
|
||||
<translation>Forum abbestellen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+36"/>
|
||||
<location line="+20"/>
|
||||
<source>Reply</source>
|
||||
<translation>Antwort</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+343"/>
|
||||
<location line="+383"/>
|
||||
<source>Send</source>
|
||||
<translation>Senden</translation>
|
||||
</message>
|
||||
@ -3592,7 +3608,7 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Unterzeichnen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/feeds/ForumMsgItem.cpp" line="+91"/>
|
||||
<location filename="../gui/feeds/ForumMsgItem.cpp" line="+93"/>
|
||||
<source>Forum Post</source>
|
||||
<translation>Beitrag</translation>
|
||||
</message>
|
||||
@ -3672,7 +3688,7 @@ p, li { white-space: pre-wrap; }
|
||||
<context>
|
||||
<name>ForumsDialog</name>
|
||||
<message>
|
||||
<location filename="../gui/ForumsDialog.cpp" line="+275"/>
|
||||
<location filename="../gui/ForumsDialog.cpp" line="+276"/>
|
||||
<source>Subscribe to Forum</source>
|
||||
<translation>Forum abonnieren</translation>
|
||||
</message>
|
||||
@ -3771,7 +3787,7 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>keine</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+542"/>
|
||||
<location line="+556"/>
|
||||
<location line="+81"/>
|
||||
<source>RetroShare</source>
|
||||
<translation></translation>
|
||||
@ -3787,7 +3803,7 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Du kannst einem anonymen Autor nicht antworten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-1363"/>
|
||||
<location line="-1377"/>
|
||||
<source>Your Forums</source>
|
||||
<translation>Deine Foren</translation>
|
||||
</message>
|
||||
@ -3864,24 +3880,24 @@ p, li { white-space: pre-wrap; }
|
||||
</message>
|
||||
<message>
|
||||
<location line="+36"/>
|
||||
<location line="+276"/>
|
||||
<location line="+296"/>
|
||||
<source>Date</source>
|
||||
<translation>Datum</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-290"/>
|
||||
<location line="+295"/>
|
||||
<location line="-310"/>
|
||||
<location line="+315"/>
|
||||
<source>Title</source>
|
||||
<translation>Titel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-276"/>
|
||||
<location line="+281"/>
|
||||
<location line="-296"/>
|
||||
<location line="+301"/>
|
||||
<source>Author</source>
|
||||
<translation>Autor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-276"/>
|
||||
<location line="-296"/>
|
||||
<source>Signed</source>
|
||||
<translation>Unterzeichnet</translation>
|
||||
</message>
|
||||
@ -3909,7 +3925,12 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Nächster Beitrag</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+187"/>
|
||||
<location line="+49"/>
|
||||
<source>Download all files</source>
|
||||
<translation>Alle Dateien runterladen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+158"/>
|
||||
<source>Reply Message</source>
|
||||
<translation>Auf Beitrag antworten</translation>
|
||||
</message>
|
||||
@ -3930,7 +3951,7 @@ p, li { white-space: pre-wrap; }
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/ForumsDialog.cpp" line="+123"/>
|
||||
<location line="+1161"/>
|
||||
<location line="+1175"/>
|
||||
<source>Start New Thread</source>
|
||||
<translation>Erstelle neues Thema</translation>
|
||||
</message>
|
||||
@ -3958,7 +3979,7 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Inhalt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/ForumsDialog.cpp" line="-1148"/>
|
||||
<location filename="../gui/ForumsDialog.cpp" line="-1162"/>
|
||||
<location line="+3"/>
|
||||
<source>Mark as read</source>
|
||||
<translation>Als gelesen markieren</translation>
|
||||
@ -5633,7 +5654,7 @@ Bitte gib etwas Speicher frei und drücke OK.</translation>
|
||||
<name>MessageComposer</name>
|
||||
<message>
|
||||
<location filename="../gui/msgs/MessageComposer.ui" line="+17"/>
|
||||
<location filename="../gui/msgs/MessageComposer.cpp" line="+798"/>
|
||||
<location filename="../gui/msgs/MessageComposer.cpp" line="+791"/>
|
||||
<source>Compose</source>
|
||||
<translation>Verfassen</translation>
|
||||
</message>
|
||||
@ -5860,7 +5881,7 @@ Bitte gib etwas Speicher frei und drücke OK.</translation>
|
||||
<translation>Blockquote hinzufügen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/msgs/MessageComposer.cpp" line="-1123"/>
|
||||
<location filename="../gui/msgs/MessageComposer.cpp" line="-1116"/>
|
||||
<source>&Left</source>
|
||||
<translation>&Links</translation>
|
||||
</message>
|
||||
@ -5880,7 +5901,7 @@ Bitte gib etwas Speicher frei und drücke OK.</translation>
|
||||
<translation>&Blocksatz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+213"/>
|
||||
<location line="+206"/>
|
||||
<location line="+1605"/>
|
||||
<source>Save Message</source>
|
||||
<translation>Nachricht speichern</translation>
|
||||
@ -6217,12 +6238,12 @@ Willst Du die Nachricht speichern ?</translation>
|
||||
<translation>Von</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+849"/>
|
||||
<location line="+843"/>
|
||||
<source>Size</source>
|
||||
<translation>Grösse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-452"/>
|
||||
<location line="-446"/>
|
||||
<source><html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Arial'; font-size:8pt; font-weight:400; font-style:normal; text-decoration:none;">
|
||||
@ -6322,7 +6343,12 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Gesendet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+532"/>
|
||||
<location line="+241"/>
|
||||
<source>Download all Recommended Files</source>
|
||||
<translation>Alle Dateien runterladen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+285"/>
|
||||
<source>Cc:</source>
|
||||
<translation>Cc:</translation>
|
||||
</message>
|
||||
@ -6384,13 +6410,13 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Dokument drucken</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/MessagesDialog.ui" line="-910"/>
|
||||
<location filename="../gui/MessagesDialog.ui" line="-904"/>
|
||||
<location filename="../gui/MessagesDialog.cpp" line="-1585"/>
|
||||
<source>Subject</source>
|
||||
<translation>Betreff</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+532"/>
|
||||
<location line="+526"/>
|
||||
<source>Subject:</source>
|
||||
<translation>Betreff:</translation>
|
||||
</message>
|
||||
@ -6415,7 +6441,7 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Prüfsumme</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-999"/>
|
||||
<location line="-993"/>
|
||||
<source>Print</source>
|
||||
<translation>Drucken</translation>
|
||||
</message>
|
||||
@ -6476,15 +6502,14 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Allen antworten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/MessagesDialog.ui" line="+603"/>
|
||||
<source><html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Arial'; font-size:8pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Download all Recommended Files</p></body></html></source>
|
||||
<translation><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Arial'; font-size:8pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Alle Dateien runterladen</p></body></html></translation>
|
||||
<translation type="obsolete"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Arial'; font-size:8pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Alle Dateien runterladen</p></body></html></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-171"/>
|
||||
<location filename="../gui/MessagesDialog.ui" line="+432"/>
|
||||
<source>Total Inbox:</source>
|
||||
<translation>Posteingang gesamt:</translation>
|
||||
</message>
|
||||
@ -8958,7 +8983,7 @@ Lockdatei:
|
||||
<translation>Vielleicht ist das Passwort falsch</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/RetroShareLink.cpp" line="+626"/>
|
||||
<location filename="../gui/RetroShareLink.cpp" line="+657"/>
|
||||
<source>File Request Confirmation</source>
|
||||
<translation>Bestätigung der Dateianforderung</translation>
|
||||
</message>
|
||||
@ -9043,12 +9068,26 @@ Lockdatei:
|
||||
<source>The receipient of the message is unknown.</source>
|
||||
<translation>Der Empfänger der Nachricht ist unbekannt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+34"/>
|
||||
<source>%1 of %2 RetroShare links processed.</source>
|
||||
<translation>%1 von %2 RetroShare Links verarbeitet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 of %2 RetroShare links processed</source>
|
||||
<translation type="obsolete">%1 von %2 RetroShare Links verarbeitet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Request Confirmation</source>
|
||||
<translation>Anfrage bestätigen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The forum message could not be found.</source>
|
||||
<translation type="obsolete">Der Forumbeitrag "%1" konnte nicht gefunden werden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-69"/>
|
||||
<location line="-104"/>
|
||||
<location line="+11"/>
|
||||
<source>Channel Request canceled</source>
|
||||
<translation>Kanalanfrage abgebrochen</translation>
|
||||
@ -11989,7 +12028,7 @@ p, li { white-space: pre-wrap; }
|
||||
</message>
|
||||
<message>
|
||||
<location line="+7"/>
|
||||
<location filename="../gui/TrustView.cpp" line="+241"/>
|
||||
<location filename="../gui/TrustView.cpp" line="+243"/>
|
||||
<source>Showing: whole network</source>
|
||||
<translation>Anzeige: Ganzes Netzwerk</translation>
|
||||
</message>
|
||||
|
Loading…
Reference in New Issue
Block a user