Changeset View
Changeset View
Standalone View
Standalone View
ui/mercurialheadswidget.cpp
Show All 29 Lines | |||||
30 | #include <mercurialplugin.h> | 30 | #include <mercurialplugin.h> | ||
31 | 31 | | |||
32 | using namespace KDevelop; | 32 | using namespace KDevelop; | ||
33 | 33 | | |||
34 | MercurialHeadsWidget::MercurialHeadsWidget(MercurialPlugin *plugin, const QUrl &url) | 34 | MercurialHeadsWidget::MercurialHeadsWidget(MercurialPlugin *plugin, const QUrl &url) | ||
35 | : QDialog(), m_ui(new Ui::MercurialHeadsWidget), m_plugin(plugin), m_url(url) | 35 | : QDialog(), m_ui(new Ui::MercurialHeadsWidget), m_plugin(plugin), m_url(url) | ||
36 | { | 36 | { | ||
37 | m_ui->setupUi(this); | 37 | m_ui->setupUi(this); | ||
38 | m_headsModel = new MercurialHeadsModel(plugin, VcsRevision(), url, this); | 38 | m_headsModel = new MercurialHeadsModel(plugin, url, this); | ||
39 | m_ui->headsTableView->setModel(static_cast<QAbstractItemModel *>(m_headsModel)); | 39 | m_ui->headsTableView->setModel(static_cast<QAbstractItemModel *>(m_headsModel)); | ||
40 | 40 | | |||
41 | connect(m_ui->checkoutPushButton, &QPushButton::clicked, this, &MercurialHeadsWidget::checkoutRequested); | 41 | connect(m_ui->checkoutPushButton, &QPushButton::clicked, this, &MercurialHeadsWidget::checkoutRequested); | ||
42 | connect(m_ui->mergePushButton, &QPushButton::clicked, this, &MercurialHeadsWidget::mergeRequested); | 42 | connect(m_ui->mergePushButton, &QPushButton::clicked, this, &MercurialHeadsWidget::mergeRequested); | ||
43 | 43 | | |||
44 | setWindowTitle(i18n("Mercurial Heads (%1)", m_url.toLocalFile())); | 44 | setWindowTitle(i18n("Mercurial Heads (%1)", m_url.toLocalFile())); | ||
45 | 45 | | |||
46 | updateModel(); | 46 | updateModel(); | ||
47 | } | 47 | } | ||
48 | 48 | | |||
49 | void MercurialHeadsWidget::updateModel() | 49 | void MercurialHeadsWidget::updateModel() | ||
50 | { | 50 | { | ||
51 | VcsJob *identifyJob = m_plugin->identify(m_url); | 51 | m_headsModel->update(); | ||
52 | connect(identifyJob, &VcsJob::resultsReady, this, &MercurialHeadsWidget::identifyReceived); | | |||
53 | ICore::self()->runController()->registerJob(identifyJob); | | |||
54 | } | | |||
55 | | ||||
56 | void MercurialHeadsWidget::identifyReceived(VcsJob *job) | | |||
57 | { | | |||
58 | QList<VcsRevision> currentHeads; | | |||
59 | foreach (const QVariant & value, job->fetchResults().toList()) { | | |||
60 | currentHeads << value.value<VcsRevision>(); | | |||
61 | } | | |||
62 | m_headsModel->setCurrentHeads(currentHeads); | | |||
63 | } | 52 | } | ||
64 | 53 | | |||
65 | void MercurialHeadsWidget::checkoutRequested() | 54 | void MercurialHeadsWidget::checkoutRequested() | ||
66 | { | 55 | { | ||
67 | const QModelIndex &selection = m_ui->headsTableView->currentIndex(); | 56 | const QModelIndex &selection = m_ui->headsTableView->currentIndex(); | ||
68 | if (!selection.isValid()) { | 57 | if (!selection.isValid()) { | ||
69 | return; | 58 | return; | ||
70 | } | 59 | } | ||
Show All 17 Lines |