| 47 | } |
| 48 | |
| 49 | void DownloadsWidget::createUI() |
| 50 | { |
| 51 | auto horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); |
| 52 | |
| 53 | searchWidget = new QWidget(this); |
| 54 | searchWidget->setVisible(false); |
| 55 | |
| 56 | inputFilter = new QLineEdit(searchWidget); |
| 57 | inputFilter->setPlaceholderText("filter: (exe | dll) & ^(temp)"); |
| 58 | inputFilter->setMaximumWidth(300); |
| 59 | |
| 60 | autoSearchCheck = new QCheckBox("auto", searchWidget); |
| 61 | autoSearchCheck->setChecked(true); |
| 62 | autoSearchCheck->setToolTip("Auto search on text change. If unchecked, press Enter to search."); |
| 63 | |
| 64 | stateComboBox = new QComboBox(searchWidget); |
| 65 | stateComboBox->setMinimumWidth(100); |
| 66 | stateComboBox->addItems(QStringList() << "Any state" << "Running" << "Stopped" << "Finished"); |
| 67 | |
| 68 | hideButton = new ClickableLabel(" x "); |
| 69 | hideButton->setCursor(Qt::PointingHandCursor); |
| 70 | |
| 71 | searchLayout = new QHBoxLayout(searchWidget); |
| 72 | searchLayout->setContentsMargins(0, 5, 0, 0); |
| 73 | searchLayout->setSpacing(4); |
| 74 | searchLayout->addWidget(inputFilter); |
| 75 | searchLayout->addWidget(autoSearchCheck); |
| 76 | searchLayout->addSpacing(8); |
| 77 | searchLayout->addWidget(stateComboBox); |
| 78 | searchLayout->addSpacing(8); |
| 79 | searchLayout->addWidget(hideButton); |
| 80 | searchLayout->addSpacerItem(horizontalSpacer); |
| 81 | |
| 82 | downloadsModel = new DownloadsTableModel(this); |
| 83 | proxyModel = new DownloadsFilterProxyModel(this); |
| 84 | proxyModel->setSourceModel(downloadsModel); |
| 85 | proxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive); |
| 86 | |
| 87 | tableView = new QTableView(this); |
| 88 | tableView->setModel(proxyModel); |
| 89 | tableView->setHorizontalHeader(new BoldHeaderView(Qt::Horizontal, tableView)); |
| 90 | tableView->setContextMenuPolicy(Qt::CustomContextMenu); |
| 91 | tableView->setAutoFillBackground(false); |
| 92 | tableView->setShowGrid(false); |
| 93 | tableView->setSortingEnabled(true); |
| 94 | tableView->setWordWrap(true); |
| 95 | tableView->setCornerButtonEnabled(false); |
| 96 | tableView->setSelectionBehavior(QAbstractItemView::SelectRows); |
| 97 | tableView->setFocusPolicy(Qt::NoFocus); |
| 98 | tableView->setAlternatingRowColors(true); |
| 99 | tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); |
| 100 | tableView->horizontalHeader()->setCascadingSectionResizes(true); |
| 101 | tableView->horizontalHeader()->setHighlightSections(false); |
| 102 | tableView->verticalHeader()->setVisible(false); |
| 103 | |
| 104 | tableView->setItemDelegate(new PaddingDelegate(tableView)); |
| 105 | |
| 106 | tableView->sortByColumn(DC_Date, Qt::AscendingOrder); |
no test coverage detected