mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-05-19 14:30:43 -04:00
Removed menus with friends in SharedFilesDialog.
Add a single action to send files as message. Add send as message to the remote files too. The files are now send as recommended files. Disable context menus for the person item. Auto hide the AttachFileItem in all dialogs after the successfully finish of the hash. Removed the column source of the files in messages. git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3759 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
4751295a3f
commit
dd4c43cf7d
12 changed files with 287 additions and 463 deletions
|
@ -72,6 +72,11 @@
|
||||||
#define ROLE_UNREAD Qt::UserRole + 3
|
#define ROLE_UNREAD Qt::UserRole + 3
|
||||||
#define ROLE_MSGFLAGS Qt::UserRole + 4
|
#define ROLE_MSGFLAGS Qt::UserRole + 4
|
||||||
|
|
||||||
|
#define COLUMN_FILE_NAME 0
|
||||||
|
#define COLUMN_FILE_SIZE 1
|
||||||
|
#define COLUMN_FILE_HASH 2
|
||||||
|
#define COLUMN_FILE_COUNT 3
|
||||||
|
|
||||||
#define ROW_INBOX 0
|
#define ROW_INBOX 0
|
||||||
#define ROW_OUTBOX 1
|
#define ROW_OUTBOX 1
|
||||||
#define ROW_DRAFTBOX 2
|
#define ROW_DRAFTBOX 2
|
||||||
|
@ -335,15 +340,13 @@ MessagesDialog::MessagesDialog(QWidget *parent)
|
||||||
|
|
||||||
/* Set header resize modes and initial section sizes */
|
/* Set header resize modes and initial section sizes */
|
||||||
QHeaderView * msglheader = ui.msgList->header () ;
|
QHeaderView * msglheader = ui.msgList->header () ;
|
||||||
msglheader->setResizeMode (0, QHeaderView::Interactive);
|
msglheader->setResizeMode (COLUMN_FILE_NAME, QHeaderView::Interactive);
|
||||||
msglheader->setResizeMode (1, QHeaderView::Interactive);
|
msglheader->setResizeMode (COLUMN_FILE_SIZE, QHeaderView::Interactive);
|
||||||
msglheader->setResizeMode (2, QHeaderView::Interactive);
|
msglheader->setResizeMode (COLUMN_FILE_HASH, QHeaderView::Interactive);
|
||||||
msglheader->setResizeMode (3, QHeaderView::Interactive);
|
|
||||||
|
|
||||||
msglheader->resizeSection (0, 200);
|
msglheader->resizeSection (COLUMN_FILE_NAME, 200);
|
||||||
msglheader->resizeSection (1, 100);
|
msglheader->resizeSection (COLUMN_FILE_SIZE, 100);
|
||||||
msglheader->resizeSection (2, 100);
|
msglheader->resizeSection (COLUMN_FILE_HASH, 200);
|
||||||
msglheader->resizeSection (3, 200);
|
|
||||||
|
|
||||||
ui.forwardmessageButton->setToolTip(tr("Forward selected Message"));
|
ui.forwardmessageButton->setToolTip(tr("Forward selected Message"));
|
||||||
ui.replyallmessageButton->setToolTip(tr("Reply to All"));
|
ui.replyallmessageButton->setToolTip(tr("Reply to All"));
|
||||||
|
@ -887,13 +890,15 @@ void MessagesDialog::getcurrentrecommended()
|
||||||
|
|
||||||
switch(it->column())
|
switch(it->column())
|
||||||
{
|
{
|
||||||
case 0: f.fname = it->data().toString().toStdString() ;
|
case COLUMN_FILE_NAME:
|
||||||
|
f.fname = it->data().toString().toStdString() ;
|
||||||
break ;
|
break ;
|
||||||
case 1: f.size = it->data().toULongLong() ;
|
case COLUMN_FILE_SIZE:
|
||||||
|
f.size = it->data().toULongLong() ;
|
||||||
break ;
|
break ;
|
||||||
case 3: f.hash = it->data().toString().toStdString() ;
|
case COLUMN_FILE_HASH:
|
||||||
|
f.hash = it->data().toString().toStdString() ;
|
||||||
break ;
|
break ;
|
||||||
default: ;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1663,7 +1668,6 @@ void MessagesDialog::insertMsgTxtAndFiles(QModelIndex Index, bool bSetToRead)
|
||||||
/* get the MessageInfo */
|
/* get the MessageInfo */
|
||||||
|
|
||||||
tree->clear();
|
tree->clear();
|
||||||
tree->setColumnCount(4);
|
|
||||||
|
|
||||||
QList<QTreeWidgetItem *> items;
|
QList<QTreeWidgetItem *> items;
|
||||||
for(it = recList.begin(); it != recList.end(); it++)
|
for(it = recList.begin(); it != recList.end(); it++)
|
||||||
|
@ -1671,12 +1675,11 @@ void MessagesDialog::insertMsgTxtAndFiles(QModelIndex Index, bool bSetToRead)
|
||||||
/* make a widget per person */
|
/* make a widget per person */
|
||||||
QTreeWidgetItem *item = new QTreeWidgetItem((QTreeWidget*)0);
|
QTreeWidgetItem *item = new QTreeWidgetItem((QTreeWidget*)0);
|
||||||
/* (0) Filename */
|
/* (0) Filename */
|
||||||
item -> setText(0, QString::fromStdString(it->fname));
|
item -> setText(COLUMN_FILE_NAME, QString::fromStdString(it->fname));
|
||||||
//std::cerr << "Msg FileItem(" << it->fname.length() << ") :" << it->fname << std::endl;
|
//std::cerr << "Msg FileItem(" << it->fname.length() << ") :" << it->fname << std::endl;
|
||||||
|
|
||||||
item -> setText(1, QString::number(it->size)); /* (1) Size */
|
item -> setText(COLUMN_FILE_SIZE, QString::number(it->size)); /* (1) Size */
|
||||||
item -> setText(2, QString::number(0)); /* (2) Rank */ // what is this ???
|
item -> setText(COLUMN_FILE_HASH, QString::fromStdString(it->hash));
|
||||||
item -> setText(3, QString::fromStdString(it->hash));
|
|
||||||
|
|
||||||
/* add to the list */
|
/* add to the list */
|
||||||
items.append(item);
|
items.append(item);
|
||||||
|
|
|
@ -579,7 +579,7 @@ border: 1px solid #CCCCCC;}</string>
|
||||||
<string>Compose</string>
|
<string>Compose</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/folder-draft24.png</normaloff>:/images/folder-draft24.png</iconset>
|
<normaloff>:/images/folder-draft24.png</normaloff>:/images/folder-draft24.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="iconSize">
|
<property name="iconSize">
|
||||||
|
@ -633,7 +633,7 @@ border: 1px solid #CCCCCC;}</string>
|
||||||
<string>Reply</string>
|
<string>Reply</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/replymail-pressed.png</normaloff>:/images/replymail-pressed.png</iconset>
|
<normaloff>:/images/replymail-pressed.png</normaloff>:/images/replymail-pressed.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="iconSize">
|
<property name="iconSize">
|
||||||
|
@ -671,7 +671,7 @@ border: 1px solid #CCCCCC;}</string>
|
||||||
<string>Reply all</string>
|
<string>Reply all</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/replymailall24-hover.png</normaloff>:/images/replymailall24-hover.png</iconset>
|
<normaloff>:/images/replymailall24-hover.png</normaloff>:/images/replymailall24-hover.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="iconSize">
|
<property name="iconSize">
|
||||||
|
@ -709,7 +709,7 @@ border: 1px solid #CCCCCC;}</string>
|
||||||
<string>Foward</string>
|
<string>Foward</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/mailforward24-hover.png</normaloff>:/images/mailforward24-hover.png</iconset>
|
<normaloff>:/images/mailforward24-hover.png</normaloff>:/images/mailforward24-hover.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="iconSize">
|
<property name="iconSize">
|
||||||
|
@ -757,7 +757,7 @@ border: 1px solid #CCCCCC;}</string>
|
||||||
<string>Delete</string>
|
<string>Delete</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/deletemail24.png</normaloff>:/images/deletemail24.png</iconset>
|
<normaloff>:/images/deletemail24.png</normaloff>:/images/deletemail24.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="iconSize">
|
<property name="iconSize">
|
||||||
|
@ -801,7 +801,7 @@ border: 1px solid #CCCCCC;}</string>
|
||||||
<string>Print</string>
|
<string>Print</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/print24.png</normaloff>:/images/print24.png</iconset>
|
<normaloff>:/images/print24.png</normaloff>:/images/print24.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="iconSize">
|
<property name="iconSize">
|
||||||
|
@ -833,7 +833,7 @@ border: 1px solid #CCCCCC;}</string>
|
||||||
<string>Display</string>
|
<string>Display</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/looknfeel.png</normaloff>:/images/looknfeel.png</iconset>
|
<normaloff>:/images/looknfeel.png</normaloff>:/images/looknfeel.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="iconSize">
|
<property name="iconSize">
|
||||||
|
@ -874,7 +874,7 @@ border: 1px solid #CCCCCC;}</string>
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="pixmap">
|
<property name="pixmap">
|
||||||
<pixmap resource="images.qrc">:/images/find-16.png</pixmap>
|
<pixmap>:/images/find-16.png</pixmap>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -966,7 +966,7 @@ border-image: url(:/images/closepressed.png)
|
||||||
<string>Tag</string>
|
<string>Tag</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/tag24.png</normaloff>:/images/tag24.png</iconset>
|
<normaloff>:/images/tag24.png</normaloff>:/images/tag24.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="iconSize">
|
<property name="iconSize">
|
||||||
|
@ -1107,7 +1107,7 @@ border-image: url(:/images/closepressed.png)
|
||||||
<string>Inbox</string>
|
<string>Inbox</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/folder-inbox.png</normaloff>:/images/folder-inbox.png</iconset>
|
<normaloff>:/images/folder-inbox.png</normaloff>:/images/folder-inbox.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
</item>
|
</item>
|
||||||
|
@ -1116,7 +1116,7 @@ border-image: url(:/images/closepressed.png)
|
||||||
<string>Outbox</string>
|
<string>Outbox</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/folder-outbox.png</normaloff>:/images/folder-outbox.png</iconset>
|
<normaloff>:/images/folder-outbox.png</normaloff>:/images/folder-outbox.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
</item>
|
</item>
|
||||||
|
@ -1125,7 +1125,7 @@ border-image: url(:/images/closepressed.png)
|
||||||
<string>Draft</string>
|
<string>Draft</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/folder-draft.png</normaloff>:/images/folder-draft.png</iconset>
|
<normaloff>:/images/folder-draft.png</normaloff>:/images/folder-draft.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
</item>
|
</item>
|
||||||
|
@ -1134,7 +1134,7 @@ border-image: url(:/images/closepressed.png)
|
||||||
<string>Sent</string>
|
<string>Sent</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/folder-sent.png</normaloff>:/images/folder-sent.png</iconset>
|
<normaloff>:/images/folder-sent.png</normaloff>:/images/folder-sent.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
</item>
|
</item>
|
||||||
|
@ -1143,7 +1143,7 @@ border-image: url(:/images/closepressed.png)
|
||||||
<string>Trash</string>
|
<string>Trash</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/folder-trash.png</normaloff>:/images/folder-trash.png</iconset>
|
<normaloff>:/images/folder-trash.png</normaloff>:/images/folder-trash.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
</item>
|
</item>
|
||||||
|
@ -1190,7 +1190,7 @@ border: 1px solid #CCCCCC;}</string>
|
||||||
<string>Favorite Tags</string>
|
<string>Favorite Tags</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/tag24.png</normaloff>:/images/tag24.png</iconset>
|
<normaloff>:/images/tag24.png</normaloff>:/images/tag24.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="checkable">
|
<property name="checkable">
|
||||||
|
@ -1321,7 +1321,7 @@ padding: 4px;
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="pixmap">
|
<property name="pixmap">
|
||||||
<pixmap resource="images.qrc">:/images/attachment.png</pixmap>
|
<pixmap>:/images/attachment.png</pixmap>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -1354,7 +1354,7 @@ p, li { white-space: pre-wrap; }
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/edit_remove24.png</normaloff>:/images/edit_remove24.png</iconset>
|
<normaloff>:/images/edit_remove24.png</normaloff>:/images/edit_remove24.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="checkable">
|
<property name="checkable">
|
||||||
|
@ -1392,7 +1392,7 @@ p, li { white-space: pre-wrap; }
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/down.png</normaloff>:/images/down.png</iconset>
|
<normaloff>:/images/down.png</normaloff>:/images/down.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
|
@ -1765,11 +1765,6 @@ p, li { white-space: pre-wrap; }
|
||||||
<string>Size</string>
|
<string>Size</string>
|
||||||
</property>
|
</property>
|
||||||
</column>
|
</column>
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string>Sources</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
<column>
|
<column>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Hash</string>
|
<string>Hash</string>
|
||||||
|
@ -1834,9 +1829,7 @@ p, li { white-space: pre-wrap; }
|
||||||
<tabstop>msgText</tabstop>
|
<tabstop>msgText</tabstop>
|
||||||
<tabstop>msgList</tabstop>
|
<tabstop>msgList</tabstop>
|
||||||
</tabstops>
|
</tabstops>
|
||||||
<resources>
|
<resources/>
|
||||||
<include location="images.qrc"/>
|
|
||||||
</resources>
|
|
||||||
<connections>
|
<connections>
|
||||||
<connection>
|
<connection>
|
||||||
<sender>expandFilesButton</sender>
|
<sender>expandFilesButton</sender>
|
||||||
|
|
|
@ -939,60 +939,6 @@ void RemoteDirModel::getFileInfoFromIndexList(const QModelIndexList& list, std::
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
void RemoteDirModel::recommendSelectedOnly(QModelIndexList list)
|
|
||||||
{
|
|
||||||
#ifdef RDM_DEBUG
|
|
||||||
std::cerr << "recommendSelectedOnly()" << std::endl;
|
|
||||||
#endif
|
|
||||||
if (RemoteMode)
|
|
||||||
{
|
|
||||||
#ifdef RDM_DEBUG
|
|
||||||
std::cerr << "Cannot recommend remote! (should download)" << std::endl;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
rsFiles->ClearInRecommend();
|
|
||||||
|
|
||||||
/* Fire off requests */
|
|
||||||
QModelIndexList::iterator it;
|
|
||||||
for(it = list.begin(); it != list.end(); it++)
|
|
||||||
{
|
|
||||||
void *ref = it -> internalPointer();
|
|
||||||
|
|
||||||
DirDetails details;
|
|
||||||
uint32_t flags = DIR_FLAGS_DETAILS;
|
|
||||||
if (RemoteMode)
|
|
||||||
{
|
|
||||||
flags |= DIR_FLAGS_REMOTE;
|
|
||||||
continue; /* don't recommend remote stuff */
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
flags |= DIR_FLAGS_LOCAL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!rsFiles->RequestDirDetails(ref, details, flags))
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef RDM_DEBUG
|
|
||||||
std::cerr << "::::::::::::FileRecommend:::: " << std::endl;
|
|
||||||
std::cerr << "Name: " << details.name << std::endl;
|
|
||||||
std::cerr << "Hash: " << details.hash << std::endl;
|
|
||||||
std::cerr << "Size: " << details.count << std::endl;
|
|
||||||
std::cerr << "Path: " << details.path << std::endl;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
rsFiles -> FileRecommend(details.name, details.hash, details.count);
|
|
||||||
rsFiles -> SetInRecommend(details.name, true);
|
|
||||||
}
|
|
||||||
#ifdef RDM_DEBUG
|
|
||||||
std::cerr << "::::::::::::Done FileRecommend" << std::endl;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* OLD RECOMMEND SYSTEM - DISABLED
|
* OLD RECOMMEND SYSTEM - DISABLED
|
||||||
******/
|
******/
|
||||||
|
@ -1218,8 +1164,7 @@ QStringList RemoteDirModel::mimeTypes () const
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
|
|
||||||
bool
|
int RemoteDirModel::getType ( const QModelIndex & index ) const
|
||||||
RemoteDirModel::isDir ( const QModelIndex & index ) const
|
|
||||||
{
|
{
|
||||||
//if (RemoteMode) // only local files can be opened
|
//if (RemoteMode) // only local files can be opened
|
||||||
// return ;
|
// return ;
|
||||||
|
@ -1239,5 +1184,5 @@ RemoteDirModel::isDir ( const QModelIndex & index ) const
|
||||||
return false;//not good, but....
|
return false;//not good, but....
|
||||||
}
|
}
|
||||||
|
|
||||||
return (details.type == DIR_TYPE_DIR) ;
|
return details.type;
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,13 +67,9 @@ class RemoteDirModel : public QAbstractItemModel
|
||||||
|
|
||||||
void getDirDetailsFromSelect (QModelIndexList list, std::vector <DirDetails>& dirVec);
|
void getDirDetailsFromSelect (QModelIndexList list, std::vector <DirDetails>& dirVec);
|
||||||
|
|
||||||
bool isDir ( const QModelIndex & index ) const ;
|
int getType ( const QModelIndex & index ) const ;
|
||||||
//void openFile(QModelIndex fileIndex, const QString command);
|
//void openFile(QModelIndex fileIndex, const QString command);
|
||||||
|
|
||||||
//#if 0 /****** REMOVED ******/
|
|
||||||
// void recommendSelected(QModelIndexList list);
|
|
||||||
// void recommendSelectedOnly(QModelIndexList list);
|
|
||||||
//#endif
|
|
||||||
void getFileInfoFromIndexList(const QModelIndexList& list, std::list<DirDetails>& files_info) ;
|
void getFileInfoFromIndexList(const QModelIndexList& list, std::list<DirDetails>& files_info) ;
|
||||||
|
|
||||||
void openSelected(QModelIndexList list, bool openFolder);
|
void openSelected(QModelIndexList list, bool openFolder);
|
||||||
|
|
|
@ -66,8 +66,8 @@ public:
|
||||||
protected:
|
protected:
|
||||||
virtual bool lessThan(const QModelIndex &left, const QModelIndex &right) const
|
virtual bool lessThan(const QModelIndex &left, const QModelIndex &right) const
|
||||||
{
|
{
|
||||||
bool dirLeft = m_dirModel->isDir(left);
|
bool dirLeft = (m_dirModel->getType(left) == DIR_TYPE_DIR);
|
||||||
bool dirRight = m_dirModel->isDir(right);
|
bool dirRight = (m_dirModel->getType(right) == DIR_TYPE_DIR);
|
||||||
|
|
||||||
if (dirLeft ^ dirRight) {
|
if (dirLeft ^ dirRight) {
|
||||||
return dirLeft;
|
return dirLeft;
|
||||||
|
@ -95,10 +95,7 @@ SharedFilesDialog::SharedFilesDialog(QWidget *parent)
|
||||||
connect(ui.remoteButton, SIGNAL(toggled(bool)), this, SLOT(showFrameRemote(bool)));
|
connect(ui.remoteButton, SIGNAL(toggled(bool)), this, SLOT(showFrameRemote(bool)));
|
||||||
connect(ui.splittedButton, SIGNAL(toggled(bool)), this, SLOT(showFrameSplitted(bool)));
|
connect(ui.splittedButton, SIGNAL(toggled(bool)), this, SLOT(showFrameSplitted(bool)));
|
||||||
|
|
||||||
|
connect( ui.localDirTreeView, SIGNAL( customContextMenuRequested( QPoint ) ), this, SLOT( sharedDirTreeWidgetContextMenu( QPoint ) ) );
|
||||||
connect( ui.localDirTreeView, SIGNAL( customContextMenuRequested( QPoint ) ),
|
|
||||||
this, SLOT( sharedDirTreeWidgetContextMenu( QPoint ) ) );
|
|
||||||
|
|
||||||
connect( ui.remoteDirTreeView, SIGNAL( customContextMenuRequested( QPoint ) ), this, SLOT( shareddirtreeviewCostumPopupMenu( QPoint ) ) );
|
connect( ui.remoteDirTreeView, SIGNAL( customContextMenuRequested( QPoint ) ), this, SLOT( shareddirtreeviewCostumPopupMenu( QPoint ) ) );
|
||||||
|
|
||||||
// connect( ui.remoteDirTreeView, SIGNAL( doubleClicked(const QModelIndex&)), this, SLOT( downloadRemoteSelected()));
|
// connect( ui.remoteDirTreeView, SIGNAL( doubleClicked(const QModelIndex&)), this, SLOT( downloadRemoteSelected()));
|
||||||
|
@ -275,27 +272,37 @@ void SharedFilesDialog::forceCheck()
|
||||||
|
|
||||||
void SharedFilesDialog::shareddirtreeviewCostumPopupMenu( QPoint point )
|
void SharedFilesDialog::shareddirtreeviewCostumPopupMenu( QPoint point )
|
||||||
{
|
{
|
||||||
|
QModelIndex idx = ui.remoteDirTreeView->indexAt(point);
|
||||||
|
if (!idx.isValid())
|
||||||
|
return;
|
||||||
|
QModelIndex midx = proxyModel->mapToSource(idx);
|
||||||
|
if (!midx.isValid())
|
||||||
|
return;
|
||||||
|
|
||||||
|
int type = model->getType(midx);
|
||||||
|
if (type != DIR_TYPE_DIR && type != DIR_TYPE_FILE) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
QMenu contextMnu( this );
|
QMenu contextMnu( this );
|
||||||
|
|
||||||
QAction *downloadAct = new QAction(QIcon(IMAGE_DOWNLOAD), tr( "Download" ), &contextMnu );
|
QAction *downloadAct = new QAction(QIcon(IMAGE_DOWNLOAD), tr( "Download" ), &contextMnu );
|
||||||
connect( downloadAct , SIGNAL( triggered() ), this, SLOT( downloadRemoteSelected() ) );
|
connect( downloadAct , SIGNAL( triggered() ), this, SLOT( downloadRemoteSelected() ) );
|
||||||
|
contextMnu.addAction( downloadAct);
|
||||||
|
|
||||||
|
if (type == DIR_TYPE_FILE) {
|
||||||
QAction *copyremotelinkAct = new QAction(QIcon(IMAGE_COPYLINK), tr( "Copy retroshare Link" ), &contextMnu );
|
QAction *copyremotelinkAct = new QAction(QIcon(IMAGE_COPYLINK), tr( "Copy retroshare Link" ), &contextMnu );
|
||||||
connect( copyremotelinkAct , SIGNAL( triggered() ), this, SLOT( copyLinkRemote() ) );
|
connect( copyremotelinkAct , SIGNAL( triggered() ), this, SLOT( copyLinkRemote() ) );
|
||||||
|
|
||||||
QAction *sendremotelinkAct = new QAction(QIcon(IMAGE_COPYLINK), tr( "Send retroshare Link" ), &contextMnu );
|
QAction *sendremotelinkAct = new QAction(QIcon(IMAGE_COPYLINK), tr( "Send retroshare Link" ), &contextMnu );
|
||||||
connect( sendremotelinkAct , SIGNAL( triggered() ), this, SLOT( sendremoteLinkTo( ) ) );
|
connect( sendremotelinkAct , SIGNAL( triggered() ), this, SLOT( sendremoteLinkTo( ) ) );
|
||||||
|
|
||||||
|
|
||||||
// addMsgAct = new QAction( tr( "Add to Message" ), this );
|
|
||||||
// connect( addMsgAct , SIGNAL( triggered() ), this, SLOT( addMsgRemoteSelected() ) );
|
|
||||||
|
|
||||||
|
|
||||||
contextMnu.addAction( downloadAct);
|
|
||||||
contextMnu.addSeparator();
|
contextMnu.addSeparator();
|
||||||
contextMnu.addAction( copyremotelinkAct);
|
contextMnu.addAction( copyremotelinkAct);
|
||||||
contextMnu.addAction( sendremotelinkAct);
|
contextMnu.addAction( sendremotelinkAct);
|
||||||
// contextMnu.addAction( addMsgAct);
|
contextMnu.addSeparator();
|
||||||
|
contextMnu.addAction(QIcon(IMAGE_MSG), tr("Recommend in a message to"), this, SLOT(addMsgRemoteSelected()));
|
||||||
|
}
|
||||||
|
|
||||||
contextMnu.exec(QCursor::pos());
|
contextMnu.exec(QCursor::pos());
|
||||||
}
|
}
|
||||||
|
@ -539,88 +546,31 @@ void SharedFilesDialog::playselectedfiles()
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SharedFilesDialog::addMsgRemoteSelected()
|
||||||
//#if 0
|
|
||||||
|
|
||||||
//void SharedFilesDialog::addMsgRemoteSelected()
|
|
||||||
//{
|
|
||||||
// /* call back to the model (which does all the interfacing? */
|
|
||||||
//
|
|
||||||
// std::cerr << "Recommending Files";
|
|
||||||
// std::cerr << std::endl;
|
|
||||||
//
|
|
||||||
// model -> recommendSelected(getRemoteSelected());
|
|
||||||
//}
|
|
||||||
|
|
||||||
|
|
||||||
//void SharedFilesDialog::recommendfile()
|
|
||||||
//{
|
|
||||||
// /* call back to the model (which does all the interfacing? */
|
|
||||||
//
|
|
||||||
// std::cerr << "Recommending Files";
|
|
||||||
// std::cerr << std::endl;
|
|
||||||
//
|
|
||||||
// localModel -> recommendSelected(getLocalSelected());
|
|
||||||
//}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//void SharedFilesDialog::recommendFileSetOnly()
|
|
||||||
//{
|
|
||||||
// /* call back to the model (which does all the interfacing? */
|
|
||||||
//
|
|
||||||
// std::cerr << "Recommending File Set (clearing old selection)";
|
|
||||||
// std::cerr << std::endl;
|
|
||||||
//
|
|
||||||
// /* clear current recommend Selection done by model */
|
|
||||||
//
|
|
||||||
// localModel -> recommendSelectedOnly(getLocalSelected());
|
|
||||||
//}
|
|
||||||
|
|
||||||
|
|
||||||
void SharedFilesDialog::recommendFilesTo( std::string rsid )
|
|
||||||
{
|
{
|
||||||
// recommendFileSetOnly();
|
|
||||||
// rsicontrol -> ClearInMsg();
|
|
||||||
// rsicontrol -> SetInMsg(rsid, true);
|
|
||||||
|
|
||||||
std::list<DirDetails> files_info ;
|
std::list<DirDetails> files_info ;
|
||||||
|
|
||||||
localModel->getFileInfoFromIndexList(getLocalSelected(),files_info);
|
model->getFileInfoFromIndexList(getRemoteSelected(),files_info);
|
||||||
|
|
||||||
if(files_info.empty())
|
if(files_info.empty())
|
||||||
return ;
|
return ;
|
||||||
|
|
||||||
/* create a message */
|
/* create a message */
|
||||||
|
|
||||||
MessageComposer *nMsgDialog = MessageComposer::newMsg();
|
MessageComposer *nMsgDialog = MessageComposer::newMsg();
|
||||||
if (nMsgDialog == NULL) {
|
if (nMsgDialog == NULL) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* fill it in
|
|
||||||
* files are receommended already
|
|
||||||
* just need to set peers
|
|
||||||
*/
|
|
||||||
|
|
||||||
nMsgDialog->insertFileList(files_info) ;
|
nMsgDialog->insertFileList(files_info) ;
|
||||||
nMsgDialog->insertTitleText(tr("Recommendation(s)"));
|
nMsgDialog->insertTitleText(tr("Recommendation(s)"));
|
||||||
|
nMsgDialog->insertMsgText(tr("Recommendation(s)"));
|
||||||
QString peerName = QString::fromStdString(rsPeers->getPeerName(rsPeers->getOwnId()));
|
nMsgDialog->show();
|
||||||
if (files_info.size() > 1) {
|
|
||||||
nMsgDialog->insertMsgText(tr("%1 recommends a list of files to you").arg(peerName));
|
|
||||||
} else {
|
|
||||||
nMsgDialog->insertMsgText(tr("%1 recommends a file to you").arg(peerName));
|
|
||||||
}
|
|
||||||
nMsgDialog->addRecipient(MessageComposer::TO, rsid, false) ;
|
|
||||||
|
|
||||||
nMsgDialog->sendMessage();
|
|
||||||
nMsgDialog->close();
|
|
||||||
|
|
||||||
/* window will destroy itself! */
|
/* window will destroy itself! */
|
||||||
}
|
}
|
||||||
|
|
||||||
void SharedFilesDialog::recommendFilesToMsg( std::string rsid )
|
void SharedFilesDialog::recommendFilesToMsg()
|
||||||
{
|
{
|
||||||
std::list<DirDetails> files_info ;
|
std::list<DirDetails> files_info ;
|
||||||
|
|
||||||
|
@ -641,15 +591,9 @@ void SharedFilesDialog::recommendFilesToMsg( std::string rsid )
|
||||||
nMsgDialog->insertMsgText(tr("Recommendation(s)"));
|
nMsgDialog->insertMsgText(tr("Recommendation(s)"));
|
||||||
nMsgDialog->show();
|
nMsgDialog->show();
|
||||||
|
|
||||||
std::cout << "recommending to " << rsid << std::endl ;
|
|
||||||
nMsgDialog->addRecipient(MessageComposer::TO, rsid, false) ;
|
|
||||||
|
|
||||||
/* window will destroy itself! */
|
/* window will destroy itself! */
|
||||||
}
|
}
|
||||||
|
|
||||||
//#endif
|
|
||||||
|
|
||||||
|
|
||||||
void SharedFilesDialog::openfile()
|
void SharedFilesDialog::openfile()
|
||||||
{
|
{
|
||||||
/* call back to the model (which does all the interfacing? */
|
/* call back to the model (which does all the interfacing? */
|
||||||
|
@ -700,17 +644,23 @@ void SharedFilesDialog::postModDirectories(bool update_local)
|
||||||
|
|
||||||
void SharedFilesDialog::sharedDirTreeWidgetContextMenu( QPoint point )
|
void SharedFilesDialog::sharedDirTreeWidgetContextMenu( QPoint point )
|
||||||
{
|
{
|
||||||
//=== at this moment we'll show menu only for files, not for folders
|
if (!rsPeers) {
|
||||||
|
/* not ready yet! */
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
QModelIndex idx = ui.localDirTreeView->indexAt(point);
|
QModelIndex idx = ui.localDirTreeView->indexAt(point);
|
||||||
if (!idx.isValid())
|
if (!idx.isValid())
|
||||||
return;
|
return;
|
||||||
QModelIndex midx = localProxyModel->mapToSource(idx);
|
QModelIndex midx = localProxyModel->mapToSource(idx);
|
||||||
if (!midx.isValid())
|
if (!midx.isValid())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
currentFile = localModel->data(midx, RemoteDirModel::FileNameRole).toString();
|
currentFile = localModel->data(midx, RemoteDirModel::FileNameRole).toString();
|
||||||
|
|
||||||
QMenu contextMnu2( this );
|
int type = localModel->getType(midx);
|
||||||
//
|
|
||||||
|
QMenu contextMnu(this);
|
||||||
|
|
||||||
// QAction* menuAction = fileAssotiationAction(currentFile) ;
|
// QAction* menuAction = fileAssotiationAction(currentFile) ;
|
||||||
//new QAction(QIcon(IMAGE_PLAY), currentFile, this);
|
//new QAction(QIcon(IMAGE_PLAY), currentFile, this);
|
||||||
|
@ -718,93 +668,31 @@ void SharedFilesDialog::sharedDirTreeWidgetContextMenu( QPoint point )
|
||||||
// connect( openfolderAct , SIGNAL( triggered() ), this,
|
// connect( openfolderAct , SIGNAL( triggered() ), this,
|
||||||
// SLOT( playselectedfiles() ) );
|
// SLOT( playselectedfiles() ) );
|
||||||
|
|
||||||
// openfileAct = new QAction(QIcon(IMAGE_ATTACHMENT), tr( "Add to Recommend List" ), this );
|
switch (type) {
|
||||||
// connect( openfileAct , SIGNAL( triggered() ), this, SLOT( recommendfile() ) );
|
case DIR_TYPE_DIR:
|
||||||
|
contextMnu.addAction(openfolderAct);
|
||||||
// #if 0
|
break;
|
||||||
/* now we're going to ask who to recommend it to...
|
case DIR_TYPE_FILE:
|
||||||
* First Level.
|
contextMnu.addAction(openfileAct);
|
||||||
*
|
contextMnu.addSeparator();
|
||||||
* Add to Recommend List.
|
contextMnu.addAction(copylinklocalAct);
|
||||||
* Recommend to >
|
// contextMnu.addAction(copylinklocalhtmlAct);
|
||||||
* all.
|
contextMnu.addAction(sendlinkAct);
|
||||||
* list of <people>
|
// contextMnu.addAction(sendhtmllinkAct);
|
||||||
* Recommend with msg >
|
contextMnu.addSeparator();
|
||||||
* all.
|
#ifndef RS_RELEASE_VERSION
|
||||||
* list of <people>
|
contextMnu.addAction(sendlinkCloudAct);
|
||||||
*
|
contextMnu.addAction(addlinkCloudAct);
|
||||||
*/
|
contextMnu.addSeparator();
|
||||||
|
#endif
|
||||||
QMenu recMenu( tr("Recommend (Automated message) To "), this );
|
contextMnu.addSeparator();
|
||||||
recMenu.setIcon(QIcon(IMAGE_ATTACHMENT));
|
contextMnu.addAction(QIcon(IMAGE_MSG), tr("Recommend in a message to"), this, SLOT(recommendFilesToMsg()));
|
||||||
QMenu msgMenu( tr("Recommend in a message to "), &contextMnu2 );
|
break;
|
||||||
msgMenu.setIcon(QIcon(IMAGE_MSG));
|
default:
|
||||||
|
|
||||||
std::list<std::string> peers;
|
|
||||||
std::list<std::string>::iterator it;
|
|
||||||
|
|
||||||
if (!rsPeers)
|
|
||||||
{
|
|
||||||
/* not ready yet! */
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
rsPeers->getFriendList(peers);
|
contextMnu.exec(QCursor::pos());
|
||||||
|
|
||||||
for(it = peers.begin(); it != peers.end(); it++)
|
|
||||||
{
|
|
||||||
RsPeerDetails details ;
|
|
||||||
if(!rsPeers->getPeerDetails(*it,details))
|
|
||||||
continue ;
|
|
||||||
|
|
||||||
QString nn = PeerDefs::nameWithLocation(details);
|
|
||||||
|
|
||||||
/* parents are
|
|
||||||
* recMenu
|
|
||||||
* msgMenu
|
|
||||||
*/
|
|
||||||
|
|
||||||
RsAction *qaf1 = new RsAction( QIcon(IMAGE_FRIEND), nn, &recMenu, *it );
|
|
||||||
connect( qaf1 , SIGNAL( triggeredId( std::string ) ), this, SLOT( recommendFilesTo( std::string ) ) );
|
|
||||||
RsAction *qaf2 = new RsAction( QIcon(IMAGE_FRIEND), nn, &msgMenu, *it );
|
|
||||||
connect( qaf2 , SIGNAL( triggeredId( std::string ) ), this, SLOT( recommendFilesToMsg( std::string ) ) );
|
|
||||||
|
|
||||||
recMenu.addAction(qaf1);
|
|
||||||
msgMenu.addAction(qaf2);
|
|
||||||
|
|
||||||
/* create list of ids */
|
|
||||||
|
|
||||||
}
|
|
||||||
//#endif
|
|
||||||
|
|
||||||
if(localModel->isDir( midx ) )
|
|
||||||
contextMnu2.addAction( openfolderAct);
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// contextMnu2.addAction( menuAction );
|
|
||||||
contextMnu2.addAction( openfileAct);
|
|
||||||
}
|
|
||||||
|
|
||||||
contextMnu2.addSeparator();
|
|
||||||
|
|
||||||
if(!localModel->isDir( midx ) )
|
|
||||||
{
|
|
||||||
contextMnu2.addAction( copylinklocalAct);
|
|
||||||
// contextMnu2.addAction( copylinklocalhtmlAct);
|
|
||||||
contextMnu2.addAction( sendlinkAct);
|
|
||||||
// contextMnu2.addAction( sendhtmllinkAct);
|
|
||||||
// contextMnu2.addAction( sendchatlinkAct);
|
|
||||||
contextMnu2.addSeparator();
|
|
||||||
#ifndef RS_RELEASE_VERSION
|
|
||||||
contextMnu2.addAction( sendlinkCloudAct);
|
|
||||||
contextMnu2.addAction( addlinkCloudAct);
|
|
||||||
contextMnu2.addSeparator();
|
|
||||||
#endif
|
|
||||||
contextMnu2.addMenu( &recMenu);
|
|
||||||
contextMnu2.addMenu( &msgMenu);
|
|
||||||
}
|
|
||||||
|
|
||||||
contextMnu2.exec(QCursor::pos());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
|
|
|
@ -56,7 +56,7 @@ private slots:
|
||||||
void sharedDirTreeWidgetContextMenu( QPoint point );
|
void sharedDirTreeWidgetContextMenu( QPoint point );
|
||||||
|
|
||||||
void downloadRemoteSelected();
|
void downloadRemoteSelected();
|
||||||
// void addMsgRemoteSelected();
|
void addMsgRemoteSelected();
|
||||||
|
|
||||||
void copyLinkRemote();
|
void copyLinkRemote();
|
||||||
void copyLinkLocal();
|
void copyLinkLocal();
|
||||||
|
@ -66,20 +66,16 @@ private slots:
|
||||||
void sendHtmlLinkTo();
|
void sendHtmlLinkTo();
|
||||||
void sendLinkToCloud();
|
void sendLinkToCloud();
|
||||||
void addLinkToCloud();
|
void addLinkToCloud();
|
||||||
// void sendLinktoChat();
|
|
||||||
|
|
||||||
void showFrame(bool show);
|
void showFrame(bool show);
|
||||||
void showFrameRemote(bool show);
|
void showFrameRemote(bool show);
|
||||||
void showFrameSplitted(bool show);
|
void showFrameSplitted(bool show);
|
||||||
|
|
||||||
// void recommendfile();
|
|
||||||
void playselectedfiles();
|
void playselectedfiles();
|
||||||
void openfile();
|
void openfile();
|
||||||
void openfolder();
|
void openfolder();
|
||||||
|
|
||||||
// void recommendFileSetOnly();
|
void recommendFilesToMsg();
|
||||||
void recommendFilesTo( std::string rsid );
|
|
||||||
void recommendFilesToMsg( std::string rsid );
|
|
||||||
void runCommandForFile();
|
void runCommandForFile();
|
||||||
void tryToAddNewAssotiation();
|
void tryToAddNewAssotiation();
|
||||||
|
|
||||||
|
|
|
@ -477,6 +477,7 @@ void AttachFileItem::updateItem()
|
||||||
case AFI_STATE_LOCAL:
|
case AFI_STATE_LOCAL:
|
||||||
repeat = 0;
|
repeat = 0;
|
||||||
emit fileFinished(this);
|
emit fileFinished(this);
|
||||||
|
hide(); // auto hide
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AFI_STATE_UPLOAD:
|
case AFI_STATE_UPLOAD:
|
||||||
|
|
|
@ -75,6 +75,11 @@
|
||||||
#define ROLE_RECIPIENT_ID Qt::UserRole
|
#define ROLE_RECIPIENT_ID Qt::UserRole
|
||||||
#define ROLE_RECIPIENT_GROUP Qt::UserRole + 1
|
#define ROLE_RECIPIENT_GROUP Qt::UserRole + 1
|
||||||
|
|
||||||
|
#define COLUMN_FILE_NAME 0
|
||||||
|
#define COLUMN_FILE_SIZE 1
|
||||||
|
#define COLUMN_FILE_HASH 2
|
||||||
|
#define COLUMN_FILE_COUNT 3
|
||||||
|
|
||||||
#define STYLE_NORMAL "QLineEdit#%1 { border : none; }"
|
#define STYLE_NORMAL "QLineEdit#%1 { border : none; }"
|
||||||
#define STYLE_FAIL "QLineEdit#%1 { border : none; color : red; }"
|
#define STYLE_FAIL "QLineEdit#%1 { border : none; color : red; }"
|
||||||
|
|
||||||
|
@ -242,16 +247,11 @@ MessageComposer::MessageComposer(QWidget *parent, Qt::WFlags flags)
|
||||||
ui.colorbtn->setIcon(pxm);
|
ui.colorbtn->setIcon(pxm);
|
||||||
|
|
||||||
/* Set header resize modes and initial section sizes */
|
/* Set header resize modes and initial section sizes */
|
||||||
ui.msgFileList->setColumnCount(5);
|
|
||||||
ui.msgFileList->setColumnHidden ( 4, true);
|
|
||||||
|
|
||||||
QHeaderView * _smheader = ui.msgFileList->header () ;
|
QHeaderView * _smheader = ui.msgFileList->header () ;
|
||||||
|
|
||||||
_smheader->resizeSection ( 0, 200 );
|
_smheader->resizeSection(COLUMN_FILE_NAME, 200);
|
||||||
_smheader->resizeSection ( 1, 60 );
|
_smheader->resizeSection(COLUMN_FILE_SIZE, 60);
|
||||||
_smheader->resizeSection ( 2, 60 );
|
_smheader->resizeSection(COLUMN_FILE_HASH, 220);
|
||||||
_smheader->resizeSection ( 3, 220 );
|
|
||||||
_smheader->resizeSection ( 4, 10 );
|
|
||||||
|
|
||||||
QPalette palette = QApplication::palette();
|
QPalette palette = QApplication::palette();
|
||||||
codeBackground = palette.color( QPalette::Active, QPalette::Midlight );
|
codeBackground = palette.color( QPalette::Active, QPalette::Midlight );
|
||||||
|
@ -679,7 +679,6 @@ void MessageComposer::insertFileList(const std::list<DirDetails>& dir_info)
|
||||||
FileInfo info ;
|
FileInfo info ;
|
||||||
info.fname = it->name ;
|
info.fname = it->name ;
|
||||||
info.hash = it->hash ;
|
info.hash = it->hash ;
|
||||||
info.rank = 0;//it->rank ;
|
|
||||||
info.size = it->count ;
|
info.size = it->count ;
|
||||||
info.inRecommend = true;
|
info.inRecommend = true;
|
||||||
files_info.push_back(info) ;
|
files_info.push_back(info) ;
|
||||||
|
@ -692,37 +691,31 @@ void MessageComposer::insertFileList(const std::list<FileInfo>& files_info)
|
||||||
{
|
{
|
||||||
_recList.clear() ;
|
_recList.clear() ;
|
||||||
|
|
||||||
|
ui.msgFileList->clear();
|
||||||
|
|
||||||
std::list<FileInfo>::const_iterator it;
|
std::list<FileInfo>::const_iterator it;
|
||||||
|
for(it = files_info.begin(); it != files_info.end(); it++) {
|
||||||
/* get a link to the table */
|
addFile(*it);
|
||||||
QTreeWidget *tree = ui.msgFileList;
|
|
||||||
|
|
||||||
tree->clear();
|
|
||||||
tree->setColumnCount(5);
|
|
||||||
|
|
||||||
QList<QTreeWidgetItem *> items;
|
|
||||||
for(it = files_info.begin(); it != files_info.end(); it++)
|
|
||||||
{
|
|
||||||
_recList.push_back(*it) ;
|
|
||||||
|
|
||||||
/* make a widget per person */
|
|
||||||
QTreeWidgetItem *item = new QTreeWidgetItem((QTreeWidget*)0);
|
|
||||||
|
|
||||||
item->setText(0, QString::fromUtf8(it->fname.c_str())); /* (0) Filename */
|
|
||||||
item->setText(1, misc::friendlyUnit(it->size)); /* (1) Size */
|
|
||||||
item->setText(2, QString::number(0)) ;//it->rank));
|
|
||||||
item->setText(3, QString::fromStdString(it->hash));
|
|
||||||
item->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled);
|
|
||||||
item->setCheckState(0, it->inRecommend ? Qt::Checked : Qt::Unchecked);
|
|
||||||
|
|
||||||
/* add to the list */
|
|
||||||
items.append(item);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* add the items in! */
|
ui.msgFileList->update(); /* update display */
|
||||||
tree->insertTopLevelItems(0, items);
|
}
|
||||||
|
|
||||||
tree->update(); /* update display */
|
void MessageComposer::addFile(const FileInfo &fileInfo)
|
||||||
|
{
|
||||||
|
_recList.push_back(fileInfo) ;
|
||||||
|
|
||||||
|
/* make a widget per person */
|
||||||
|
QTreeWidgetItem *item = new QTreeWidgetItem;
|
||||||
|
|
||||||
|
item->setText(COLUMN_FILE_NAME, QString::fromUtf8(fileInfo.fname.c_str()));
|
||||||
|
item->setText(COLUMN_FILE_SIZE, misc::friendlyUnit(fileInfo.size));
|
||||||
|
item->setText(COLUMN_FILE_HASH, QString::fromStdString(fileInfo.hash));
|
||||||
|
item->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled);
|
||||||
|
item->setCheckState(COLUMN_FILE_NAME, fileInfo.inRecommend ? Qt::Checked : Qt::Unchecked);
|
||||||
|
|
||||||
|
/* add to the list */
|
||||||
|
ui.msgFileList->addTopLevelItem(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* title changed */
|
/* title changed */
|
||||||
|
@ -2141,13 +2134,13 @@ void MessageComposer::fileHashingFinished(AttachFileItem* file)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
RetroShareLink message(QString::fromUtf8(file->FileName().c_str()), file->FileSize(), QString::fromStdString(file->FileHash()));
|
FileInfo fileInfo;
|
||||||
#ifdef CHAT_DEBUG
|
fileInfo.fname = file->FileName();
|
||||||
std::cerr << "MessageComposer::anchorClicked message : " << message.toHtmlFull().toStdString() << std::endl;
|
fileInfo.hash = file->FileHash();
|
||||||
#endif
|
fileInfo.size = file->FileSize();
|
||||||
|
fileInfo.inRecommend = true;
|
||||||
|
|
||||||
ui.msgText->textCursor().insertHtml(message.toHtmlFull() + QString("<br>"));
|
addFile(fileInfo);
|
||||||
ui.msgText->setFocus( Qt::OtherFocusReason );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageComposer::checkAttachmentReady()
|
void MessageComposer::checkAttachmentReady()
|
||||||
|
|
|
@ -59,6 +59,7 @@ public:
|
||||||
void insertSendList();
|
void insertSendList();
|
||||||
void insertFileList(const std::list<DirDetails>&);
|
void insertFileList(const std::list<DirDetails>&);
|
||||||
void insertFileList(const std::list<FileInfo>&);
|
void insertFileList(const std::list<FileInfo>&);
|
||||||
|
void addFile(const FileInfo &fileInfo);
|
||||||
void insertTitleText(const QString &title, enumMessageType type = NORMAL);
|
void insertTitleText(const QString &title, enumMessageType type = NORMAL);
|
||||||
void insertPastedText(QString msg) ;
|
void insertPastedText(QString msg) ;
|
||||||
void insertForwardPastedText(QString msg);
|
void insertForwardPastedText(QString msg);
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
<string>Compose</string>
|
<string>Compose</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowIcon">
|
<property name="windowIcon">
|
||||||
<iconset resource="../images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/folder-draft.png</normaloff>:/images/folder-draft.png</iconset>
|
<normaloff>:/images/folder-draft.png</normaloff>:/images/folder-draft.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="styleSheet">
|
<property name="styleSheet">
|
||||||
|
@ -379,7 +379,7 @@ border: 1px solid #CCCCCC;}</string>
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="../images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/textedit/format_font_size_more.png</normaloff>:/images/textedit/format_font_size_more.png</iconset>
|
<normaloff>:/images/textedit/format_font_size_more.png</normaloff>:/images/textedit/format_font_size_more.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="iconSize">
|
<property name="iconSize">
|
||||||
|
@ -408,7 +408,7 @@ border: 1px solid #CCCCCC;}</string>
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="../images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/textedit/format_font_size_less.png</normaloff>:/images/textedit/format_font_size_less.png</iconset>
|
<normaloff>:/images/textedit/format_font_size_less.png</normaloff>:/images/textedit/format_font_size_less.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="iconSize">
|
<property name="iconSize">
|
||||||
|
@ -443,7 +443,7 @@ border: 1px solid #CCCCCC;}</string>
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="../images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/textedit/textbold.png</normaloff>:/images/textedit/textbold.png</iconset>
|
<normaloff>:/images/textedit/textbold.png</normaloff>:/images/textedit/textbold.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="iconSize">
|
<property name="iconSize">
|
||||||
|
@ -481,7 +481,7 @@ border: 1px solid #CCCCCC;}</string>
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="../images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/textedit/textunder.png</normaloff>:/images/textedit/textunder.png</iconset>
|
<normaloff>:/images/textedit/textunder.png</normaloff>:/images/textedit/textunder.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="iconSize">
|
<property name="iconSize">
|
||||||
|
@ -519,7 +519,7 @@ border: 1px solid #CCCCCC;}</string>
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="../images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/textedit/textitalic.png</normaloff>:/images/textedit/textitalic.png</iconset>
|
<normaloff>:/images/textedit/textitalic.png</normaloff>:/images/textedit/textitalic.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="iconSize">
|
<property name="iconSize">
|
||||||
|
@ -616,7 +616,7 @@ border: 1px solid #CCCCCC;}</string>
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="../images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/add_image24.png</normaloff>:/images/add_image24.png</iconset>
|
<normaloff>:/images/add_image24.png</normaloff>:/images/add_image24.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="iconSize">
|
<property name="iconSize">
|
||||||
|
@ -639,7 +639,7 @@ border: 1px solid #CCCCCC;}</string>
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="../images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/textedit/hi22-action-format-text-code.png</normaloff>:/images/textedit/hi22-action-format-text-code.png</iconset>
|
<normaloff>:/images/textedit/hi22-action-format-text-code.png</normaloff>:/images/textedit/hi22-action-format-text-code.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="iconSize">
|
<property name="iconSize">
|
||||||
|
@ -805,11 +805,6 @@ border: 1px solid #CCCCCC;}</string>
|
||||||
<string>Size</string>
|
<string>Size</string>
|
||||||
</property>
|
</property>
|
||||||
</column>
|
</column>
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string>Sources</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
<column>
|
<column>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Hash</string>
|
<string>Hash</string>
|
||||||
|
@ -866,7 +861,7 @@ border: 1px solid #CCCCCC;}</string>
|
||||||
</widget>
|
</widget>
|
||||||
<action name="actionSend">
|
<action name="actionSend">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="../images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/send24.png</normaloff>:/images/send24.png</iconset>
|
<normaloff>:/images/send24.png</normaloff>:/images/send24.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -878,7 +873,7 @@ border: 1px solid #CCCCCC;}</string>
|
||||||
</action>
|
</action>
|
||||||
<action name="actionReply">
|
<action name="actionReply">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="../images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/replymail24.png</normaloff>:/images/replymail24.png</iconset>
|
<normaloff>:/images/replymail24.png</normaloff>:/images/replymail24.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -887,7 +882,7 @@ border: 1px solid #CCCCCC;}</string>
|
||||||
</action>
|
</action>
|
||||||
<action name="actionContactsView">
|
<action name="actionContactsView">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="../images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/contacts24.png</normaloff>:/images/contacts24.png</iconset>
|
<normaloff>:/images/contacts24.png</normaloff>:/images/contacts24.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -899,7 +894,7 @@ border: 1px solid #CCCCCC;}</string>
|
||||||
</action>
|
</action>
|
||||||
<action name="actionSaveas">
|
<action name="actionSaveas">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="../images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/save24.png</normaloff>:/images/save24.png</iconset>
|
<normaloff>:/images/save24.png</normaloff>:/images/save24.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -911,7 +906,7 @@ border: 1px solid #CCCCCC;}</string>
|
||||||
</action>
|
</action>
|
||||||
<action name="actionAttach">
|
<action name="actionAttach">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="../images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/attach.png</normaloff>:/images/attach.png</iconset>
|
<normaloff>:/images/attach.png</normaloff>:/images/attach.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -926,7 +921,7 @@ border: 1px solid #CCCCCC;}</string>
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="../images.qrc">
|
<iconset>
|
||||||
<normaloff>:/images/quote_24.png</normaloff>:/images/quote_24.png</iconset>
|
<normaloff>:/images/quote_24.png</normaloff>:/images/quote_24.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -942,8 +937,6 @@ border: 1px solid #CCCCCC;}</string>
|
||||||
<tabstop>msgText</tabstop>
|
<tabstop>msgText</tabstop>
|
||||||
<tabstop>msgFileList</tabstop>
|
<tabstop>msgFileList</tabstop>
|
||||||
</tabstops>
|
</tabstops>
|
||||||
<resources>
|
<resources/>
|
||||||
<include location="../images.qrc"/>
|
|
||||||
</resources>
|
|
||||||
<connections/>
|
<connections/>
|
||||||
</ui>
|
</ui>
|
||||||
|
|
Binary file not shown.
|
@ -862,7 +862,7 @@ p, li { white-space: pre-wrap; }
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+26"/>
|
<location line="+26"/>
|
||||||
<location filename="../gui/feeds/ChanMsgItem.cpp" line="+292"/>
|
<location filename="../gui/feeds/ChanMsgItem.cpp" line="+316"/>
|
||||||
<source>Expand</source>
|
<source>Expand</source>
|
||||||
<translation>Erweitern</translation>
|
<translation>Erweitern</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -896,7 +896,17 @@ p, li { white-space: pre-wrap; }
|
||||||
<translation>Kanal abbestellen</translation>
|
<translation>Kanal abbestellen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../gui/feeds/ChanMsgItem.cpp" line="-6"/>
|
<location line="+79"/>
|
||||||
|
<source>TextLabel</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../gui/feeds/ChanMsgItem.cpp" line="-102"/>
|
||||||
|
<source>Warning! You have less than %1 hours and %2 minute before this file is delted Consider saving it.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location line="+96"/>
|
||||||
<source>Hide</source>
|
<source>Hide</source>
|
||||||
<translation>Verbergen</translation>
|
<translation>Verbergen</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -1064,7 +1074,7 @@ p, li { white-space: pre-wrap; }
|
||||||
<translation>Kanal abbestellen</translation>
|
<translation>Kanal abbestellen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../gui/ChannelFeed.cpp" line="+87"/>
|
<location filename="../gui/ChannelFeed.cpp" line="+91"/>
|
||||||
<source>Name</source>
|
<source>Name</source>
|
||||||
<translation>Name</translation>
|
<translation>Name</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -1093,9 +1103,14 @@ p, li { white-space: pre-wrap; }
|
||||||
<source>Other Channels</source>
|
<source>Other Channels</source>
|
||||||
<translation>Andere Kanäle</translation>
|
<translation>Andere Kanäle</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location line="+410"/>
|
||||||
|
<source>Popularity: %1</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../gui/ChannelFeed.ui" line="-162"/>
|
<location filename="../gui/ChannelFeed.ui" line="-162"/>
|
||||||
<location filename="../gui/ChannelFeed.cpp" line="+38"/>
|
<location filename="../gui/ChannelFeed.cpp" line="-372"/>
|
||||||
<source>Post to Channel</source>
|
<source>Post to Channel</source>
|
||||||
<translation>Kanalbeitrag erstellen</translation>
|
<translation>Kanalbeitrag erstellen</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -1120,21 +1135,20 @@ p, li { white-space: pre-wrap; }
|
||||||
<translation>Verteile Kanal</translation>
|
<translation>Verteile Kanal</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+314"/>
|
|
||||||
<source>Popularity: %1
|
<source>Popularity: %1
|
||||||
Fetches: %2
|
Fetches: %2
|
||||||
Available: %3</source>
|
Available: %3</source>
|
||||||
<translation>Popularität: %1
|
<translation type="obsolete">Popularität: %1
|
||||||
Abgeholt: %2
|
Abgeholt: %2
|
||||||
Verfügbar: %3</translation>
|
Verfügbar: %3</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+128"/>
|
<location line="+484"/>
|
||||||
<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="-448"/>
|
<location line="-490"/>
|
||||||
<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>
|
||||||
|
@ -5309,18 +5323,18 @@ 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="+737"/>
|
<location filename="../gui/msgs/MessageComposer.cpp" line="+730"/>
|
||||||
<source>Compose</source>
|
<source>Compose</source>
|
||||||
<translation>Verfassen</translation>
|
<translation>Verfassen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+49"/>
|
<location line="+49"/>
|
||||||
<location line="+828"/>
|
<location line="+823"/>
|
||||||
<source>Contacts</source>
|
<source>Contacts</source>
|
||||||
<translation>Kontakte</translation>
|
<translation>Kontakte</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-813"/>
|
<location line="-808"/>
|
||||||
<source>Search for Name:</source>
|
<source>Search for Name:</source>
|
||||||
<translation>Suche Name:</translation>
|
<translation>Suche Name:</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -5481,9 +5495,8 @@ Bitte gib etwas Speicher frei und drücke OK.</translation>
|
||||||
<translation>Grösse</translation>
|
<translation>Grösse</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+5"/>
|
|
||||||
<source>Sources</source>
|
<source>Sources</source>
|
||||||
<translation>Quellen</translation>
|
<translation type="obsolete">Quellen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+5"/>
|
<location line="+5"/>
|
||||||
|
@ -5541,7 +5554,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="-1073"/>
|
<location filename="../gui/msgs/MessageComposer.cpp" line="-1061"/>
|
||||||
<source>&Left</source>
|
<source>&Left</source>
|
||||||
<translation>&Links</translation>
|
<translation>&Links</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -5561,20 +5574,20 @@ Bitte gib etwas Speicher frei und drücke OK.</translation>
|
||||||
<translation>&Blocksatz</translation>
|
<translation>&Blocksatz</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+211"/>
|
<location line="+206"/>
|
||||||
<location line="+1541"/>
|
<location line="+1534"/>
|
||||||
<source>Save Message</source>
|
<source>Save Message</source>
|
||||||
<translation>Nachricht speichern</translation>
|
<translation>Nachricht speichern</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-1540"/>
|
<location line="-1533"/>
|
||||||
<source>Message has not been Sent.
|
<source>Message has not been Sent.
|
||||||
Do you want to save message to draft box?</source>
|
Do you want to save message to draft box?</source>
|
||||||
<translation>Nachricht wurde noch nicht gesendet.
|
<translation>Nachricht wurde noch nicht gesendet.
|
||||||
Möchtest Du die Nachricht in den Entwürfen speichern?</translation>
|
Möchtest Du die Nachricht in den Entwürfen speichern?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+580"/>
|
<location line="+573"/>
|
||||||
<source>Re:</source>
|
<source>Re:</source>
|
||||||
<translation>Re:</translation>
|
<translation>Re:</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -5758,17 +5771,17 @@ Willst Du die Nachricht speichern ?</translation>
|
||||||
<translation>Zusätzliche Datei hinzufügen</translation>
|
<translation>Zusätzliche Datei hinzufügen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-1702"/>
|
<location line="-1695"/>
|
||||||
<source>Friend Recommendation(s)</source>
|
<source>Friend Recommendation(s)</source>
|
||||||
<translation>Freundempfehlung(en)</translation>
|
<translation>Freundempfehlung(en)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+500"/>
|
<location line="+493"/>
|
||||||
<source>No Title</source>
|
<source>No Title</source>
|
||||||
<translation>Kein Titel</translation>
|
<translation>Kein Titel</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-498"/>
|
<location line="-491"/>
|
||||||
<source>I recommend a good friend of me, you can trust him too when you trust me. <br> Copy friend link and paste to Friends list</source>
|
<source>I recommend a good friend of me, you can trust him too when you trust me. <br> Copy friend link and paste to Friends list</source>
|
||||||
<translation>Ich empfehle Dir einen guten Freund von mir. Du kannst ihm vertrauen, wenn Du mir vertraust. <br> Kopiere den Link und füge ihn in der Freundesliste ein</translation>
|
<translation>Ich empfehle Dir einen guten Freund von mir. Du kannst ihm vertrauen, wenn Du mir vertraust. <br> Kopiere den Link und füge ihn in der Freundesliste ein</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -5858,7 +5871,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="+693"/>
|
<location filename="../gui/MessagesDialog.cpp" line="+696"/>
|
||||||
<source>New Message</source>
|
<source>New Message</source>
|
||||||
<translation>Neue Nachricht</translation>
|
<translation>Neue Nachricht</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -5874,7 +5887,7 @@ 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="-374"/>
|
<location filename="../gui/MessagesDialog.cpp" line="-372"/>
|
||||||
<source>Date</source>
|
<source>Date</source>
|
||||||
<translation>Datum</translation>
|
<translation>Datum</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -5966,15 +5979,15 @@ p, li { white-space: pre-wrap; }
|
||||||
<message>
|
<message>
|
||||||
<location line="+177"/>
|
<location line="+177"/>
|
||||||
<location filename="../gui/MessagesDialog.cpp" line="-44"/>
|
<location filename="../gui/MessagesDialog.cpp" line="-44"/>
|
||||||
<location line="+995"/>
|
<location line="+993"/>
|
||||||
<location line="+10"/>
|
<location line="+10"/>
|
||||||
<source>Inbox</source>
|
<source>Inbox</source>
|
||||||
<translation>Posteingang</translation>
|
<translation>Posteingang</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+9"/>
|
<location line="+9"/>
|
||||||
<location filename="../gui/MessagesDialog.cpp" line="-1000"/>
|
<location filename="../gui/MessagesDialog.cpp" line="-998"/>
|
||||||
<location line="+1013"/>
|
<location line="+1011"/>
|
||||||
<location line="+8"/>
|
<location line="+8"/>
|
||||||
<source>Outbox</source>
|
<source>Outbox</source>
|
||||||
<translation>Postausgang</translation>
|
<translation>Postausgang</translation>
|
||||||
|
@ -5986,7 +5999,7 @@ p, li { white-space: pre-wrap; }
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+9"/>
|
<location line="+9"/>
|
||||||
<location filename="../gui/MessagesDialog.cpp" line="-1011"/>
|
<location filename="../gui/MessagesDialog.cpp" line="-1009"/>
|
||||||
<source>Sent</source>
|
<source>Sent</source>
|
||||||
<translation>Gesendet</translation>
|
<translation>Gesendet</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -6006,7 +6019,7 @@ p, li { white-space: pre-wrap; }
|
||||||
<translation>Schlagwörter:</translation>
|
<translation>Schlagwörter:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+63"/>
|
<location line="+58"/>
|
||||||
<location line="+3"/>
|
<location line="+3"/>
|
||||||
<source>Print...</source>
|
<source>Print...</source>
|
||||||
<translation>Drucken...</translation>
|
<translation>Drucken...</translation>
|
||||||
|
@ -6048,13 +6061,13 @@ p, li { white-space: pre-wrap; }
|
||||||
<translation>Speichern unter...</translation>
|
<translation>Speichern unter...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../gui/MessagesDialog.cpp" line="+760"/>
|
<location filename="../gui/MessagesDialog.cpp" line="+758"/>
|
||||||
<source>Print Document</source>
|
<source>Print Document</source>
|
||||||
<translation>Dokument drucken</translation>
|
<translation>Dokument drucken</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../gui/MessagesDialog.ui" line="-891"/>
|
<location filename="../gui/MessagesDialog.ui" line="-886"/>
|
||||||
<location filename="../gui/MessagesDialog.cpp" line="-1574"/>
|
<location filename="../gui/MessagesDialog.cpp" line="-1572"/>
|
||||||
<source>Subject</source>
|
<source>Subject</source>
|
||||||
<translation>Betreff</translation>
|
<translation>Betreff</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -6079,22 +6092,21 @@ p, li { white-space: pre-wrap; }
|
||||||
<translation>Dateiname</translation>
|
<translation>Dateiname</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+10"/>
|
|
||||||
<source>Sources</source>
|
<source>Sources</source>
|
||||||
<translation>Quellen</translation>
|
<translation type="obsolete">Quellen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+5"/>
|
<location line="+10"/>
|
||||||
<source>Hash</source>
|
<source>Hash</source>
|
||||||
<translation>Prüfsumme</translation>
|
<translation>Prüfsumme</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-974"/>
|
<location line="-969"/>
|
||||||
<source>Print</source>
|
<source>Print</source>
|
||||||
<translation>Drucken</translation>
|
<translation>Drucken</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../gui/MessagesDialog.cpp" line="+56"/>
|
<location filename="../gui/MessagesDialog.cpp" line="+54"/>
|
||||||
<source>Forward selected Message</source>
|
<source>Forward selected Message</source>
|
||||||
<translation>Gewählte Nachricht weiterleiten</translation>
|
<translation>Gewählte Nachricht weiterleiten</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -6154,7 +6166,7 @@ p, li { white-space: pre-wrap; }
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-274"/>
|
<location line="-274"/>
|
||||||
<location filename="../gui/MessagesDialog.cpp" line="-324"/>
|
<location filename="../gui/MessagesDialog.cpp" line="-322"/>
|
||||||
<source>Content</source>
|
<source>Content</source>
|
||||||
<translation>Inhalt</translation>
|
<translation>Inhalt</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -6162,7 +6174,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="+178"/>
|
<location line="+176"/>
|
||||||
<source>Tags</source>
|
<source>Tags</source>
|
||||||
<translation>Schlagwörter</translation>
|
<translation>Schlagwörter</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -6173,8 +6185,8 @@ p, li { white-space: pre-wrap; }
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+177"/>
|
<location line="+177"/>
|
||||||
<location filename="../gui/MessagesDialog.cpp" line="+637"/>
|
<location filename="../gui/MessagesDialog.cpp" line="+639"/>
|
||||||
<location line="+1037"/>
|
<location line="+1035"/>
|
||||||
<location line="+5"/>
|
<location line="+5"/>
|
||||||
<source>Trash</source>
|
<source>Trash</source>
|
||||||
<translation>Papierkorb</translation>
|
<translation>Papierkorb</translation>
|
||||||
|
@ -6220,19 +6232,19 @@ p, li { white-space: pre-wrap; }
|
||||||
<translation>Papierkorb leeren</translation>
|
<translation>Papierkorb leeren</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+367"/>
|
<location line="+369"/>
|
||||||
<location line="+1028"/>
|
<location line="+1026"/>
|
||||||
<location line="+8"/>
|
<location line="+8"/>
|
||||||
<source>Drafts</source>
|
<source>Drafts</source>
|
||||||
<translation>Entwürfe</translation>
|
<translation>Entwürfe</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-1000"/>
|
<location line="-998"/>
|
||||||
<source>To</source>
|
<source>To</source>
|
||||||
<translation>An</translation>
|
<translation>An</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-504"/>
|
<location line="-506"/>
|
||||||
<source>Edit...</source>
|
<source>Edit...</source>
|
||||||
<translation>Editieren...</translation>
|
<translation>Editieren...</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -7281,7 +7293,7 @@ p, li { white-space: pre-wrap; }
|
||||||
<context>
|
<context>
|
||||||
<name>PeersDialog</name>
|
<name>PeersDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../gui/PeersDialog.cpp" line="+425"/>
|
<location filename="../gui/PeersDialog.cpp" line="+428"/>
|
||||||
<source>Chat</source>
|
<source>Chat</source>
|
||||||
<translation>Chat</translation>
|
<translation>Chat</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -7306,7 +7318,7 @@ p, li { white-space: pre-wrap; }
|
||||||
<translation>Verbinde zum Freund</translation>
|
<translation>Verbinde zum Freund</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-295"/>
|
<location line="-298"/>
|
||||||
<source>Profile</source>
|
<source>Profile</source>
|
||||||
<translation>Profil</translation>
|
<translation>Profil</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -7321,7 +7333,7 @@ p, li { white-space: pre-wrap; }
|
||||||
<translation>Willkommen bei RetroShare's Gruppenchat.</translation>
|
<translation>Willkommen bei RetroShare's Gruppenchat.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+57"/>
|
<location line="+60"/>
|
||||||
<source>me</source>
|
<source>me</source>
|
||||||
<translation>ich</translation>
|
<translation>ich</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -7638,12 +7650,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="-1817"/>
|
<location filename="../gui/PeersDialog.cpp" line="-1820"/>
|
||||||
<source>Friends Storm</source>
|
<source>Friends Storm</source>
|
||||||
<translation>Aktivitäten</translation>
|
<translation>Aktivitäten</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+1157"/>
|
<location line="+1160"/>
|
||||||
<source>is typing...</source>
|
<source>is typing...</source>
|
||||||
<translation>tippt...</translation>
|
<translation>tippt...</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -7966,7 +7978,7 @@ p, li { white-space: pre-wrap; }
|
||||||
<context>
|
<context>
|
||||||
<name>PopupChatDialog</name>
|
<name>PopupChatDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../gui/chat/PopupChatDialog.cpp" line="+783"/>
|
<location filename="../gui/chat/PopupChatDialog.cpp" line="+786"/>
|
||||||
<source>Hide Avatar</source>
|
<source>Hide Avatar</source>
|
||||||
<translation>Avatar verstecken</translation>
|
<translation>Avatar verstecken</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -8044,7 +8056,7 @@ p, li { white-space: pre-wrap; }
|
||||||
<translation>Deaktiviere Emoticons</translation>
|
<translation>Deaktiviere Emoticons</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../gui/chat/PopupChatDialog.cpp" line="-1040"/>
|
<location filename="../gui/chat/PopupChatDialog.cpp" line="-1043"/>
|
||||||
<source>Paste retroshare Link</source>
|
<source>Paste retroshare Link</source>
|
||||||
<translation>RetroShare Link einfügen</translation>
|
<translation>RetroShare Link einfügen</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -8064,7 +8076,7 @@ p, li { white-space: pre-wrap; }
|
||||||
<translation>Wähle dein Avatar Bild aus</translation>
|
<translation>Wähle dein Avatar Bild aus</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../gui/chat/PopupChatDialog.cpp" line="+776"/>
|
<location filename="../gui/chat/PopupChatDialog.cpp" line="+779"/>
|
||||||
<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>
|
||||||
|
@ -8148,12 +8160,12 @@ Do you want to send them a Message instead</source>
|
||||||
<translation>Schliessen</translation>
|
<translation>Schliessen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../gui/chat/PopupChatDialog.cpp" line="-331"/>
|
<location filename="../gui/chat/PopupChatDialog.cpp" line="-334"/>
|
||||||
<source>RetroShare</source>
|
<source>RetroShare</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+283"/>
|
<location line="+286"/>
|
||||||
<source>Friend not Online</source>
|
<source>Friend not Online</source>
|
||||||
<translation>Freund ist nicht online</translation>
|
<translation>Freund ist nicht online</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -9962,7 +9974,7 @@ p, li { white-space: pre-wrap; }
|
||||||
<name>SharedFilesDialog</name>
|
<name>SharedFilesDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../gui/SharedFilesDialog.ui" line="+846"/>
|
<location filename="../gui/SharedFilesDialog.ui" line="+846"/>
|
||||||
<location filename="../gui/SharedFilesDialog.cpp" line="+280"/>
|
<location filename="../gui/SharedFilesDialog.cpp" line="+289"/>
|
||||||
<source>Download</source>
|
<source>Download</source>
|
||||||
<translation>Herunterladen</translation>
|
<translation>Herunterladen</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -10020,28 +10032,28 @@ p, li { white-space: pre-wrap; }
|
||||||
<translation>Prüfe Dateien</translation>
|
<translation>Prüfe Dateien</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../gui/SharedFilesDialog.cpp" line="-68"/>
|
<location filename="../gui/SharedFilesDialog.cpp" line="-80"/>
|
||||||
<location line="+610"/>
|
<location line="+501"/>
|
||||||
<source>Open File</source>
|
<source>Open File</source>
|
||||||
<translation>Datei öffnen</translation>
|
<translation>Datei öffnen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-608"/>
|
<location line="-499"/>
|
||||||
<source>Open Folder</source>
|
<source>Open Folder</source>
|
||||||
<translation>Ordner öffnen</translation>
|
<translation>Ordner öffnen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+617"/>
|
<location line="+508"/>
|
||||||
<source>Set command for opening this file</source>
|
<source>Set command for opening this file</source>
|
||||||
<translation>Setze eine Regel zum Öffnen dieser Datei</translation>
|
<translation>Setze eine Regel zum Öffnen dieser Datei</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-548"/>
|
<location line="-425"/>
|
||||||
<source>Copy retroshare Link</source>
|
<source>Copy retroshare Link</source>
|
||||||
<translation>Kopiere RetroShare Link</translation>
|
<translation>Kopiere RetroShare Link</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-27"/>
|
<location line="-41"/>
|
||||||
<source>Checking...</source>
|
<source>Checking...</source>
|
||||||
<translation>Überprüfe...</translation>
|
<translation>Überprüfe...</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -10051,32 +10063,28 @@ p, li { white-space: pre-wrap; }
|
||||||
<translation>Überprüfe Dateien</translation>
|
<translation>Überprüfe Dateien</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+26"/>
|
<location line="+40"/>
|
||||||
<source>Send retroshare Link</source>
|
<source>Send retroshare Link</source>
|
||||||
<translation>Sende RetroShare Link</translation>
|
<translation>Sende RetroShare Link</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+325"/>
|
|
||||||
<source>%1 recommends a list of files to you</source>
|
<source>%1 recommends a list of files to you</source>
|
||||||
<translation>%1 empfiehlt Dir eine Liste von Dateien</translation>
|
<translation type="obsolete">%1 empfiehlt Dir eine Liste von Dateien</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+2"/>
|
|
||||||
<source>%1 recommends a file to you</source>
|
<source>%1 recommends a file to you</source>
|
||||||
<translation>%1 empfiehlt Dir eine Datei</translation>
|
<translation type="obsolete">%1 empfiehlt Dir eine Datei</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+125"/>
|
|
||||||
<source>Recommend (Automated message) To </source>
|
<source>Recommend (Automated message) To </source>
|
||||||
<translation>Empfehle (automatisch) in einer Nachricht an </translation>
|
<translation type="obsolete">Empfehle (automatisch) in einer Nachricht an </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+2"/>
|
|
||||||
<source>Recommend in a message to </source>
|
<source>Recommend in a message to </source>
|
||||||
<translation>Empfehle in einer Nachricht an </translation>
|
<translation type="obsolete">Empfehle in einer Nachricht an </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-540"/>
|
<location line="-100"/>
|
||||||
<source>Copy retroshare Links to Clipboard</source>
|
<source>Copy retroshare Links to Clipboard</source>
|
||||||
<translation>Kopiere RetroShare Links in die Zwischenablage</translation>
|
<translation>Kopiere RetroShare Links in die Zwischenablage</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -10106,21 +10114,28 @@ p, li { white-space: pre-wrap; }
|
||||||
<translation>Füge die Links zur Verknüpfungs-Wolke hinzu</translation>
|
<translation>Füge die Links zur Verknüpfungs-Wolke hinzu</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+213"/>
|
<location line="+97"/>
|
||||||
|
<location line="+385"/>
|
||||||
|
<source>Recommend in a message to</source>
|
||||||
|
<translation>Empfehle in einer Nachricht an</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location line="-259"/>
|
||||||
<location line="+23"/>
|
<location line="+23"/>
|
||||||
<location line="+24"/>
|
<location line="+24"/>
|
||||||
<source>RetroShare Link</source>
|
<source>RetroShare Link</source>
|
||||||
<translation>RetroShare Link</translation>
|
<translation>RetroShare Link</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+137"/>
|
<location line="+89"/>
|
||||||
<location line="+33"/>
|
<location line="+1"/>
|
||||||
|
<location line="+23"/>
|
||||||
<location line="+1"/>
|
<location line="+1"/>
|
||||||
<source>Recommendation(s)</source>
|
<source>Recommendation(s)</source>
|
||||||
<translation>Empfehlung(en)</translation>
|
<translation>Empfehlung(en)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+250"/>
|
<location line="+188"/>
|
||||||
<source><strong>My Shared Files</strong></source>
|
<source><strong>My Shared Files</strong></source>
|
||||||
<translation><strong>Meine Dateien</strong></translation>
|
<translation><strong>Meine Dateien</strong></translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue