-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtorrentstableview.cpp
54 lines (42 loc) · 1.6 KB
/
torrentstableview.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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include "torrentstableview.h"
#include <QLineEdit>
#include <QHeaderView>
#include "mainwindow.h"
#include "torrentsqltablemodel.h"
TorrentsTableView::TorrentsTableView(QWidget *parent, MainWindow *mainWindow)
: QTableView(parent)
, m_mainWindow(mainWindow)
{
m_model = new TorrentSqlTableModel(this);
m_model->setTable("torrents");
m_model->setEditStrategy(QSqlTableModel::OnManualSubmit);
m_model->select();
m_model->setHeaderData(0, Qt::Horizontal, "Id");
m_model->setHeaderData(1, Qt::Horizontal, "Name");
m_model->setHeaderData(2, Qt::Horizontal, "Size");
m_model->setHeaderData(3, Qt::Horizontal, "Done");
m_model->setHeaderData(4, Qt::Horizontal, "Added on");
m_proxyModel = new QSortFilterProxyModel(this);
m_proxyModel->setSourceModel(m_model);
m_proxyModel->setFilterKeyColumn(1);
setModel(m_proxyModel);
sortByColumn(1, Qt::DescendingOrder);
// m_proxyModel->sort(1, Qt::DescendingOrder);
// model->sort(1, Qt::AscendingOrder);
// horizontalHeader()
// ->setSectionResizeMode(QHeaderView::ResizeToContents);
// horizontalHeader()
// ->setSectionResizeMode(QHeaderView::Interactive);
horizontalHeader()->resizeSections(QHeaderView::ResizeToContents);
horizontalHeader()->resizeSection(1, 350);
// connect(m_mainWindow->lineEdit, &QLineEdit::textChanged, this, &MainWindow::applyTextChanged);
}
TorrentsTableView::~TorrentsTableView()
{
}
void TorrentsTableView::applyTextChanged(const QString& name)
{
m_proxyModel->setFilterRegExp(
QRegExp(name, Qt::CaseInsensitive, QRegExp::WildcardUnix)
);
}