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.expandButton, SIGNAL(clicked()), this, SLOT(togglethreadview()));
|
||||||
connect(ui.previousButton, SIGNAL(clicked()), this, SLOT(previousMessage()));
|
connect(ui.previousButton, SIGNAL(clicked()), this, SLOT(previousMessage()));
|
||||||
connect(ui.nextButton, SIGNAL(clicked()), this, SLOT(nextMessage()));
|
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.clearButton, SIGNAL(clicked()), this, SLOT(clearFilter()));
|
||||||
connect(ui.filterPatternLineEdit, SIGNAL(textChanged(const QString &)), this, SLOT(filterRegExpChanged()));
|
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
|
// TODO
|
||||||
#if 0
|
#if 0
|
||||||
void ForumsDialog::removemessage()
|
void ForumsDialog::removemessage()
|
||||||
|
@ -83,6 +83,7 @@ private slots:
|
|||||||
|
|
||||||
void previousMessage ();
|
void previousMessage ();
|
||||||
void nextMessage ();
|
void nextMessage ();
|
||||||
|
void downloadAllFiles();
|
||||||
|
|
||||||
void changedViewBox();
|
void changedViewBox();
|
||||||
|
|
||||||
|
@ -1000,7 +1000,7 @@ background: white;}</string>
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="5">
|
<item row="0" column="6">
|
||||||
<widget class="QPushButton" name="expandButton">
|
<widget class="QPushButton" name="expandButton">
|
||||||
<property name="maximumSize">
|
<property name="maximumSize">
|
||||||
<size>
|
<size>
|
||||||
@ -1026,6 +1026,26 @@ background: white;}</string>
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</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>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
|
@ -1345,7 +1345,7 @@ padding: 4px;
|
|||||||
<property name="spacing">
|
<property name="spacing">
|
||||||
<number>6</number>
|
<number>6</number>
|
||||||
</property>
|
</property>
|
||||||
<item row="0" column="1">
|
<item row="0" column="2">
|
||||||
<widget class="QLabel" name="label_6">
|
<widget class="QLabel" name="label_6">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string/>
|
<string/>
|
||||||
@ -1355,7 +1355,7 @@ padding: 4px;
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="2">
|
<item row="0" column="3">
|
||||||
<widget class="QLabel" name="label_2">
|
<widget class="QLabel" name="label_2">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string><html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
<string><html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||||
@ -1365,7 +1365,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="3">
|
<item row="0" column="4">
|
||||||
<widget class="QLabel" name="filesText">
|
<widget class="QLabel" name="filesText">
|
||||||
<property name="font">
|
<property name="font">
|
||||||
<font>
|
<font>
|
||||||
@ -1378,26 +1378,6 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</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>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
@ -1419,17 +1399,31 @@ p, li { white-space: pre-wrap; }
|
|||||||
<enum>Qt::NoFocus</enum>
|
<enum>Qt::NoFocus</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string><html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
<string>Download all Recommended Files</string>
|
||||||
p, li { white-space: pre-wrap; }
|
</property>
|
||||||
</style></head><body style=" font-family:'Arial'; font-size:8pt; font-weight:400; font-style:normal;">
|
<property name="icon">
|
||||||
<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>
|
<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>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="images.qrc">
|
<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>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -852,6 +852,29 @@ bool RetroShareLink::process(int flag)
|
|||||||
return false;
|
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)
|
void RSLinkClipboard::copyLinks(const std::vector<RetroShareLink>& links)
|
||||||
{
|
{
|
||||||
QString res ;
|
QString res ;
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
#include <QUrl>
|
#include <QUrl>
|
||||||
|
|
||||||
#define RSLINK_PROCESS_NOTIFY_SUCCESS 1 // notify on success
|
#define RSLINK_PROCESS_NOTIFY_SUCCESS 1 // notify on success
|
||||||
#define RSLINK_PROCESS_NOTIFY_ERROR 2 // notify on error
|
#define RSLINK_PROCESS_NOTIFY_ERROR 2 // notify on error
|
||||||
|
|
||||||
#define RSLINK_PROCESS_NOTIFY_ALL -1
|
#define RSLINK_PROCESS_NOTIFY_ALL -1
|
||||||
|
|
||||||
@ -93,6 +93,8 @@ class RetroShareLink
|
|||||||
|
|
||||||
bool process(int flag);
|
bool process(int flag);
|
||||||
|
|
||||||
|
static int process(QStringList &urls, RetroShareLink::enumType type = RetroShareLink::TYPE_UNKNOWN, bool notify = true);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void fromString(const QString &url);
|
void fromString(const QString &url);
|
||||||
void fromUrl(const QUrl &url);
|
void fromUrl(const QUrl &url);
|
||||||
|
@ -42,33 +42,6 @@ void EmbedInHtmlImg::InitFromAwkwardHash(const QHash< QString, QString >& hash)
|
|||||||
myRE.setPattern(newRE);
|
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.
|
* Parses a DOM tree and replaces text by HTML tags.
|
||||||
* The tree is traversed depth-first, but only through children of Element type
|
* 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,out] currentElement The current node (which is of type Element)
|
||||||
* @param[in] embedInfos The regular expression and the type of embedding to use
|
* @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
|
if(embedInfos.myRE.pattern().length() == 0) // we'll get stuck with an empty regexp
|
||||||
return;
|
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
|
} // namespace RsHtml
|
||||||
|
@ -109,8 +109,7 @@ public:
|
|||||||
extern EmbedInHtmlImg defEmbedImg;
|
extern EmbedInHtmlImg defEmbedImg;
|
||||||
|
|
||||||
QString formatText(const QString &text, unsigned int flag);
|
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
|
} // namespace RsHtml
|
||||||
|
|
||||||
|
Binary file not shown.
@ -1063,7 +1063,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<translation>Alle als gelesen markieren</translation>
|
<translation>Alle als gelesen markieren</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+7"/>
|
<location line="+33"/>
|
||||||
<source>Enable Auto-download</source>
|
<source>Enable Auto-download</source>
|
||||||
<translation>Aktiviere Auto-Download</translation>
|
<translation>Aktiviere Auto-Download</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -1073,7 +1073,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<translation>Kanal erstellen</translation>
|
<translation>Kanal erstellen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-199"/>
|
<location line="-225"/>
|
||||||
<source>Unsubscribe</source>
|
<source>Unsubscribe</source>
|
||||||
<translation>Abbestellen</translation>
|
<translation>Abbestellen</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -2341,7 +2341,23 @@ p, li { white-space: pre-wrap; }
|
|||||||
<translation>Drag'n'Drop Dateien aus den Suchergebnissen</translation>
|
<translation>Drag'n'Drop Dateien aus den Suchergebnissen</translation>
|
||||||
</message>
|
</message>
|
||||||
<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>
|
<source>Add Extra File</source>
|
||||||
<translation>Zusätzlich eine Datei hinzufügen</translation>
|
<translation>Zusätzlich eine Datei hinzufügen</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -2538,17 +2554,17 @@ p, li { white-space: pre-wrap; }
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../gui/forums/CreateForumMsg.cpp" line="+88"/>
|
<location filename="../gui/forums/CreateForumMsg.cpp" line="+88"/>
|
||||||
<location line="+4"/>
|
<location line="+6"/>
|
||||||
<source>Drop file error.</source>
|
<source>Drop file error.</source>
|
||||||
<translation>Dateifehler bei Drag'n'Drop.</translation>
|
<translation>Dateifehler bei Drag'n'Drop.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-4"/>
|
<location line="+0"/>
|
||||||
<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="+4"/>
|
<location line="-6"/>
|
||||||
<source>Directory can't be dropped, only files are accepted.</source>
|
<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>
|
<translation>Ordner können nicht für Drag'n'Drop genutzt werden. Nur Dateien werden akzeptiert.</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3551,7 +3567,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<context>
|
<context>
|
||||||
<name>ForumMsgItem</name>
|
<name>ForumMsgItem</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../gui/feeds/ForumMsgItem.ui" line="+164"/>
|
<location filename="../gui/feeds/ForumMsgItem.ui" line="+266"/>
|
||||||
<source>Remove Item</source>
|
<source>Remove Item</source>
|
||||||
<translation>Eintrag entfernen</translation>
|
<translation>Eintrag entfernen</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3561,8 +3577,8 @@ p, li { white-space: pre-wrap; }
|
|||||||
<translation>Erweitern</translation>
|
<translation>Erweitern</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+57"/>
|
<location line="-85"/>
|
||||||
<location line="+182"/>
|
<location line="+189"/>
|
||||||
<location line="+167"/>
|
<location line="+167"/>
|
||||||
<source>Subject: </source>
|
<source>Subject: </source>
|
||||||
<translation>Betreff:</translation>
|
<translation>Betreff:</translation>
|
||||||
@ -3572,17 +3588,17 @@ p, li { white-space: pre-wrap; }
|
|||||||
<translation type="obsolete">Gehe zum Forumbeitrag</translation>
|
<translation type="obsolete">Gehe zum Forumbeitrag</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-287"/>
|
<location line="-311"/>
|
||||||
<source>Unsubscribe To Forum</source>
|
<source>Unsubscribe To Forum</source>
|
||||||
<translation>Forum abbestellen</translation>
|
<translation>Forum abbestellen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+36"/>
|
<location line="+20"/>
|
||||||
<source>Reply</source>
|
<source>Reply</source>
|
||||||
<translation>Antwort</translation>
|
<translation>Antwort</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+343"/>
|
<location line="+383"/>
|
||||||
<source>Send</source>
|
<source>Send</source>
|
||||||
<translation>Senden</translation>
|
<translation>Senden</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3592,7 +3608,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<translation>Unterzeichnen</translation>
|
<translation>Unterzeichnen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../gui/feeds/ForumMsgItem.cpp" line="+91"/>
|
<location filename="../gui/feeds/ForumMsgItem.cpp" line="+93"/>
|
||||||
<source>Forum Post</source>
|
<source>Forum Post</source>
|
||||||
<translation>Beitrag</translation>
|
<translation>Beitrag</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3672,7 +3688,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<context>
|
<context>
|
||||||
<name>ForumsDialog</name>
|
<name>ForumsDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../gui/ForumsDialog.cpp" line="+275"/>
|
<location filename="../gui/ForumsDialog.cpp" line="+276"/>
|
||||||
<source>Subscribe to Forum</source>
|
<source>Subscribe to Forum</source>
|
||||||
<translation>Forum abonnieren</translation>
|
<translation>Forum abonnieren</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3771,7 +3787,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<translation>keine</translation>
|
<translation>keine</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+542"/>
|
<location line="+556"/>
|
||||||
<location line="+81"/>
|
<location line="+81"/>
|
||||||
<source>RetroShare</source>
|
<source>RetroShare</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
@ -3787,7 +3803,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<translation>Du kannst einem anonymen Autor nicht antworten</translation>
|
<translation>Du kannst einem anonymen Autor nicht antworten</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-1363"/>
|
<location line="-1377"/>
|
||||||
<source>Your Forums</source>
|
<source>Your Forums</source>
|
||||||
<translation>Deine Foren</translation>
|
<translation>Deine Foren</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3864,24 +3880,24 @@ p, li { white-space: pre-wrap; }
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+36"/>
|
<location line="+36"/>
|
||||||
<location line="+276"/>
|
<location line="+296"/>
|
||||||
<source>Date</source>
|
<source>Date</source>
|
||||||
<translation>Datum</translation>
|
<translation>Datum</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-290"/>
|
<location line="-310"/>
|
||||||
<location line="+295"/>
|
<location line="+315"/>
|
||||||
<source>Title</source>
|
<source>Title</source>
|
||||||
<translation>Titel</translation>
|
<translation>Titel</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-276"/>
|
<location line="-296"/>
|
||||||
<location line="+281"/>
|
<location line="+301"/>
|
||||||
<source>Author</source>
|
<source>Author</source>
|
||||||
<translation>Autor</translation>
|
<translation>Autor</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-276"/>
|
<location line="-296"/>
|
||||||
<source>Signed</source>
|
<source>Signed</source>
|
||||||
<translation>Unterzeichnet</translation>
|
<translation>Unterzeichnet</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3909,7 +3925,12 @@ p, li { white-space: pre-wrap; }
|
|||||||
<translation>Nächster Beitrag</translation>
|
<translation>Nächster Beitrag</translation>
|
||||||
</message>
|
</message>
|
||||||
<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>
|
<source>Reply Message</source>
|
||||||
<translation>Auf Beitrag antworten</translation>
|
<translation>Auf Beitrag antworten</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3930,7 +3951,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../gui/ForumsDialog.cpp" line="+123"/>
|
<location filename="../gui/ForumsDialog.cpp" line="+123"/>
|
||||||
<location line="+1161"/>
|
<location line="+1175"/>
|
||||||
<source>Start New Thread</source>
|
<source>Start New Thread</source>
|
||||||
<translation>Erstelle neues Thema</translation>
|
<translation>Erstelle neues Thema</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3958,7 +3979,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<translation>Inhalt</translation>
|
<translation>Inhalt</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../gui/ForumsDialog.cpp" line="-1148"/>
|
<location filename="../gui/ForumsDialog.cpp" line="-1162"/>
|
||||||
<location line="+3"/>
|
<location line="+3"/>
|
||||||
<source>Mark as read</source>
|
<source>Mark as read</source>
|
||||||
<translation>Als gelesen markieren</translation>
|
<translation>Als gelesen markieren</translation>
|
||||||
@ -5633,7 +5654,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="+798"/>
|
<location filename="../gui/msgs/MessageComposer.cpp" line="+791"/>
|
||||||
<source>Compose</source>
|
<source>Compose</source>
|
||||||
<translation>Verfassen</translation>
|
<translation>Verfassen</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -5860,7 +5881,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="-1123"/>
|
<location filename="../gui/msgs/MessageComposer.cpp" line="-1116"/>
|
||||||
<source>&Left</source>
|
<source>&Left</source>
|
||||||
<translation>&Links</translation>
|
<translation>&Links</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -5880,7 +5901,7 @@ Bitte gib etwas Speicher frei und drücke OK.</translation>
|
|||||||
<translation>&Blocksatz</translation>
|
<translation>&Blocksatz</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+213"/>
|
<location line="+206"/>
|
||||||
<location line="+1605"/>
|
<location line="+1605"/>
|
||||||
<source>Save Message</source>
|
<source>Save Message</source>
|
||||||
<translation>Nachricht speichern</translation>
|
<translation>Nachricht speichern</translation>
|
||||||
@ -6217,12 +6238,12 @@ Willst Du die Nachricht speichern ?</translation>
|
|||||||
<translation>Von</translation>
|
<translation>Von</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+849"/>
|
<location line="+843"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation>Grösse</translation>
|
<translation>Grösse</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-452"/>
|
<location line="-446"/>
|
||||||
<source><html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
<source><html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||||
p, li { white-space: pre-wrap; }
|
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;">
|
</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>
|
<translation>Gesendet</translation>
|
||||||
</message>
|
</message>
|
||||||
<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>
|
<source>Cc:</source>
|
||||||
<translation>Cc:</translation>
|
<translation>Cc:</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -6384,13 +6410,13 @@ p, li { white-space: pre-wrap; }
|
|||||||
<translation>Dokument drucken</translation>
|
<translation>Dokument drucken</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../gui/MessagesDialog.ui" line="-910"/>
|
<location filename="../gui/MessagesDialog.ui" line="-904"/>
|
||||||
<location filename="../gui/MessagesDialog.cpp" line="-1585"/>
|
<location filename="../gui/MessagesDialog.cpp" line="-1585"/>
|
||||||
<source>Subject</source>
|
<source>Subject</source>
|
||||||
<translation>Betreff</translation>
|
<translation>Betreff</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+532"/>
|
<location line="+526"/>
|
||||||
<source>Subject:</source>
|
<source>Subject:</source>
|
||||||
<translation>Betreff:</translation>
|
<translation>Betreff:</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -6415,7 +6441,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<translation>Prüfsumme</translation>
|
<translation>Prüfsumme</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-999"/>
|
<location line="-993"/>
|
||||||
<source>Print</source>
|
<source>Print</source>
|
||||||
<translation>Drucken</translation>
|
<translation>Drucken</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -6476,15 +6502,14 @@ p, li { white-space: pre-wrap; }
|
|||||||
<translation>Allen antworten</translation>
|
<translation>Allen antworten</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../gui/MessagesDialog.ui" line="+603"/>
|
|
||||||
<source><html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
<source><html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||||
p, li { white-space: pre-wrap; }
|
p, li { white-space: pre-wrap; }
|
||||||
</style></head><body style=" font-family:'Arial'; font-size:8pt; font-weight:400; font-style:normal;">
|
</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>
|
<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>
|
||||||
<message>
|
<message>
|
||||||
<location line="-171"/>
|
<location filename="../gui/MessagesDialog.ui" line="+432"/>
|
||||||
<source>Total Inbox:</source>
|
<source>Total Inbox:</source>
|
||||||
<translation>Posteingang gesamt:</translation>
|
<translation>Posteingang gesamt:</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -8958,7 +8983,7 @@ Lockdatei:
|
|||||||
<translation>Vielleicht ist das Passwort falsch</translation>
|
<translation>Vielleicht ist das Passwort falsch</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../gui/RetroShareLink.cpp" line="+626"/>
|
<location filename="../gui/RetroShareLink.cpp" line="+657"/>
|
||||||
<source>File Request Confirmation</source>
|
<source>File Request Confirmation</source>
|
||||||
<translation>Bestätigung der Dateianforderung</translation>
|
<translation>Bestätigung der Dateianforderung</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -9043,12 +9068,26 @@ Lockdatei:
|
|||||||
<source>The receipient of the message is unknown.</source>
|
<source>The receipient of the message is unknown.</source>
|
||||||
<translation>Der Empfänger der Nachricht ist unbekannt.</translation>
|
<translation>Der Empfänger der Nachricht ist unbekannt.</translation>
|
||||||
</message>
|
</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>
|
<message>
|
||||||
<source>The forum message could not be found.</source>
|
<source>The forum message could not be found.</source>
|
||||||
<translation type="obsolete">Der Forumbeitrag "%1" konnte nicht gefunden werden.</translation>
|
<translation type="obsolete">Der Forumbeitrag "%1" konnte nicht gefunden werden.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-69"/>
|
<location line="-104"/>
|
||||||
<location line="+11"/>
|
<location line="+11"/>
|
||||||
<source>Channel Request canceled</source>
|
<source>Channel Request canceled</source>
|
||||||
<translation>Kanalanfrage abgebrochen</translation>
|
<translation>Kanalanfrage abgebrochen</translation>
|
||||||
@ -11989,7 +12028,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+7"/>
|
<location line="+7"/>
|
||||||
<location filename="../gui/TrustView.cpp" line="+241"/>
|
<location filename="../gui/TrustView.cpp" line="+243"/>
|
||||||
<source>Showing: whole network</source>
|
<source>Showing: whole network</source>
|
||||||
<translation>Anzeige: Ganzes Netzwerk</translation>
|
<translation>Anzeige: Ganzes Netzwerk</translation>
|
||||||
</message>
|
</message>
|
||||||
|
Loading…
Reference in New Issue
Block a user