#include "buttonselectiondialog.h"
#include <QButtonGroup>

ButtonSelectionDialog::ButtonSelectionDialog()
{
    m_fieldContainer = new ScrollingWidget( inputWidgetParent() );
    setInputWidget(m_fieldContainer);
    m_buttonGroup = new QButtonGroup(this);

    setButtons(QDialogButtonBox::Ok|QDialogButtonBox::Cancel);
}

void ButtonSelectionDialog::slotInputAccepted()
{
    QStringList tags;
    foreach( QAbstractButton *button, m_buttonGroup->buttons() )
        if( button->isChecked() )
            tags <<  button->property("tag").toString();
    printOutput( tags );
}

void ButtonSelectionDialog::addCheckbox( QAbstractButton *button, const QString &tag, const QString &label, bool isChecked, const QString &help, bool noTags )
{
    if( noTags )
        button->setText(label);
    else
        button->setText(QString("%1: %2").arg(tag).arg(label));
    button->setChecked(isChecked);
    button->setProperty("tag", tag);
    button->setToolTip(help);
    m_fieldContainer->addWidget(button);
    m_buttonGroup->addButton(button);
}


