#include "RevisionDialog.h" #include "ui_RevisionDialog.h" #include "Utils.h" //----------------------------------------------------------------------------- RevisionDialog::RevisionDialog(QWidget *parent, const QStringList &completions, const QString &defaultValue) : QDialog(parent), ui(new Ui::RevisionDialog), completer(completions, parent) { ui->setupUi(this); ui->cmbRevision->setCompleter(&completer); ui->cmbRevision->addItems(completions); if(!defaultValue.isEmpty()) { #if (QT_VERSION < QT_VERSION_CHECK(5, 0, 0)) int index = ui->cmbRevision->findText(defaultValue); if(index>=0) ui->cmbRevision->setCurrentIndex(index); #else ui->cmbRevision->setCurrentText(defaultValue); #endif } } //----------------------------------------------------------------------------- RevisionDialog::~RevisionDialog() { delete ui; } //----------------------------------------------------------------------------- QString RevisionDialog::runUpdate(QWidget *parent, const QString &title, const QStringList &completions, const QString &defaultValue) { RevisionDialog dlg(parent, completions, defaultValue); dlg.setWindowTitle(title); dlg.ui->lblName->setVisible(false); dlg.ui->lineName->setVisible(false); dlg.ui->lblIntegrate->setVisible(false); dlg.ui->chkIntegrate->setVisible(false); dlg.ui->lblForce->setVisible(false); dlg.ui->chkForce->setVisible(false); dlg.adjustSize(); if(dlg.exec() != QDialog::Accepted) return QString(""); return dlg.ui->cmbRevision->currentText().trimmed(); } //----------------------------------------------------------------------------- QString RevisionDialog::runMerge(QWidget *parent, const QString &title, const QStringList &completions, const QString &defaultValue, bool &integrate, bool &force) { RevisionDialog dlg(parent, completions, defaultValue); dlg.setWindowTitle(title); dlg.ui->lblName->setVisible(false); dlg.ui->lineName->setVisible(false); dlg.ui->lblIntegrate->setVisible(true); dlg.ui->chkIntegrate->setVisible(true); dlg.ui->chkIntegrate->setChecked(integrate); dlg.ui->lblForce->setVisible(true); dlg.ui->chkForce->setVisible(true); dlg.ui->chkForce->setChecked(force); dlg.adjustSize(); if(dlg.exec() != QDialog::Accepted) return QString(""); integrate = dlg.ui->chkIntegrate->checkState() == Qt::Checked; force = dlg.ui->chkForce->checkState() == Qt::Checked; return dlg.ui->cmbRevision->currentText().trimmed(); } //----------------------------------------------------------------------------- bool RevisionDialog::runNewTag(QWidget *parent, const QString &title, const QStringList &completions, const QString &defaultValue, QString &revision, QString &name) { RevisionDialog dlg(parent, completions, defaultValue); dlg.setWindowTitle(title); dlg.ui->lblName->setVisible(true); dlg.ui->lineName->setVisible(true); dlg.ui->lblIntegrate->setVisible(false); dlg.ui->chkIntegrate->setVisible(false); dlg.ui->lblForce->setVisible(false); dlg.ui->chkForce->setVisible(false); dlg.adjustSize(); if(dlg.exec() != QDialog::Accepted) return false; revision = dlg.ui->cmbRevision->currentText().trimmed(); name = dlg.ui->lineName->text().trimmed(); return true; }