| 164 | } |
| 165 | |
| 166 | void ScreenshotsWidget::createUI() |
| 167 | { |
| 168 | auto horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); |
| 169 | |
| 170 | searchWidget = new QWidget(this); |
| 171 | searchWidget->setVisible(false); |
| 172 | searchWidget->setMaximumHeight(30); |
| 173 | |
| 174 | inputFilter = new QLineEdit(searchWidget); |
| 175 | inputFilter->setPlaceholderText("filter: (admin | root) & ^(test)"); |
| 176 | inputFilter->setMaximumWidth(300); |
| 177 | |
| 178 | autoSearchCheck = new QCheckBox("auto", searchWidget); |
| 179 | autoSearchCheck->setChecked(true); |
| 180 | autoSearchCheck->setToolTip("Auto search on text change. If unchecked, press Enter to search."); |
| 181 | |
| 182 | hideButton = new ClickableLabel(" x "); |
| 183 | hideButton->setCursor(Qt::PointingHandCursor); |
| 184 | |
| 185 | searchLayout = new QHBoxLayout(searchWidget); |
| 186 | searchLayout->setContentsMargins(0, 5, 0, 0); |
| 187 | searchLayout->setSpacing(4); |
| 188 | searchLayout->addWidget(inputFilter); |
| 189 | searchLayout->addWidget(autoSearchCheck); |
| 190 | searchLayout->addSpacing(8); |
| 191 | searchLayout->addWidget(hideButton); |
| 192 | searchLayout->addSpacerItem(horizontalSpacer); |
| 193 | |
| 194 | screensModel = new ScreensTableModel(this); |
| 195 | proxyModel = new ScreensFilterProxyModel(this); |
| 196 | proxyModel->setSourceModel(screensModel); |
| 197 | proxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive); |
| 198 | |
| 199 | tableView = new QTableView(this); |
| 200 | tableView->setModel(proxyModel); |
| 201 | tableView->setHorizontalHeader(new BoldHeaderView(Qt::Horizontal, tableView)); |
| 202 | tableView->setContextMenuPolicy(Qt::CustomContextMenu); |
| 203 | tableView->setAutoFillBackground(false); |
| 204 | tableView->setShowGrid(false); |
| 205 | tableView->setSortingEnabled(true); |
| 206 | tableView->setWordWrap(true); |
| 207 | tableView->setCornerButtonEnabled(false); |
| 208 | tableView->setSelectionBehavior(QAbstractItemView::SelectRows); |
| 209 | tableView->setSelectionMode(QAbstractItemView::ExtendedSelection); |
| 210 | tableView->setFocusPolicy(Qt::NoFocus); |
| 211 | tableView->setAlternatingRowColors(true); |
| 212 | tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); |
| 213 | tableView->horizontalHeader()->setCascadingSectionResizes(true); |
| 214 | tableView->horizontalHeader()->setHighlightSections(false); |
| 215 | tableView->verticalHeader()->setVisible(false); |
| 216 | |
| 217 | tableView->sortByColumn(SCR_Date, Qt::AscendingOrder); |
| 218 | |
| 219 | tableView->horizontalHeader()->setSectionResizeMode(SCR_Note, QHeaderView::Stretch); |
| 220 | tableView->setItemDelegate(new PaddingDelegate(tableView)); |
| 221 | tableView->hideColumn(SCR_ScreenId); |
| 222 | |
| 223 | imageFrame = new ImageFrame(this); |
no test coverage detected