mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-02-26 09:41:29 -05:00
Added multiselective mute/unmute to chat lobby.
Added mute/unmute with double click on icon. git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5830 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
182792e538
commit
3521bfb6de
@ -37,6 +37,10 @@
|
|||||||
|
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
|
#define COLUMN_ICON 0
|
||||||
|
#define COLUMN_NAME 1
|
||||||
|
#define COLUMN_COUNT 2
|
||||||
|
|
||||||
/** Default constructor */
|
/** Default constructor */
|
||||||
ChatLobbyDialog::ChatLobbyDialog(const ChatLobbyId& lid, QWidget *parent, Qt::WFlags flags)
|
ChatLobbyDialog::ChatLobbyDialog(const ChatLobbyId& lid, QWidget *parent, Qt::WFlags flags)
|
||||||
: ChatDialog(parent, flags), lobbyId(lid)
|
: ChatDialog(parent, flags), lobbyId(lid)
|
||||||
@ -47,8 +51,10 @@ ChatLobbyDialog::ChatLobbyDialog(const ChatLobbyId& lid, QWidget *parent, Qt::WF
|
|||||||
connect(ui.participantsFrameButton, SIGNAL(toggled(bool)), this, SLOT(showParticipantsFrame(bool)));
|
connect(ui.participantsFrameButton, SIGNAL(toggled(bool)), this, SLOT(showParticipantsFrame(bool)));
|
||||||
connect(ui.actionChangeNickname, SIGNAL(triggered()), this, SLOT(changeNickname()));
|
connect(ui.actionChangeNickname, SIGNAL(triggered()), this, SLOT(changeNickname()));
|
||||||
connect(ui.participantsList, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(participantsTreeWidgetCostumPopupMenu(QPoint)));
|
connect(ui.participantsList, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(participantsTreeWidgetCostumPopupMenu(QPoint)));
|
||||||
|
connect(ui.participantsList, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)), this, SLOT(participantsTreeWidgetDoubleClicked(QTreeWidgetItem*,int)));
|
||||||
|
|
||||||
ui.participantsList->setRootIsDecorated(false);
|
ui.participantsList->setColumnCount(COLUMN_COUNT);
|
||||||
|
ui.participantsList->setColumnWidth(COLUMN_ICON, 20);
|
||||||
|
|
||||||
// Mute a Participant
|
// Mute a Participant
|
||||||
muteAct = new QAction(QIcon(), tr("Mute participant"), this);
|
muteAct = new QAction(QIcon(), tr("Mute participant"), this);
|
||||||
@ -57,15 +63,23 @@ ChatLobbyDialog::ChatLobbyDialog(const ChatLobbyId& lid, QWidget *parent, Qt::WF
|
|||||||
|
|
||||||
void ChatLobbyDialog::participantsTreeWidgetCostumPopupMenu(QPoint)
|
void ChatLobbyDialog::participantsTreeWidgetCostumPopupMenu(QPoint)
|
||||||
{
|
{
|
||||||
QTreeWidgetItem *item = getCurrentParticipant();
|
QList<QTreeWidgetItem*> selectedItems = ui.participantsList->selectedItems();
|
||||||
|
|
||||||
QMenu contextMnu(this);
|
QMenu contextMnu(this);
|
||||||
|
|
||||||
contextMnu.addAction(muteAct);
|
contextMnu.addAction(muteAct);
|
||||||
muteAct->setEnabled(item != NULL);
|
|
||||||
muteAct->setCheckable(true);
|
muteAct->setCheckable(true);
|
||||||
if (item) {
|
muteAct->setEnabled(false);
|
||||||
muteAct->setChecked(isParticipantMuted(item->text(0)));
|
if (selectedItems.size()) {
|
||||||
|
muteAct->setEnabled(true);
|
||||||
|
|
||||||
|
QList<QTreeWidgetItem*>::iterator item;
|
||||||
|
for (item = selectedItems.begin(); item != selectedItems.end(); ++item) {
|
||||||
|
if (isParticipantMuted((*item)->text(COLUMN_NAME))) {
|
||||||
|
muteAct->setChecked(true);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
muteAct->setChecked(false);
|
muteAct->setChecked(false);
|
||||||
}
|
}
|
||||||
@ -239,6 +253,15 @@ void ChatLobbyDialog::addIncomingChatMsg(const ChatInfo& info)
|
|||||||
*/
|
*/
|
||||||
void ChatLobbyDialog::updateParticipantsList()
|
void ChatLobbyDialog::updateParticipantsList()
|
||||||
{
|
{
|
||||||
|
/* Save selected items */
|
||||||
|
QStringList selectedParcipants;
|
||||||
|
QList<QTreeWidgetItem*> selectedItems = ui.participantsList->selectedItems();
|
||||||
|
|
||||||
|
QList<QTreeWidgetItem*>::iterator item;
|
||||||
|
for (item = selectedItems.begin(); item != selectedItems.end(); ++item) {
|
||||||
|
selectedParcipants.append((*item)->text(COLUMN_NAME));
|
||||||
|
}
|
||||||
|
|
||||||
ui.participantsList->clear();
|
ui.participantsList->clear();
|
||||||
ui.participantsList->setSortingEnabled(false);
|
ui.participantsList->setSortingEnabled(false);
|
||||||
|
|
||||||
@ -258,18 +281,23 @@ void ChatLobbyDialog::updateParticipantsList()
|
|||||||
QTreeWidgetItem *widgetitem = new RSTreeWidgetItem;
|
QTreeWidgetItem *widgetitem = new RSTreeWidgetItem;
|
||||||
|
|
||||||
if (isParticipantMuted(participant)) {
|
if (isParticipantMuted(participant)) {
|
||||||
widgetitem->setIcon(0,(QIcon(":/images/yellowled.png")));
|
widgetitem->setIcon(COLUMN_ICON, QIcon(":/images/yellowled.png"));
|
||||||
} else {
|
} else {
|
||||||
widgetitem->setIcon(0,(QIcon(":/images/greenled.png")));
|
widgetitem->setIcon(COLUMN_ICON, QIcon(":/images/greenled.png"));
|
||||||
}
|
}
|
||||||
widgetitem->setText(0, participant);
|
widgetitem->setToolTip(COLUMN_ICON, tr("Double click to mute/unmute participant"));
|
||||||
widgetitem->setToolTip(0,(tr("right click,and check to mute participant")));
|
|
||||||
|
widgetitem->setText(COLUMN_NAME, participant);
|
||||||
|
widgetitem->setToolTip(COLUMN_NAME, tr("Right click to mute/unmute participants"));
|
||||||
|
|
||||||
ui.participantsList->addTopLevelItem(widgetitem);
|
ui.participantsList->addTopLevelItem(widgetitem);
|
||||||
|
if (selectedParcipants.contains(participant)) {
|
||||||
|
widgetitem->setSelected(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ui.participantsList->setSortingEnabled(true);
|
ui.participantsList->setSortingEnabled(true);
|
||||||
ui.participantsList->sortItems(0, Qt::AscendingOrder);
|
ui.participantsList->sortItems(COLUMN_NAME, Qt::AscendingOrder);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -283,19 +311,45 @@ void ChatLobbyDialog::updateParticipantsList()
|
|||||||
*/
|
*/
|
||||||
void ChatLobbyDialog::changePartipationState()
|
void ChatLobbyDialog::changePartipationState()
|
||||||
{
|
{
|
||||||
QTreeWidgetItem *item = getCurrentParticipant();
|
QList<QTreeWidgetItem*> selectedItems = ui.participantsList->selectedItems();
|
||||||
if (!item)
|
if (selectedItems.size() == 0) {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
QString nickname = item->text(0);
|
QList<QTreeWidgetItem*>::iterator item;
|
||||||
|
for (item = selectedItems.begin(); item != selectedItems.end(); ++item) {
|
||||||
|
QString nickname = (*item)->text(COLUMN_NAME);
|
||||||
|
|
||||||
std::cerr << "check Partipation status for '" << nickname.toStdString() << std::endl;
|
std::cerr << "check Partipation status for '" << nickname.toUtf8().constData() << std::endl;
|
||||||
|
|
||||||
if (muteAct->isChecked()) {
|
if (muteAct->isChecked()) {
|
||||||
muteParticipant(nickname);
|
muteParticipant(nickname);
|
||||||
} else {
|
} else {
|
||||||
unMuteParticipant(nickname);
|
unMuteParticipant(nickname);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
mutedParticipants->removeDuplicates();
|
||||||
|
|
||||||
|
updateParticipantsList();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ChatLobbyDialog::participantsTreeWidgetDoubleClicked(QTreeWidgetItem *item, int column)
|
||||||
|
{
|
||||||
|
if (!item) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (column != COLUMN_ICON) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString nickname = item->text(COLUMN_NAME);
|
||||||
|
if (isParticipantMuted(nickname)) {
|
||||||
|
unMuteParticipant(nickname);
|
||||||
|
} else {
|
||||||
|
muteParticipant(nickname);
|
||||||
|
}
|
||||||
|
|
||||||
mutedParticipants->removeDuplicates();
|
mutedParticipants->removeDuplicates();
|
||||||
|
|
||||||
@ -424,13 +478,3 @@ void ChatLobbyDialog::showParticipantsFrame(bool show)
|
|||||||
|
|
||||||
PeerSettings->setShowParticipantsFrame(getPeerId(), show);
|
PeerSettings->setShowParticipantsFrame(getPeerId(), show);
|
||||||
}
|
}
|
||||||
|
|
||||||
QTreeWidgetItem *ChatLobbyDialog::getCurrentParticipant()
|
|
||||||
{
|
|
||||||
if (ui.participantsList->selectedItems().size() != 0) {
|
|
||||||
return ui.participantsList->currentItem();
|
|
||||||
}
|
|
||||||
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
@ -61,10 +61,9 @@ protected:
|
|||||||
protected slots:
|
protected slots:
|
||||||
void changeNickname();
|
void changeNickname();
|
||||||
void changePartipationState();
|
void changePartipationState();
|
||||||
|
void participantsTreeWidgetDoubleClicked(QTreeWidgetItem *item, int column);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QTreeWidgetItem *getCurrentParticipant();
|
|
||||||
|
|
||||||
void updateParticipantsList();
|
void updateParticipantsList();
|
||||||
|
|
||||||
void muteParticipant(const QString &nickname);
|
void muteParticipant(const QString &nickname);
|
||||||
|
@ -119,12 +119,18 @@
|
|||||||
<property name="contextMenuPolicy">
|
<property name="contextMenuPolicy">
|
||||||
<enum>Qt::CustomContextMenu</enum>
|
<enum>Qt::CustomContextMenu</enum>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="selectionMode">
|
||||||
|
<enum>QAbstractItemView::ExtendedSelection</enum>
|
||||||
|
</property>
|
||||||
<property name="iconSize">
|
<property name="iconSize">
|
||||||
<size>
|
<size>
|
||||||
<width>16</width>
|
<width>16</width>
|
||||||
<height>16</height>
|
<height>16</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="rootIsDecorated">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
<property name="animated">
|
<property name="animated">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
@ -135,13 +141,10 @@
|
|||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="headerHidden">
|
<property name="headerHidden">
|
||||||
<bool>false</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
<attribute name="headerVisible">
|
<attribute name="headerVisible">
|
||||||
<bool>true</bool>
|
<bool>false</bool>
|
||||||
</attribute>
|
|
||||||
<attribute name="headerVisible">
|
|
||||||
<bool>true</bool>
|
|
||||||
</attribute>
|
</attribute>
|
||||||
<column>
|
<column>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -956,7 +956,7 @@ Bitte wähle einen zum Chatten aus.</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Uncheck to mute participant</source>
|
<source>Uncheck to mute participant</source>
|
||||||
<translation>Haken entfernen, um Teilnehmer stumm zu schalten</translation>
|
<translation type="obsolete">Haken entfernen, um Teilnehmer stumm zu schalten</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>%1 changed his name to: %2</source>
|
<source>%1 changed his name to: %2</source>
|
||||||
@ -966,6 +966,22 @@ Bitte wähle einen zum Chatten aus.</translation>
|
|||||||
<source>Lobby chat</source>
|
<source>Lobby chat</source>
|
||||||
<translation>Lobbychat</translation>
|
<translation>Lobbychat</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Participants</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Mute participant</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Double click to mute/unmute participant</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Right click to mute/unmute participants</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ChatLobbyToaster</name>
|
<name>ChatLobbyToaster</name>
|
||||||
@ -4129,7 +4145,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Search forums</source>
|
<source>Search forums</source>
|
||||||
<translation>Forum durchsuchen</translation>
|
<translation type="obsolete">Forum durchsuchen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Original Message</source>
|
<source>Original Message</source>
|
||||||
@ -4160,7 +4176,19 @@ 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>
|
||||||
<source>Search this forum...</source>
|
<source>Search Title</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search Date</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search Author</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search Content</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
@ -4762,23 +4790,23 @@ p, li { white-space: pre-wrap; }
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Create new Profile</source>
|
<source>Create new Profile</source>
|
||||||
<translation>Neues Profil erstellen</translation>
|
<translation type="obsolete">Neues Profil erstellen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Create new Forum</source>
|
<source>Create new Forum</source>
|
||||||
<translation>Neues Forum erstellen</translation>
|
<translation type="obsolete">Neues Forum erstellen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>F</source>
|
<source>F</source>
|
||||||
<translation>F</translation>
|
<translation type="obsolete">F</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Create new Channel</source>
|
<source>Create new Channel</source>
|
||||||
<translation>Neuen Kanal erstellen</translation>
|
<translation type="obsolete">Neuen Kanal erstellen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>C</source>
|
<source>C</source>
|
||||||
<translation>C</translation>
|
<translation type="obsolete">C</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Add your Avatar Picture</source>
|
<source>Add your Avatar Picture</source>
|
||||||
@ -5101,19 +5129,19 @@ Gib, wenn du gefragt wirst, dein PGP Passwort ein, um deinen neuen Schlüssel zu
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Select Trusted Friend</source>
|
<source>Select Trusted Friend</source>
|
||||||
<translation>Wähle vertrauten Freund</translation>
|
<translation type="obsolete">Wähle vertrauten Freund</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Certificates (*.pqi *.pem)</source>
|
<source>Certificates (*.pqi *.pem)</source>
|
||||||
<translation>Zertifikate (*.pqi *.pem)</translation>
|
<translation type="obsolete">Zertifikate (*.pqi *.pem)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Multiple instances</source>
|
<source>Multiple instances</source>
|
||||||
<translation>Mehrere Instanzen</translation>
|
<translation type="obsolete">Mehrere Instanzen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Another RetroShare using the same profile is already running on your system. Please close that instance first</source>
|
<source>Another RetroShare using the same profile is already running on your system. Please close that instance first</source>
|
||||||
<translation>Ein laufendes RetroShare benutzt das gleiche Profil. Bitte schließe diese Instanz</translation>
|
<translation type="obsolete">Ein laufendes RetroShare benutzt das gleiche Profil. Bitte schließe diese Instanz</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Generate ID Failure</source>
|
<source>Generate ID Failure</source>
|
||||||
@ -5121,7 +5149,7 @@ Gib, wenn du gefragt wirst, dein PGP Passwort ein, um deinen neuen Schlüssel zu
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Failed to Load your new Certificate!</source>
|
<source>Failed to Load your new Certificate!</source>
|
||||||
<translation>Fehler beim Laden deines neuen Zertifikates!</translation>
|
<translation type="obsolete">Fehler beim Laden deines neuen Zertifikates!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[Optional] Visible to your friends, and friends of friends.</source>
|
<source>[Optional] Visible to your friends, and friends of friends.</source>
|
||||||
@ -5234,7 +5262,7 @@ und den Import zum Laden verwenden</translation>
|
|||||||
<message>
|
<message>
|
||||||
<source>RetroShare uses gpg keys for identity management.
|
<source>RetroShare uses gpg keys for identity management.
|
||||||
You can use an existing identity (i.e. a gpg key pair), from the list below, or create a new one with this form.</source>
|
You can use an existing identity (i.e. a gpg key pair), from the list below, or create a new one with this form.</source>
|
||||||
<translation>Du kannst eine vorhandene Identität (PGP-Schlüssel) aus der Liste benutzen oder ein neue mit diesem Dialog erstellen.</translation>
|
<translation type="obsolete">Du kannst eine vorhandene Identität (PGP-Schlüssel) aus der Liste benutzen oder ein neue mit diesem Dialog erstellen.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Your identity was not saved. An error occurred.</source>
|
<source>Your identity was not saved. An error occurred.</source>
|
||||||
@ -5246,7 +5274,23 @@ You can use an existing identity (i.e. a gpg key pair), from the list below, or
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>An unexpected error occurred when Retroshare tried to acquire the single instance lock</source>
|
<source>An unexpected error occurred when Retroshare tried to acquire the single instance lock</source>
|
||||||
<translation>Ein unerwarteter Fehler während des "Single instance lock" ist aufgetreten</translation>
|
<translation type="obsolete">Ein unerwarteter Fehler während des "Single instance lock" ist aufgetreten</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>RetroShare uses gpg keys for identity management.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>You can create a new identity with this form.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>You can use an existing identity (i.e. a gpg key pair), from the list below, or create a new one with this form.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Failed to Generate your new Certificate, maybe PGP password is wrong!</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -5629,11 +5673,45 @@ p, li { white-space: pre-wrap; }
|
|||||||
<translation>Favoriten</translation>
|
<translation>Favoriten</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>GroupFlagsWidget</name>
|
||||||
|
<message>
|
||||||
|
<source>All your friends can browse this directory
|
||||||
|
</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Only friends in groups </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source> can browse this directory
|
||||||
|
</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>No one can browse this directory
|
||||||
|
</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>All your friends can relay anonymous tunnels to this directory</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source> can relay anonymous tunnels to this directory</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>No one can anonymously access this directory.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>GroupTreeWidget</name>
|
<name>GroupTreeWidget</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Enter a Keyword here</source>
|
<source>Enter a Keyword here</source>
|
||||||
<translation>Gib einen Suchbegriff ein</translation>
|
<translation type="obsolete">Gib einen Suchbegriff ein</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Title</source>
|
<source>Title</source>
|
||||||
@ -5659,6 +5737,14 @@ p, li { white-space: pre-wrap; }
|
|||||||
<source>Private Key Available</source>
|
<source>Private Key Available</source>
|
||||||
<translation>Privater Schlüssel verfügbar</translation>
|
<translation>Privater Schlüssel verfügbar</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search Title</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search Description</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>GuiExprElement</name>
|
<name>GuiExprElement</name>
|
||||||
@ -7387,6 +7473,30 @@ Möchtest du die Nachricht speichern ?</translation>
|
|||||||
<source>No starred messages available. Stars let you give messages a special status to make them easier to find. To star a message, click on the light gray star beside any message.</source>
|
<source>No starred messages available. Stars let you give messages a special status to make them easier to find. To star a message, click on the light gray star beside any message.</source>
|
||||||
<translation>Es sind keine gekennzeichneten Nachrichten vorhanden. Durch die Kennzeichnung kannst du Nachrichten mit einem speziellen Status versehen, sodass sie leichter zu finden sind. Klicke zum Kennzeichnen einer Nachricht auf den hellgrauen Stern neben der jeweiligen Nachricht.</translation>
|
<translation>Es sind keine gekennzeichneten Nachrichten vorhanden. Durch die Kennzeichnung kannst du Nachrichten mit einem speziellen Status versehen, sodass sie leichter zu finden sind. Klicke zum Kennzeichnen einer Nachricht auf den hellgrauen Stern neben der jeweiligen Nachricht.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search Subject</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search From</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search Date</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search Content</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search Tags</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search Attachments</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MessengerWindow</name>
|
<name>MessengerWindow</name>
|
||||||
@ -7406,6 +7516,10 @@ Möchtest du die Nachricht speichern ?</translation>
|
|||||||
<source>Search Friends</source>
|
<source>Search Friends</source>
|
||||||
<translation>Freunde suchen</translation>
|
<translation>Freunde suchen</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search</source>
|
||||||
|
<translation type="unfinished">Suchen</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MsgItem</name>
|
<name>MsgItem</name>
|
||||||
@ -7685,6 +7799,14 @@ Rechtsklick und als Freund hinzufügen um zu verbinden.</translation>
|
|||||||
<source>Display</source>
|
<source>Display</source>
|
||||||
<translation>Anzeigen</translation>
|
<translation>Anzeigen</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search Name</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search Peer ID</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>NetworkPage</name>
|
<name>NetworkPage</name>
|
||||||
@ -9360,6 +9482,22 @@ Fehlermeldung: %2</translation>
|
|||||||
</source>
|
</source>
|
||||||
<translation>Ein unerwarteter Fehler während des "Single instance lock" ist aufgetreten</translation>
|
<translation>Ein unerwarteter Fehler während des "Single instance lock" ist aufgetreten</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Directory is browsable for friends from parent groups</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Directory is accessible by anonymous tunnels from friends from parent groups</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Directory is browsable for any friend</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Directory is accessible by anonymous tunnels from any friend</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>QuickStartWizard</name>
|
<name>QuickStartWizard</name>
|
||||||
@ -9674,15 +9812,15 @@ p, li { white-space: pre-wrap; }
|
|||||||
<name>RetroshareDirModel</name>
|
<name>RetroshareDirModel</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Anonymous</source>
|
<source>Anonymous</source>
|
||||||
<translation>Anonym</translation>
|
<translation type="obsolete">Anonym</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Anonymous and browsable by friends</source>
|
<source>Anonymous and browsable by friends</source>
|
||||||
<translation>Anonym und Durchsuchbar von Freunden</translation>
|
<translation type="obsolete">Anonym und Durchsuchbar von Freunden</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Only browsable by friends</source>
|
<source>Only browsable by friends</source>
|
||||||
<translation>Nur Durchsuchbar von Freunden</translation>
|
<translation type="obsolete">Nur Durchsuchbar von Freunden</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>NEW</source>
|
<source>NEW</source>
|
||||||
@ -9918,7 +10056,7 @@ Bild auf %1x%2 Pixel reduzieren?</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>File Size</source>
|
<source>File Size</source>
|
||||||
<translation>Dateigröße</translation>
|
<translation type="obsolete">Dateigröße</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Filename</source>
|
<source>Filename</source>
|
||||||
@ -10350,32 +10488,36 @@ Voreinstellung ist 20.</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Browseable by Friends</source>
|
<source>Browseable by Friends</source>
|
||||||
<translation>Durchsuchbar von Freunden</translation>
|
<translation type="obsolete">Durchsuchbar von Freunden</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Browsable</source>
|
<source>Browsable</source>
|
||||||
<translation>Durchsuchbar</translation>
|
<translation type="obsolete">Durchsuchbar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Anonymous shared Network Wide</source>
|
<source>Anonymous shared Network Wide</source>
|
||||||
<translation>Anonym im ganzen Netzwerk freigeben</translation>
|
<translation type="obsolete">Anonym im ganzen Netzwerk freigeben</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Network Wide</source>
|
<source>Network Wide</source>
|
||||||
<translation>Netzwerkweit</translation>
|
<translation type="obsolete">Netzwerkweit</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>OK</source>
|
<source>OK</source>
|
||||||
<translation>OK</translation>
|
<translation type="obsolete">OK</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Cancel</source>
|
<source>Cancel</source>
|
||||||
<translation>Abbrechen</translation>
|
<translation type="obsolete">Abbrechen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Select A Folder To Share</source>
|
<source>Select A Folder To Share</source>
|
||||||
<translation>Wähle einen Ordner zum Freigeben aus</translation>
|
<translation>Wähle einen Ordner zum Freigeben aus</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Share flags and groups: </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ShareKey</name>
|
<name>ShareKey</name>
|
||||||
@ -10444,11 +10586,11 @@ p, li { white-space: pre-wrap; }
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Network Wide</source>
|
<source>Network Wide</source>
|
||||||
<translation>Netzwerkweit</translation>
|
<translation type="obsolete">Netzwerkweit</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Browsable</source>
|
<source>Browsable</source>
|
||||||
<translation>Durchsuchbar</translation>
|
<translation type="obsolete">Durchsuchbar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Add a Share Directory</source>
|
<source>Add a Share Directory</source>
|
||||||
@ -10468,7 +10610,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Close</source>
|
<source>Close</source>
|
||||||
<translation>Schließen</translation>
|
<translation type="obsolete">Schließen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Edit selected Shared Directory</source>
|
<source>Edit selected Shared Directory</source>
|
||||||
@ -10480,11 +10622,11 @@ p, li { white-space: pre-wrap; }
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>If checked, the share is anonymously shared to anybody.</source>
|
<source>If checked, the share is anonymously shared to anybody.</source>
|
||||||
<translation>Wenn aktiviert, dann ist dieser Ordner anonym freigegeben.</translation>
|
<translation type="obsolete">Wenn aktiviert, dann ist dieser Ordner anonym freigegeben.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>If checked, the share is browsable by your friends.</source>
|
<source>If checked, the share is browsable by your friends.</source>
|
||||||
<translation>Wenn aktiviert, dann ist dieser Ordner von deinen Freunden durchsuchbar.</translation>
|
<translation type="obsolete">Wenn aktiviert, dann ist dieser Ordner von deinen Freunden durchsuchbar.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Warning!</source>
|
<source>Warning!</source>
|
||||||
@ -10510,6 +10652,18 @@ p, li { white-space: pre-wrap; }
|
|||||||
<source>Share Manager</source>
|
<source>Share Manager</source>
|
||||||
<translation>Freigabemanager</translation>
|
<translation>Freigabemanager</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Share flags</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Parent groups</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Apply and close</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SharedFilesDialog</name>
|
<name>SharedFilesDialog</name>
|
||||||
@ -10783,15 +10937,15 @@ p, li { white-space: pre-wrap; }
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Multiple instances</source>
|
<source>Multiple instances</source>
|
||||||
<translation>Mehrere Instanzen</translation>
|
<translation type="obsolete">Mehrere Instanzen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Login Failure</source>
|
<source>Login Failure</source>
|
||||||
<translation>Anmeldefehler</translation>
|
<translation type="obsolete">Anmeldefehler</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Maybe password is wrong</source>
|
<source>Maybe password is wrong</source>
|
||||||
<translation>Vielleicht ist das Passwort falsch</translation>
|
<translation type="obsolete">Vielleicht ist das Passwort falsch</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Warning</source>
|
<source>Warning</source>
|
||||||
@ -10801,7 +10955,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<source>Another RetroShare using the same profile is already running on your system. Please close that instance first, or choose another profile
|
<source>Another RetroShare using the same profile is already running on your system. Please close that instance first, or choose another profile
|
||||||
lock file:
|
lock file:
|
||||||
</source>
|
</source>
|
||||||
<translation>Ein laufendes RetroShare benutzt das gleiche Profil. Bitte schließe diese Instanz oder wähle ein anderes Profil
|
<translation type="obsolete">Ein laufendes RetroShare benutzt das gleiche Profil. Bitte schließe diese Instanz oder wähle ein anderes Profil
|
||||||
Lockdatei:
|
Lockdatei:
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -10809,7 +10963,7 @@ Lockdatei:
|
|||||||
<source>An unexpected error occurred when Retroshare tried to acquire the single instance lock
|
<source>An unexpected error occurred when Retroshare tried to acquire the single instance lock
|
||||||
lock file:
|
lock file:
|
||||||
</source>
|
</source>
|
||||||
<translation>Ein unerwarteter Fehler während des "Single instance lock" ist aufgetreten
|
<translation type="obsolete">Ein unerwarteter Fehler während des "Single instance lock" ist aufgetreten
|
||||||
Lockdatei:
|
Lockdatei:
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -11093,6 +11247,14 @@ p, li { white-space: pre-wrap; }
|
|||||||
<source>Save Channel File</source>
|
<source>Save Channel File</source>
|
||||||
<translation>Datei speichern</translation>
|
<translation>Datei speichern</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Open</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Open File</source>
|
||||||
|
<translation type="unfinished">Datei öffnen</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>TBoard</name>
|
<name>TBoard</name>
|
||||||
@ -11601,6 +11763,10 @@ Bitte habe etwas Geduld!</translation>
|
|||||||
<source>What's new</source>
|
<source>What's new</source>
|
||||||
<translation>Was ist neu</translation>
|
<translation>Was ist neu</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Groups</source>
|
||||||
|
<translation type="unfinished">Gruppen</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>TrustView</name>
|
<name>TrustView</name>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user