diff options
author | Petar Perisin <petar.perisin@gmail.com> | 2013-03-26 20:02:06 +0200 |
---|---|---|
committer | Petar Perisin <petar.perisin@gmail.com> | 2013-04-05 11:27:57 +0200 |
commit | 83d51b26913125e55e9390bd26cf04c4780cdf39 (patch) | |
tree | 6f43c41b89888b59c011d7565d71b38683a9d05e /src/plugins/git/gerrit/gerritdialog.cpp | |
parent | 42547062af82c42bd6224801b1e0c3dddfba58ee (diff) | |
download | qt-creator-83d51b26913125e55e9390bd26cf04c4780cdf39.tar.gz |
Gerrit: added ability to save path for applying patches
Change-Id: I3cc8f1d19784145a7fbf19c321ccbc079847fbc2
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Diffstat (limited to 'src/plugins/git/gerrit/gerritdialog.cpp')
-rw-r--r-- | src/plugins/git/gerrit/gerritdialog.cpp | 44 |
1 files changed, 41 insertions, 3 deletions
diff --git a/src/plugins/git/gerrit/gerritdialog.cpp b/src/plugins/git/gerrit/gerritdialog.cpp index 01d19f99d7..da6e5da977 100644 --- a/src/plugins/git/gerrit/gerritdialog.cpp +++ b/src/plugins/git/gerrit/gerritdialog.cpp @@ -32,6 +32,7 @@ #include "gerritparameters.h" #include <utils/filterlineedit.h> +#include <utils/qtcassert.h> #include <coreplugin/icore.h> #include <QVBoxLayout> @@ -103,7 +104,9 @@ GerritDialog::GerritDialog(const QSharedPointer<GerritParameters> &p, , m_detailsBrowser(new QTextBrowser) , m_queryLineEdit(new QueryValidatingLineEdit) , m_filterLineEdit(new Utils::FilterLineEdit) + , m_repositoryChooser(new Utils::PathChooser) , m_buttonBox(new QDialogButtonBox(QDialogButtonBox::Close)) + , m_repositoryChooserLabel(new QLabel(tr("Apply in: "), this)) , m_fetchRunning(false) { setWindowTitle(tr("Gerrit %1@%2").arg(p->user, p->host)); @@ -157,9 +160,15 @@ GerritDialog::GerritDialog(const QSharedPointer<GerritParameters> &p, m_detailsBrowser->setTextInteractionFlags(Qt::TextBrowserInteraction); detailsLayout->addWidget(m_detailsBrowser); - m_displayButton = addActionButton(tr("Diff..."), SLOT(slotFetchDisplay())); - m_applyButton = addActionButton(tr("Apply..."), SLOT(slotFetchApply())); - m_checkoutButton = addActionButton(tr("Checkout..."), SLOT(slotFetchCheckout())); + m_repositoryChooser->setExpectedKind(Utils::PathChooser::Directory); + QHBoxLayout *repoPathLayout = new QHBoxLayout; + repoPathLayout->addWidget(m_repositoryChooserLabel); + repoPathLayout->addWidget(m_repositoryChooser); + detailsLayout->addLayout(repoPathLayout); + + m_displayButton = addActionButton(QString(), SLOT(slotFetchDisplay())); + m_applyButton = addActionButton(QString(), SLOT(slotFetchApply())); + m_checkoutButton = addActionButton(QString(), SLOT(slotFetchCheckout())); m_refreshButton = addActionButton(tr("Refresh"), SLOT(slotRefresh())); connect(m_model, SIGNAL(refreshStateChanged(bool)), @@ -185,6 +194,35 @@ GerritDialog::GerritDialog(const QSharedPointer<GerritParameters> &p, m_treeView->setFocus(); } +QString GerritDialog::repositoryPath() const +{ + return m_repositoryChooser->path(); +} + +void GerritDialog::displayRepositoryPath() +{ + QTC_ASSERT(m_parameters, return); + m_repositoryChooser->setVisible(!m_parameters->promptPath); + m_repositoryChooserLabel->setVisible(!m_parameters->promptPath); + if (m_repositoryChooser->path().isEmpty()) + m_repositoryChooser->setPath(m_parameters->repositoryPath); + if (m_parameters->promptPath) { + m_displayButton->setText(tr("Diff...")); + m_applyButton->setText(tr("Apply...")); + m_checkoutButton->setText(tr("Checkout...")); + } else { + m_displayButton->setText(tr("Diff")); + m_applyButton->setText(tr("Apply")); + m_checkoutButton->setText(tr("Checkout")); + } +} + +void GerritDialog::showEvent(QShowEvent *event) +{ + displayRepositoryPath(); + QDialog::showEvent(event); +} + QPushButton *GerritDialog::addActionButton(const QString &text, const char *buttonSlot) { QPushButton *button = m_buttonBox->addButton(text, QDialogButtonBox::ActionRole); |