-
Notifications
You must be signed in to change notification settings - Fork 0
/
buildhistorydialog.cpp
38 lines (32 loc) · 1.34 KB
/
buildhistorydialog.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
#include "buildhistorydialog.h"
#include "ui_buildhistorydialog.h"
#include <QDesktopServices>
using namespace JenkinsCI::Internal;
BuildHistoryDialog::BuildHistoryDialog(JenkinsJob job, BuildHistoryModel *buildHistoryModel,
QWidget *parent)
: QDialog(parent), ui(new Ui::BuildHistoryDialog)
{
ui->setupUi(this);
_buildHistoryModel = buildHistoryModel;
ui->treeView->setModel(_buildHistoryModel);
ui->treeView->setHeaderHidden(false);
ui->treeView->header()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
ui->treeView->header()->setSectionResizeMode(1, QHeaderView::ResizeToContents);
ui->treeView->header()->setSectionResizeMode(2, QHeaderView::ResizeToContents);
ui->treeView->header()->setSectionResizeMode(3, QHeaderView::Stretch);
_buildHistoryModel->fetchBuildHistoryFor(job);
setWindowTitle(QString(QStringLiteral("Build history: %1")).arg(job.name()));
connect(ui->treeView, &QTreeView::doubleClicked, this,
&BuildHistoryDialog::onBuildEntryDoubleClicked);
}
BuildHistoryDialog::~BuildHistoryDialog()
{
delete ui;
_buildHistoryModel->deleteLater();
}
void BuildHistoryDialog::onBuildEntryDoubleClicked(QModelIndex index)
{
QUrl url = _buildHistoryModel->getUrl(index);
if (!url.isEmpty())
QDesktopServices::openUrl(url);
}