# HG changeset patch # User Chris Cannam # Date 1308232386 -3600 # Node ID 8df07172d6da34e26afacdb402733ebd2d6a8026 # Parent 6d7dad48b13c3c200bf88aa582da1c729c3e23c7 Return ignore type from ignore dialog diff -r 6d7dad48b13c -r 8df07172d6da src/hgignoredialog.cpp --- a/src/hgignoredialog.cpp Thu Jun 16 14:32:35 2011 +0100 +++ b/src/hgignoredialog.cpp Thu Jun 16 14:53:06 2011 +0100 @@ -51,8 +51,12 @@ foreach (QString option, options) { QRadioButton *b = new QRadioButton(option); layout->addWidget(b, row++, 1); - b->setChecked(first); - first = false; + if (first) { + m_option = option; + b->setChecked(true); + first = false; + } + connect(b, SIGNAL(toggled(bool)), this, SLOT(optionToggled(bool))); } } @@ -67,6 +71,16 @@ connect(bbox, SIGNAL(rejected()), this, SLOT(reject())); } +void +HgIgnoreDialog::optionToggled(bool checked) +{ + QObject *s = sender(); + QRadioButton *rb = qobject_cast(s); + if (rb && checked) { + m_option = rb->text(); + } +} + HgIgnoreDialog::IgnoreType HgIgnoreDialog::confirmIgnore(QWidget *parent, QStringList files, QStringList suffixes) @@ -104,9 +118,11 @@ options, tr("Ignore")); if (d.exec() == QDialog::Accepted) { - - //... - + QString option = d.getOption(); + DEBUG << "HgIgnoreDialog::confirmIgnore: option = " << option << endl; + if (option == options[0]) return IgnoreGivenFilesOnly; + else if (option == options[1]) return IgnoreAllFilesOfGivenNames; + else return IgnoreAllFilesOfGivenSuffixes; } } else { @@ -120,9 +136,10 @@ options, tr("Ignore")); if (d.exec() == QDialog::Accepted) { - - //... - + QString option = d.getOption(); + DEBUG << "HgIgnoreDialog::confirmIgnore: option = " << option << endl; + if (option == options[0]) return IgnoreGivenFilesOnly; + else return IgnoreAllFilesOfGivenNames; } } diff -r 6d7dad48b13c -r 8df07172d6da src/hgignoredialog.h --- a/src/hgignoredialog.h Thu Jun 16 14:32:35 2011 +0100 +++ b/src/hgignoredialog.h Thu Jun 16 14:53:06 2011 +0100 @@ -35,6 +35,9 @@ static IgnoreType confirmIgnore(QWidget *parent, QStringList files, QStringList suffixes); +private slots: + void optionToggled(bool); + private: HgIgnoreDialog(QWidget *parent, QString title, @@ -43,7 +46,9 @@ QStringList options, QString okButtonText); - + QString getOption() const { return m_option; } + + QString m_option; }; #endif diff -r 6d7dad48b13c -r 8df07172d6da src/mainwindow.cpp --- a/src/mainwindow.cpp Thu Jun 16 14:32:35 2011 +0100 +++ b/src/mainwindow.cpp Thu Jun 16 14:53:06 2011 +0100 @@ -617,7 +617,7 @@ HgIgnoreDialog::confirmIgnore (this, files, QStringList::fromSet(suffixes)); - + DEBUG << "hgIgnoreFiles: Ignore type is " << itype << endl; }