mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-10-01 02:35:48 -04:00
started GUI part for distant network search of groups
This commit is contained in:
parent
c67084b7de
commit
91fd38d46f
@ -18,6 +18,8 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301, USA.
|
||||
****************************************************************/
|
||||
#include <iostream>
|
||||
|
||||
#include "GroupTreeWidget.h"
|
||||
#include "ui_GroupTreeWidget.h"
|
||||
|
||||
@ -119,6 +121,10 @@ GroupTreeWidget::GroupTreeWidget(QWidget *parent) :
|
||||
ui->filterLineEdit->addFilter(QIcon(), tr("Description"), FILTER_DESC_INDEX , tr("Search Description"));
|
||||
ui->filterLineEdit->setCurrentFilter(FILTER_NAME_INDEX);
|
||||
|
||||
ui->distantSearchLineEdit->setPlaceholderText(tr("Search entire network...")) ;
|
||||
|
||||
connect(ui->distantSearchLineEdit,SIGNAL(returnPressed()),this,SLOT(distantSearch())) ;
|
||||
|
||||
/* Initialize display button */
|
||||
initDisplayMenu(ui->displayButton);
|
||||
|
||||
@ -749,6 +755,13 @@ void GroupTreeWidget::resort(QTreeWidgetItem *categoryItem)
|
||||
}
|
||||
}
|
||||
|
||||
void GroupTreeWidget::distantSearch()
|
||||
{
|
||||
emit distantSearchRequested(ui->distantSearchLineEdit->text());
|
||||
|
||||
ui->distantSearchLineEdit->clear();
|
||||
}
|
||||
|
||||
void GroupTreeWidget::sort()
|
||||
{
|
||||
resort(NULL);
|
||||
|
@ -110,6 +110,7 @@ signals:
|
||||
void treeCustomContextMenuRequested(const QPoint &pos);
|
||||
void treeCurrentItemChanged(const QString &id);
|
||||
void treeItemActivated(const QString &id);
|
||||
void distantSearchRequested(const QString&) ;
|
||||
|
||||
protected:
|
||||
void changeEvent(QEvent *e);
|
||||
@ -119,6 +120,7 @@ private slots:
|
||||
void currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);
|
||||
void itemActivated(QTreeWidgetItem *item, int column);
|
||||
void filterChanged();
|
||||
void distantSearch();
|
||||
|
||||
void sort();
|
||||
|
||||
|
@ -124,6 +124,9 @@
|
||||
</column>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="distantSearchLineEdit"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
|
@ -94,6 +94,7 @@ GxsGroupFrameDialog::GxsGroupFrameDialog(RsGxsIfaceHelper *ifaceImpl, QWidget *p
|
||||
connect(ui->groupTreeWidget, SIGNAL(treeCustomContextMenuRequested(QPoint)), this, SLOT(groupTreeCustomPopupMenu(QPoint)));
|
||||
connect(ui->groupTreeWidget, SIGNAL(treeCurrentItemChanged(QString)), this, SLOT(changedGroup(QString)));
|
||||
connect(ui->groupTreeWidget->treeWidget(), SIGNAL(signalMouseMiddleButtonClicked(QTreeWidgetItem*)), this, SLOT(groupTreeMiddleButtonClicked(QTreeWidgetItem*)));
|
||||
connect(ui->groupTreeWidget, SIGNAL(distantSearchRequested(const QString&)), this, SLOT(searchNetwork(const QString&)));
|
||||
connect(ui->messageTabWidget, SIGNAL(tabCloseRequested(int)), this, SLOT(messageTabCloseRequested(int)));
|
||||
connect(ui->messageTabWidget, SIGNAL(currentChanged(int)), this, SLOT(messageTabChanged(int)));
|
||||
|
||||
@ -1078,3 +1079,20 @@ void GxsGroupFrameDialog::loadRequest(const TokenQueue *queue, const TokenReques
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TurtleRequestId GxsGroupFrameDialog::distantSearch(const QString& search_string) // this should be overloaded in the child class
|
||||
{
|
||||
std::cerr << "Searching for \"" << search_string.toStdString() << "\". Function is not implemented yet." << std::endl;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void GxsGroupFrameDialog::searchNetwork(const QString& search_string)
|
||||
{
|
||||
uint32_t request_id = distantSearch(search_string);
|
||||
|
||||
if(request_id == 0)
|
||||
return ;
|
||||
|
||||
mSearchGroups[request_id] = ui->groupTreeWidget->addCategoryItem(tr("Search for")+ " \"" + search_string + "\"", QIcon(icon(ICON_SEARCH)), true);
|
||||
}
|
||||
|
||||
|
@ -67,6 +67,7 @@ public:
|
||||
ICON_SUBSCRIBED_GROUP,
|
||||
ICON_POPULAR_GROUP,
|
||||
ICON_OTHER_GROUP,
|
||||
ICON_SEARCH,
|
||||
ICON_DEFAULT
|
||||
};
|
||||
|
||||
@ -129,11 +130,13 @@ private slots:
|
||||
void sharePublishKey();
|
||||
|
||||
void loadComment(const RsGxsGroupId &grpId, const QVector<RsGxsMessageId>& msg_versions,const RsGxsMessageId &most_recent_msgId, const QString &title);
|
||||
void searchNetwork(const QString &search_string) ;
|
||||
|
||||
private:
|
||||
virtual QString text(TextType type) = 0;
|
||||
virtual QString icon(IconType type) = 0;
|
||||
virtual QString settingsGroupName() = 0;
|
||||
virtual TurtleRequestId distantSearch(const QString& search_string) ;
|
||||
|
||||
virtual GxsGroupDialog *createNewGroupDialog(TokenQueue *tokenQueue) = 0;
|
||||
virtual GxsGroupDialog *createGroupDialog(TokenQueue *tokenQueue, RsTokenService *tokenService, GxsGroupDialog::Mode mode, RsGxsGroupId groupId) = 0;
|
||||
@ -201,6 +204,8 @@ private:
|
||||
Ui::GxsGroupFrameDialog *ui;
|
||||
|
||||
std::list<RsGroupMetaData> mCachedGroupMetas;
|
||||
|
||||
std::map<uint32_t,QTreeWidgetItem*> mSearchGroups ;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -137,6 +137,8 @@ QString GxsChannelDialog::icon(IconType type)
|
||||
return ":/images/folder_green.png";
|
||||
case ICON_OTHER_GROUP:
|
||||
return ":/images/folder_yellow.png";
|
||||
case ICON_SEARCH:
|
||||
return ":/images/find.png";
|
||||
case ICON_DEFAULT:
|
||||
return ":/images/channels.png";
|
||||
}
|
||||
@ -334,3 +336,8 @@ void GxsChannelDialog::groupInfoToGroupItemInfo(const RsGroupMetaData &groupInfo
|
||||
groupItemInfo.icon = iconIt.value();
|
||||
}
|
||||
}
|
||||
|
||||
TurtleRequestId GxsChannelDialog::distantSearch(const QString& search_string)
|
||||
{
|
||||
return rsGxsChannels->turtleSearchRequest(search_string.toStdString()) ;
|
||||
}
|
||||
|
@ -51,6 +51,7 @@ protected:
|
||||
virtual QString getHelpString() const ;
|
||||
virtual void groupInfoToGroupItemInfo(const RsGroupMetaData &groupInfo, GroupItemInfo &groupItemInfo, const RsUserdata *userdata);
|
||||
|
||||
virtual TurtleRequestId distantSearch(const QString& search_string) ;
|
||||
private slots:
|
||||
void toggleAutoDownload();
|
||||
void setDefaultDirectory();
|
||||
|
Loading…
Reference in New Issue
Block a user