summaryrefslogtreecommitdiff
path: root/src/plugins/git/gerrit/gerritdialog.cpp
diff options
context:
space:
mode:
authorPetar Perisin <petar.perisin@gmail.com>2013-03-26 20:02:06 +0200
committerPetar Perisin <petar.perisin@gmail.com>2013-04-05 11:27:57 +0200
commit83d51b26913125e55e9390bd26cf04c4780cdf39 (patch)
tree6f43c41b89888b59c011d7565d71b38683a9d05e /src/plugins/git/gerrit/gerritdialog.cpp
parent42547062af82c42bd6224801b1e0c3dddfba58ee (diff)
downloadqt-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.cpp44
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);