/
threadformcontext.cpp
26 lines (24 loc) · 990 Bytes
/
threadformcontext.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "threadformcontext.h"
ThreadFormContext::ThreadFormContext(Post *p, QWidget *parent) :
p(p)
{
setParent(parent);
setAttribute(Qt::WA_DeleteOnClose);
setStyleSheet("background-color:#222222;color:#bbbbbb;border:1px solid white");
addAction(p->no);
QMenu *filterMenu = addMenu("Filter");
addFilter(filterMenu,"Number: ","no",p->no);
addFilter(filterMenu,"Name: ","name",p->name);
if(!p->sub.isEmpty()) addFilter(filterMenu,"Subject: ","sub",p->sub);
if(!p->trip.isEmpty()) addFilter(filterMenu,"Trip: ","trip",p->trip);
if(p->files.size() && !p->files.at(0).md5.isEmpty()) addFilter(filterMenu,"MD5: ","md5",p->files.at(0).md5);
popup(QCursor::pos());
}
void ThreadFormContext::addFilter(QMenu *menu, QString name, QString key, QString value){
QAction *newFilter = menu->addAction(name % value);
connect(newFilter,&QAction::triggered,[=]{
QString exp = value;
filter.addFilter2(key,Filter::filterEscape(exp),"boards:" % p->board);
emit filtersChanged();
});
}