Show count of unread NewsFeeds in the Friends Storm tab (without PeerItem's).

Fixed german language.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3773 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
thunder2 2010-11-10 12:24:36 +00:00
parent 90aa1e6fc0
commit a27855450f
10 changed files with 252 additions and 80 deletions

View File

@ -287,6 +287,7 @@ HEADERS += rshare.h \
gui/common/GroupDefs.h \ gui/common/GroupDefs.h \
gui/common/Emoticons.h \ gui/common/Emoticons.h \
gui/common/RSTreeWidgetItem.h \ gui/common/RSTreeWidgetItem.h \
gui/common/RSTabWidget.h \
gui/common/RSItemDelegate.h \ gui/common/RSItemDelegate.h \
gui/common/PeerDefs.h \ gui/common/PeerDefs.h \
gui/MessagesDialog.h \ gui/MessagesDialog.h \
@ -489,6 +490,7 @@ SOURCES += main.cpp \
gui/common/GroupDefs.cpp \ gui/common/GroupDefs.cpp \
gui/common/Emoticons.cpp \ gui/common/Emoticons.cpp \
gui/common/RSTreeWidgetItem.cpp \ gui/common/RSTreeWidgetItem.cpp \
gui/common/RSTabWidget.cpp \
gui/common/RSItemDelegate.cpp \ gui/common/RSItemDelegate.cpp \
gui/common/PeerDefs.cpp \ gui/common/PeerDefs.cpp \
gui/settings/rsharesettings.cpp \ gui/settings/rsharesettings.cpp \

View File

@ -162,6 +162,8 @@ void NewsFeed::addFeedItem(QWidget *item)
connect(item, SIGNAL(destroyed(QObject*)), this, SLOT(itemDestroyed(QObject*))); connect(item, SIGNAL(destroyed(QObject*)), this, SLOT(itemDestroyed(QObject*)));
widgetList.push_back(item); widgetList.push_back(item);
sendNewsFeedChanged();
if (Settings->getAddFeedsAtEnd()) { if (Settings->getAddFeedsAtEnd()) {
verticalLayout->addWidget(item); verticalLayout->addWidget(item);
} else { } else {
@ -452,6 +454,8 @@ void NewsFeed::itemDestroyed(QObject *item)
if (index >= 0) { if (index >= 0) {
widgetList.removeAt(index); widgetList.removeAt(index);
} }
sendNewsFeedChanged();
} }
void NewsFeed::removeAll() void NewsFeed::removeAll()
@ -468,3 +472,18 @@ void NewsFeed::removeAll()
} }
} }
} }
void NewsFeed::sendNewsFeedChanged()
{
int count = 0;
QObjectList::iterator it;
for (it = widgetList.begin(); it != widgetList.end(); it++) {
if (dynamic_cast<PeerItem*>(*it) == NULL) {
/* don't count PeerItem's */
count++;
}
}
emit newsFeedChanged(count);
}

View File

@ -45,6 +45,9 @@ public:
virtual void deleteFeedItem(QWidget *item, uint32_t type); virtual void deleteFeedItem(QWidget *item, uint32_t type);
virtual void openChat(std::string peerId); virtual void openChat(std::string peerId);
signals:
void newsFeedChanged(int count);
private slots: private slots:
// void toggleChanMsgItems(bool on); // void toggleChanMsgItems(bool on);
@ -71,6 +74,8 @@ private:
void addFeedItemMessage(RsFeedItem &fi); void addFeedItemMessage(RsFeedItem &fi);
void addFeedItemFilesNew(RsFeedItem &fi); void addFeedItemFilesNew(RsFeedItem &fi);
void sendNewsFeedChanged();
QLayout *mLayout; QLayout *mLayout;
QObjectList widgetList; QObjectList widgetList;

View File

@ -90,6 +90,8 @@
#define IMAGE_REMOVE ":/images/delete.png" #define IMAGE_REMOVE ":/images/delete.png"
#define IMAGE_EXPAND ":/images/edit_add24.png" #define IMAGE_EXPAND ":/images/edit_add24.png"
#define IMAGE_COLLAPSE ":/images/edit_remove24.png" #define IMAGE_COLLAPSE ":/images/edit_remove24.png"
#define IMAGE_NEWSFEED ""
#define IMAGE_NEWSFEED_NEW ":/images/message-state-new.png"
#define COLUMN_COUNT 3 #define COLUMN_COUNT 3
#define COLUMN_NAME 0 #define COLUMN_NAME 0
@ -140,8 +142,16 @@ PeersDialog::PeersDialog(QWidget *parent)
connect(ui.action_Hide_Status_Column, SIGNAL(triggered()), this, SLOT(statusColumn())); connect(ui.action_Hide_Status_Column, SIGNAL(triggered()), this, SLOT(statusColumn()));
ui.peertabWidget->setTabPosition(QTabWidget::North); ui.peertabWidget->setTabPosition(QTabWidget::North);
ui.peertabWidget->addTab(new ProfileWidget(),QString(tr("Profile"))); ui.peertabWidget->addTab(new ProfileWidget(), tr("Profile"));
ui.peertabWidget->addTab(new NewsFeed(),QString(tr("Friends Storm"))); NewsFeed *newsFeed = new NewsFeed();
newsFeedTabIndex = ui.peertabWidget->addTab(newsFeed, tr("Friends Storm"));
ui.peertabWidget->tabBar()->setIconSize(QSize(10, 10));
/* get the current text and text color of the tab bar */
newsFeedTabColor = ui.peertabWidget->tabBar()->tabTextColor(newsFeedTabIndex);
newsFeedText = ui.peertabWidget->tabBar()->tabText(newsFeedTabIndex);
connect(newsFeed, SIGNAL(newsFeedChanged(int)), this, SLOT(newsFeedChanged(int)));
ui.peertreeWidget->setColumnCount(4); ui.peertreeWidget->setColumnCount(4);
ui.peertreeWidget->setColumnHidden ( 3, true); ui.peertreeWidget->setColumnHidden ( 3, true);
@ -2153,3 +2163,16 @@ void PeersDialog::groupsChanged(int type)
groupsHasChanged = true; groupsHasChanged = true;
} }
void PeersDialog::newsFeedChanged(int count)
{
if (count) {
ui.peertabWidget->tabBar()->setTabText(newsFeedTabIndex, QString("%1 (%2)").arg(newsFeedText).arg(count));
ui.peertabWidget->tabBar()->setTabTextColor(newsFeedTabIndex, Qt::blue);
ui.peertabWidget->tabBar()->setTabIcon(newsFeedTabIndex, QIcon(IMAGE_NEWSFEED_NEW));
} else {
ui.peertabWidget->tabBar()->setTabText(newsFeedTabIndex, newsFeedText);
ui.peertabWidget->tabBar()->setTabTextColor(newsFeedTabIndex, newsFeedTabColor);
ui.peertabWidget->tabBar()->setTabIcon(newsFeedTabIndex, QIcon(IMAGE_NEWSFEED));
}
}

View File

@ -166,6 +166,8 @@ private slots:
void displayMenu(); void displayMenu();
void statusColumn(); void statusColumn();
void newsFeedChanged(int count);
signals: signals:
void friendsUpdated() ; void friendsUpdated() ;
void notifyGroupChat(const QString&,const QString&) ; void notifyGroupChat(const QString&,const QString&) ;
@ -208,6 +210,10 @@ private:
QFont mCurrentFont; /* how the text will come out */ QFont mCurrentFont; /* how the text will come out */
int newsFeedTabIndex;
QColor newsFeedTabColor;
QString newsFeedText;
/** Qt Designer generated object */ /** Qt Designer generated object */
Ui::PeersDialog ui; Ui::PeersDialog ui;
}; };

View File

@ -893,7 +893,7 @@ p, li { white-space: pre-wrap; }
</widget> </widget>
</item> </item>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QTabWidget" name="peertabWidget"> <widget class="RSTabWidget" name="peertabWidget">
<property name="currentIndex"> <property name="currentIndex">
<number>0</number> <number>0</number>
</property> </property>
@ -1518,6 +1518,14 @@ p, li { white-space: pre-wrap; }
</property> </property>
</action> </action>
</widget> </widget>
<customwidgets>
<customwidget>
<class>RSTabWidget</class>
<extends>QTabWidget</extends>
<header>gui/common/RSTabWidget.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources> <resources>
<include location="images.qrc"/> <include location="images.qrc"/>
</resources> </resources>

View File

@ -0,0 +1,31 @@
/****************************************************************
* This file is distributed under the following license:
*
* Copyright (c) 2010, RetroShare Team
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
****************************************************************/
#include "RSTabWidget.h"
RSTabWidget::RSTabWidget(QWidget *parent) : QTabWidget(parent)
{
}
QTabBar *RSTabWidget::tabBar() const
{
return QTabWidget::tabBar();
};

View File

@ -0,0 +1,37 @@
/****************************************************************
* This file is distributed under the following license:
*
* Copyright (c) 2010, RetroShare Team
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
****************************************************************/
#ifndef _RSTABWIDGET_H
#define _RSTABWIDGET_H
#include <QTabWidget>
/* Subclassing QTabWidget to get the instance of QTabBar. The base method of QTabWidget is protected. */
class RSTabWidget : public QTabWidget
{
public:
RSTabWidget(QWidget *parent = 0);
public:
QTabBar *tabBar() const;
};
#endif

View File

@ -1026,12 +1026,12 @@ p, li { white-space: pre-wrap; }
<message> <message>
<location line="-122"/> <location line="-122"/>
<source>Reset</source> <source>Reset</source>
<translation type="unfinished">Zurücksetzen</translation> <translation>Zurücksetzen</translation>
</message> </message>
<message> <message>
<location line="-38"/> <location line="-38"/>
<source>Enter a Keyword here</source> <source>Enter a Keyword here</source>
<translation type="unfinished">Geben sie einen Suchbegriff ein</translation> <translation>Geben sie einen Suchbegriff ein</translation>
</message> </message>
<message> <message>
<location line="+502"/> <location line="+502"/>
@ -1051,12 +1051,12 @@ p, li { white-space: pre-wrap; }
<message> <message>
<location line="-391"/> <location line="-391"/>
<source>Title</source> <source>Title</source>
<translation type="unfinished">Titel</translation> <translation>Titel</translation>
</message> </message>
<message> <message>
<location line="+5"/> <location line="+5"/>
<source>Description</source> <source>Description</source>
<translation type="unfinished">Beschreibung</translation> <translation>Beschreibung</translation>
</message> </message>
<message> <message>
<location line="+411"/> <location line="+411"/>
@ -1084,7 +1084,7 @@ p, li { white-space: pre-wrap; }
<translation>Beliebtheit</translation> <translation>Beliebtheit</translation>
</message> </message>
<message> <message>
<location line="+18"/> <location line="+21"/>
<source>Own Channels</source> <source>Own Channels</source>
<translation>Meine Kanäle</translation> <translation>Meine Kanäle</translation>
</message> </message>
@ -1104,13 +1104,13 @@ p, li { white-space: pre-wrap; }
<translation>Andere Kanäle</translation> <translation>Andere Kanäle</translation>
</message> </message>
<message> <message>
<location line="+410"/> <location line="+408"/>
<source>Popularity: %1</source> <source>Popularity: %1</source>
<translation type="unfinished"></translation> <translation>Beliebtheit: %1</translation>
</message> </message>
<message> <message>
<location filename="../gui/ChannelFeed.ui" line="-162"/> <location filename="../gui/ChannelFeed.ui" line="-162"/>
<location filename="../gui/ChannelFeed.cpp" line="-372"/> <location filename="../gui/ChannelFeed.cpp" line="-370"/>
<source>Post to Channel</source> <source>Post to Channel</source>
<translation>Kanalbeitrag erstellen</translation> <translation>Kanalbeitrag erstellen</translation>
</message> </message>
@ -1143,12 +1143,12 @@ Abgeholt: %2
Verfügbar: %3</translation> Verfügbar: %3</translation>
</message> </message>
<message> <message>
<location line="+484"/> <location line="+482"/>
<source>No Channel Selected</source> <source>No Channel Selected</source>
<translation>Keinen Kanal gewählt</translation> <translation>Keinen Kanal gewählt</translation>
</message> </message>
<message> <message>
<location line="-490"/> <location line="-488"/>
<source>Restore Publish Rights for Channel</source> <source>Restore Publish Rights for Channel</source>
<translation>Stelle Veröffentlichungsrechte für Kanal wieder her</translation> <translation>Stelle Veröffentlichungsrechte für Kanal wieder her</translation>
</message> </message>
@ -2177,7 +2177,7 @@ Möchten Sie die Änderungen speichern?</translation>
<translation>Erstellen</translation> <translation>Erstellen</translation>
</message> </message>
<message> <message>
<location filename="../gui/channels/CreateChannel.cpp" line="+163"/> <location filename="../gui/channels/CreateChannel.cpp" line="+164"/>
<source>RetroShare</source> <source>RetroShare</source>
<translation></translation> <translation></translation>
</message> </message>
@ -2278,28 +2278,28 @@ p, li { white-space: pre-wrap; }
<translation>Drag&apos;n&apos;Drop Dateien aus den Suchergebnissen</translation> <translation>Drag&apos;n&apos;Drop Dateien aus den Suchergebnissen</translation>
</message> </message>
<message> <message>
<location filename="../gui/channels/CreateChannelMsg.cpp" line="+285"/> <location filename="../gui/channels/CreateChannelMsg.cpp" line="+286"/>
<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>
<message> <message>
<location line="+26"/> <location line="+26"/>
<location line="+152"/> <location line="+149"/>
<source>RetroShare</source> <source>RetroShare</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location line="-151"/> <location line="-148"/>
<source>File already Added and Hashed</source> <source>File already Added and Hashed</source>
<translation type="unfinished"></translation> <translation>Datei wurde schon hinzugefügt und gehasht</translation>
</message> </message>
<message> <message>
<location line="+152"/> <location line="+149"/>
<source>Please add a Subject</source> <source>Please add a Subject</source>
<translation>Bitte Subjekt nicht vergessen</translation> <translation>Bitte Subjekt nicht vergessen</translation>
</message> </message>
<message> <message>
<location line="+46"/> <location line="+40"/>
<source>Load File</source> <source>Load File</source>
<translation>Lade Datei</translation> <translation>Lade Datei</translation>
</message> </message>
@ -2385,7 +2385,7 @@ p, li { white-space: pre-wrap; }
<translation>Erstellen</translation> <translation>Erstellen</translation>
</message> </message>
<message> <message>
<location filename="../gui/forums/CreateForum.cpp" line="+76"/> <location filename="../gui/forums/CreateForum.cpp" line="+78"/>
<source>RetroShare</source> <source>RetroShare</source>
<translation></translation> <translation></translation>
</message> </message>
@ -2438,7 +2438,7 @@ p, li { white-space: pre-wrap; }
<translation>Erstelle Forumbeitrag</translation> <translation>Erstelle Forumbeitrag</translation>
</message> </message>
<message> <message>
<location filename="../gui/forums/CreateForumMsg.cpp" line="+70"/> <location filename="../gui/forums/CreateForumMsg.cpp" line="+71"/>
<source>Paste retroshare Link</source> <source>Paste retroshare Link</source>
<translation>RetroShare Link einfügen</translation> <translation>RetroShare Link einfügen</translation>
</message> </message>
@ -2448,7 +2448,7 @@ p, li { white-space: pre-wrap; }
<translation>Vollen RetroShare Link einfügen</translation> <translation>Vollen RetroShare Link einfügen</translation>
</message> </message>
<message> <message>
<location line="+29"/> <location line="+30"/>
<source>In Reply to</source> <source>In Reply to</source>
<translation>Als Antwort auf</translation> <translation>Als Antwort auf</translation>
</message> </message>
@ -2531,7 +2531,7 @@ p, li { white-space: pre-wrap; }
<translation>Gib einen Namen für Deine Gruppe ein</translation> <translation>Gib einen Namen für Deine Gruppe ein</translation>
</message> </message>
<message> <message>
<location filename="../gui/groups/CreateGroup.cpp" line="+44"/> <location filename="../gui/groups/CreateGroup.cpp" line="+46"/>
<source>Edit Group</source> <source>Edit Group</source>
<translation>Gruppe ändern</translation> <translation>Gruppe ändern</translation>
</message> </message>
@ -2847,7 +2847,8 @@ p, li { white-space: pre-wrap; }
This might be useful if you&apos;re sharing an This might be useful if you&apos;re sharing an
external HD, to avoid re-hashing files when external HD, to avoid re-hashing files when
you plug it in.</source> you plug it in.</source>
<translation type="unfinished"></translation> <translation type="unfinished">Merke Hashs von Dateien auch wenn sie nicht mehr freigegeben sind.
Das ist nützlich, wenn Du eine externe Festplatte freigibst und die Datei nicht neu eingelesen werden sollen, wenn Du sie ansteckst.</translation>
</message> </message>
<message> <message>
<location line="+6"/> <location line="+6"/>
@ -2923,7 +2924,7 @@ you plug it in.</source>
<translation>Kanal Logo hinzufügen</translation> <translation>Kanal Logo hinzufügen</translation>
</message> </message>
<message> <message>
<location filename="../gui/channels/EditChanDetails.cpp" line="+139"/> <location filename="../gui/channels/EditChanDetails.cpp" line="+140"/>
<source>Load File</source> <source>Load File</source>
<translation>Lade Datei</translation> <translation>Lade Datei</translation>
</message> </message>
@ -3503,7 +3504,7 @@ p, li { white-space: pre-wrap; }
<context> <context>
<name>ForumsDialog</name> <name>ForumsDialog</name>
<message> <message>
<location filename="../gui/ForumsDialog.cpp" line="+346"/> <location filename="../gui/ForumsDialog.cpp" line="+323"/>
<source>Subscribe to Forum</source> <source>Subscribe to Forum</source>
<translation>Forum abonnieren</translation> <translation>Forum abonnieren</translation>
</message> </message>
@ -3565,7 +3566,7 @@ p, li { white-space: pre-wrap; }
<translation>Beliebtheit:</translation> <translation>Beliebtheit:</translation>
</message> </message>
<message> <message>
<location line="+327"/> <location line="+326"/>
<location line="+107"/> <location line="+107"/>
<source>Anonymous</source> <source>Anonymous</source>
<translation>Anonym</translation> <translation>Anonym</translation>
@ -3599,7 +3600,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="-1486"/> <location line="-1485"/>
<source>Your Forums</source> <source>Your Forums</source>
<translation>Deine Foren</translation> <translation>Deine Foren</translation>
</message> </message>
@ -3742,7 +3743,7 @@ p, li { white-space: pre-wrap; }
</message> </message>
<message> <message>
<location filename="../gui/ForumsDialog.cpp" line="+127"/> <location filename="../gui/ForumsDialog.cpp" line="+127"/>
<location line="+1252"/> <location line="+1251"/>
<source>Start New Thread</source> <source>Start New Thread</source>
<translation>Erstelle neues Thema</translation> <translation>Erstelle neues Thema</translation>
</message> </message>
@ -3770,7 +3771,7 @@ p, li { white-space: pre-wrap; }
<translation>Inhalt</translation> <translation>Inhalt</translation>
</message> </message>
<message> <message>
<location filename="../gui/ForumsDialog.cpp" line="-1239"/> <location filename="../gui/ForumsDialog.cpp" line="-1238"/>
<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>
@ -4254,12 +4255,7 @@ Fill in your GPG password when asked, to sign your new key.</source>
<context> <context>
<name>GraphWidget</name> <name>GraphWidget</name>
<message> <message>
<location filename="../gui/elastic/graphwidget.cpp" line="+142"/> <location filename="../gui/elastic/graphwidget.cpp" line="+374"/>
<source>Elastic Nodes</source>
<translation></translation>
</message>
<message>
<location line="+232"/>
<source>Click and drag the nodes around, and zoom with the mouse wheel or the &apos;+&apos; and &apos;-&apos; keys</source> <source>Click and drag the nodes around, and zoom with the mouse wheel or the &apos;+&apos; and &apos;-&apos; keys</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -4267,7 +4263,7 @@ Fill in your GPG password when asked, to sign your new key.</source>
<context> <context>
<name>GroupDefs</name> <name>GroupDefs</name>
<message> <message>
<location filename="../gui/common/GroupDefs.cpp" line="+38"/> <location filename="../gui/common/GroupDefs.cpp" line="+39"/>
<source>Friends</source> <source>Friends</source>
<translation>Freunde</translation> <translation>Freunde</translation>
</message> </message>
@ -5042,7 +5038,7 @@ p, li { white-space: pre-wrap; }
<message> <message>
<location line="+28"/> <location line="+28"/>
<source>Add new link</source> <source>Add new link</source>
<translation type="unfinished"></translation> <translation>Neuen Link hinzufügen</translation>
</message> </message>
<message> <message>
<location line="-463"/> <location line="-463"/>
@ -5191,14 +5187,14 @@ p, li { white-space: pre-wrap; }
<location line="+24"/> <location line="+24"/>
<location line="+24"/> <location line="+24"/>
<source>You have %1 new messages</source> <source>You have %1 new messages</source>
<translation>Du hast %1 neue Beiträge</translation> <translation>Du hast %1 neue Nachrichten</translation>
</message> </message>
<message> <message>
<location line="-46"/> <location line="-46"/>
<location line="+24"/> <location line="+24"/>
<location line="+24"/> <location line="+24"/>
<source>You have %1 new message</source> <source>You have %1 new message</source>
<translation>Du hast %1 neuen Beitrag</translation> <translation>Du hast %1 neue Nachricht</translation>
</message> </message>
<message> <message>
<location line="+310"/> <location line="+310"/>
@ -5871,7 +5867,7 @@ Willst Du die Nachricht speichern ?</translation>
<name>MessagesDialog</name> <name>MessagesDialog</name>
<message> <message>
<location filename="../gui/MessagesDialog.ui" line="+573"/> <location filename="../gui/MessagesDialog.ui" line="+573"/>
<location filename="../gui/MessagesDialog.cpp" line="+696"/> <location filename="../gui/MessagesDialog.cpp" line="+669"/>
<source>New Message</source> <source>New Message</source>
<translation>Neue Nachricht</translation> <translation>Neue Nachricht</translation>
</message> </message>
@ -5887,14 +5883,14 @@ Willst Du die Nachricht speichern ?</translation>
</message> </message>
<message> <message>
<location filename="../gui/MessagesDialog.ui" line="+372"/> <location filename="../gui/MessagesDialog.ui" line="+372"/>
<location filename="../gui/MessagesDialog.cpp" line="-372"/> <location filename="../gui/MessagesDialog.cpp" line="-374"/>
<source>Date</source> <source>Date</source>
<translation>Datum</translation> <translation>Datum</translation>
</message> </message>
<message> <message>
<location line="-5"/> <location line="-5"/>
<location filename="../gui/MessagesDialog.cpp" line="-1"/> <location filename="../gui/MessagesDialog.cpp" line="-1"/>
<location line="+841"/> <location line="+843"/>
<source>From</source> <source>From</source>
<translation>Von</translation> <translation>Von</translation>
</message> </message>
@ -6067,7 +6063,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="-1572"/> <location filename="../gui/MessagesDialog.cpp" line="-1574"/>
<source>Subject</source> <source>Subject</source>
<translation>Betreff</translation> <translation>Betreff</translation>
</message> </message>
@ -6106,7 +6102,7 @@ p, li { white-space: pre-wrap; }
<translation>Drucken</translation> <translation>Drucken</translation>
</message> </message>
<message> <message>
<location filename="../gui/MessagesDialog.cpp" line="+54"/> <location filename="../gui/MessagesDialog.cpp" line="+56"/>
<source>Forward selected Message</source> <source>Forward selected Message</source>
<translation>Gewählte Nachricht weiterleiten</translation> <translation>Gewählte Nachricht weiterleiten</translation>
</message> </message>
@ -6166,7 +6162,7 @@ p, li { white-space: pre-wrap; }
</message> </message>
<message> <message>
<location line="-274"/> <location line="-274"/>
<location filename="../gui/MessagesDialog.cpp" line="-322"/> <location filename="../gui/MessagesDialog.cpp" line="-324"/>
<source>Content</source> <source>Content</source>
<translation>Inhalt</translation> <translation>Inhalt</translation>
</message> </message>
@ -6174,7 +6170,7 @@ p, li { white-space: pre-wrap; }
<location line="+5"/> <location line="+5"/>
<location line="+8"/> <location line="+8"/>
<location filename="../gui/MessagesDialog.cpp" line="-1"/> <location filename="../gui/MessagesDialog.cpp" line="-1"/>
<location line="+176"/> <location line="+178"/>
<source>Tags</source> <source>Tags</source>
<translation>Schlagwörter</translation> <translation>Schlagwörter</translation>
</message> </message>
@ -6742,17 +6738,17 @@ p, li { white-space: pre-wrap; }
<message> <message>
<location line="+4"/> <location line="+4"/>
<source>UPNP not found or not enabled.</source> <source>UPNP not found or not enabled.</source>
<translation type="unfinished"></translation> <translation>UPNP wurde nicht gefunden oder ist nicht aktiviert.</translation>
</message> </message>
<message> <message>
<location line="+5"/> <location line="+5"/>
<source>DHT is running.</source> <source>DHT is running.</source>
<translation type="unfinished"></translation> <translation>DHT ist gestartet.</translation>
</message> </message>
<message> <message>
<location line="+4"/> <location line="+4"/>
<source>DHT is off.</source> <source>DHT is off.</source>
<translation type="unfinished"></translation> <translation>DHT ist ausgeschaltet.</translation>
</message> </message>
<message> <message>
<source>UPNP NOT FOUND.</source> <source>UPNP NOT FOUND.</source>
@ -7293,12 +7289,12 @@ p, li { white-space: pre-wrap; }
<context> <context>
<name>PeersDialog</name> <name>PeersDialog</name>
<message> <message>
<location filename="../gui/PeersDialog.cpp" line="+428"/> <location filename="../gui/PeersDialog.cpp" line="+438"/>
<source>Chat</source> <source>Chat</source>
<translation>Chat</translation> <translation>Chat</translation>
</message> </message>
<message> <message>
<location line="+673"/> <location line="+674"/>
<source>Save Certificate</source> <source>Save Certificate</source>
<translation>Zertifikat speichern</translation> <translation>Zertifikat speichern</translation>
</message> </message>
@ -7313,17 +7309,17 @@ p, li { white-space: pre-wrap; }
<translation>Status</translation> <translation>Status</translation>
</message> </message>
<message> <message>
<location filename="../gui/PeersDialog.cpp" line="-661"/> <location filename="../gui/PeersDialog.cpp" line="-662"/>
<source>Connect To Friend</source> <source>Connect To Friend</source>
<translation>Verbinde zum Freund</translation> <translation>Verbinde zum Freund</translation>
</message> </message>
<message> <message>
<location line="-298"/> <location line="-306"/>
<source>Profile</source> <source>Profile</source>
<translation>Profil</translation> <translation>Profil</translation>
</message> </message>
<message> <message>
<location line="+20"/> <location line="+28"/>
<source>Paste retroshare Link</source> <source>Paste retroshare Link</source>
<translation>RetroShare Link einfügen</translation> <translation>RetroShare Link einfügen</translation>
</message> </message>
@ -7418,7 +7414,7 @@ p, li { white-space: pre-wrap; }
<translation>Verfügbar</translation> <translation>Verfügbar</translation>
</message> </message>
<message> <message>
<location line="+421"/> <location line="+422"/>
<location line="+2"/> <location line="+2"/>
<source>New group chat</source> <source>New group chat</source>
<translation>Neuer Gruppenchat</translation> <translation>Neuer Gruppenchat</translation>
@ -7537,7 +7533,7 @@ p, li { white-space: pre-wrap; }
</message> </message>
<message> <message>
<location line="-107"/> <location line="-107"/>
<location filename="../gui/PeersDialog.cpp" line="-1491"/> <location filename="../gui/PeersDialog.cpp" line="-1492"/>
<source>Add Friend</source> <source>Add Friend</source>
<translation>Freund hinzufügen</translation> <translation>Freund hinzufügen</translation>
</message> </message>
@ -7592,12 +7588,12 @@ p, li { white-space: pre-wrap; }
</message> </message>
<message> <message>
<location filename="../gui/PeersDialog.cpp" line="-40"/> <location filename="../gui/PeersDialog.cpp" line="-40"/>
<location line="+845"/> <location line="+846"/>
<source>RetroShare</source> <source>RetroShare</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location line="-806"/> <location line="-807"/>
<source>Message Group</source> <source>Message Group</source>
<translation>Gruppe anschreiben</translation> <translation>Gruppe anschreiben</translation>
</message> </message>
@ -7612,7 +7608,7 @@ p, li { white-space: pre-wrap; }
<translation>Gruppe entfernen</translation> <translation>Gruppe entfernen</translation>
</message> </message>
<message> <message>
<location line="+798"/> <location line="+799"/>
<source>Do you want to remove this Friend?</source> <source>Do you want to remove this Friend?</source>
<translation>Willst du diesen Freund entfernen?</translation> <translation>Willst du diesen Freund entfernen?</translation>
</message> </message>
@ -7650,12 +7646,12 @@ 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="-1820"/> <location filename="../gui/PeersDialog.cpp" line="-1828"/>
<source>Friends Storm</source> <source>Friends Storm</source>
<translation>Aktivitäten</translation> <translation>Aktivitäten</translation>
</message> </message>
<message> <message>
<location line="+1160"/> <location line="+1168"/>
<source>is typing...</source> <source>is typing...</source>
<translation>tippt...</translation> <translation>tippt...</translation>
</message> </message>
@ -7675,7 +7671,7 @@ p, li { white-space: pre-wrap; }
<translation>Freunde</translation> <translation>Freunde</translation>
</message> </message>
<message> <message>
<location filename="../gui/PeersDialog.cpp" line="-861"/> <location filename="../gui/PeersDialog.cpp" line="-862"/>
<location line="+80"/> <location line="+80"/>
<source>Paste Friend Link</source> <source>Paste Friend Link</source>
<translation>RetroShare Link einfügen</translation> <translation>RetroShare Link einfügen</translation>
@ -8516,7 +8512,20 @@ p, li { white-space: pre-wrap; }
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt; color:#76746c;&quot;&gt;Online seit:&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation> &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt; color:#76746c;&quot;&gt;Online seit:&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location line="-87"/> <location line="+244"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt; color:#76746c;&quot;&gt;Dynamic DNS:&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt; color:#76746c;&quot;&gt;Dynamisches DNS:&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location line="-331"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; } p, li { white-space: pre-wrap; }
@ -8581,20 +8590,19 @@ p, li { white-space: pre-wrap; }
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt; color:#76746c;&quot;&gt;Externe Adresse:&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation> &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt; color:#76746c;&quot;&gt;Externe Adresse:&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location line="+78"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; } p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans&apos;; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt; &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans&apos;; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8pt; color:#76746c;&quot;&gt;Dynamic DSN:&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8pt; color:#76746c;&quot;&gt;Dynamic DSN:&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; <translation type="obsolete">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; } p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans&apos;; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt; &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans&apos;; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8pt; color:#76746c;&quot;&gt;Dynamisches DSN:&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation> &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8pt; color:#76746c;&quot;&gt;Dynamisches DSN:&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<location line="+41"/> <location line="+119"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; } p, li { white-space: pre-wrap; }
@ -8724,6 +8732,21 @@ p, li { white-space: pre-wrap; }
<source>Process of RetroShare links is not implemented. Please use copy instead.</source> <source>Process of RetroShare links is not implemented. Please use copy instead.</source>
<translation>Die Verarbeitung der Links ist noch nicht implementiert. Bitte kopiere den Link stattdessen.</translation> <translation>Die Verarbeitung der Links ist noch nicht implementiert. Bitte kopiere den Link stattdessen.</translation>
</message> </message>
<message>
<location filename="../gui/elastic/node.cpp" line="+317"/>
<source>Deny friend</source>
<translation type="unfinished">Blockiere Freund</translation>
</message>
<message>
<location line="+2"/>
<source>Make friend</source>
<translation type="unfinished">Freund hinzufügen</translation>
</message>
<message>
<location line="+2"/>
<source>Peer details</source>
<translation type="unfinished">Nachbar Details</translation>
</message>
</context> </context>
<context> <context>
<name>QuickStartWizard</name> <name>QuickStartWizard</name>
@ -8743,21 +8766,21 @@ p, li { white-space: pre-wrap; }
</message> </message>
<message> <message>
<location line="+120"/> <location line="+120"/>
<location line="+259"/> <location line="+269"/>
<location line="+235"/> <location line="+235"/>
<source>Next &gt;</source> <source>Next &gt;</source>
<translation>Weiter &gt;</translation> <translation>Weiter &gt;</translation>
</message> </message>
<message> <message>
<location line="-484"/> <location line="-494"/>
<location line="+259"/> <location line="+269"/>
<location line="+235"/> <location line="+235"/>
<location line="+178"/> <location line="+178"/>
<source>Exit</source> <source>Exit</source>
<translation>Beenden</translation> <translation>Beenden</translation>
</message> </message>
<message> <message>
<location line="-612"/> <location line="-622"/>
<source>For best performance, RetroShare needs to know a little about your connection to the internet.</source> <source>For best performance, RetroShare needs to know a little about your connection to the internet.</source>
<translation>Für die beste Leistung muss RetroShare ein wenig über Ihre Internetverbindung erfahren.</translation> <translation>Für die beste Leistung muss RetroShare ein wenig über Ihre Internetverbindung erfahren.</translation>
</message> </message>
@ -8803,17 +8826,15 @@ p, li { white-space: pre-wrap; }
<translation>Entdeckung :</translation> <translation>Entdeckung :</translation>
</message> </message>
<message> <message>
<location line="+8"/>
<source>Share Ip and information with your friend (Disc On)</source> <source>Share Ip and information with your friend (Disc On)</source>
<translation>Teile IP und Informationen mit Freunden (Disc On)</translation> <translation type="obsolete">Teile IP und Informationen mit Freunden (Disc On)</translation>
</message> </message>
<message> <message>
<location line="+5"/>
<source>Don&apos;t share any information (Disc Off)</source> <source>Don&apos;t share any information (Disc Off)</source>
<translation>Teile keine Informationen (Disc Off)</translation> <translation type="obsolete">Teile keine Informationen (Disc Off)</translation>
</message> </message>
<message> <message>
<location line="+71"/> <location line="+94"/>
<location line="+235"/> <location line="+235"/>
<location line="+178"/> <location line="+178"/>
<source>&lt; Back</source> <source>&lt; Back</source>
@ -8900,7 +8921,7 @@ p, li { white-space: pre-wrap; }
<translation>Ende</translation> <translation>Ende</translation>
</message> </message>
<message> <message>
<location filename="../gui/QuickStartWizard.cpp" line="+193"/> <location filename="../gui/QuickStartWizard.cpp" line="+204"/>
<source>Select A Folder To Share</source> <source>Select A Folder To Share</source>
<translation>Wählen Sie ein Ordner zum Freigeben</translation> <translation>Wählen Sie ein Ordner zum Freigeben</translation>
</message> </message>
@ -8920,7 +8941,7 @@ p, li { white-space: pre-wrap; }
<translation>Warnung!</translation> <translation>Warnung!</translation>
</message> </message>
<message> <message>
<location filename="../gui/QuickStartWizard.ui" line="-738"/> <location filename="../gui/QuickStartWizard.ui" line="-748"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; } p, li { white-space: pre-wrap; }
@ -8941,7 +8962,27 @@ p, li { white-space: pre-wrap; }
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location line="+255"/> <location line="+242"/>
<source>Public: DHT &amp; Discovery</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>Private: Discovery Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>Inverted: DHT Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>Dark Net: None</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Dynamic DNS:</source> <source>Dynamic DNS:</source>
<translation>Dynamisches DNS:</translation> <translation>Dynamisches DNS:</translation>
</message> </message>