#include "main.h"

BeerChooser::
BeerChooser(QWidget *parent)
: HbMainWindow(parent),
  m_view(0),
  m_check_mark(QString("qtg_indi_status_ok"))
{}

BeerChooser::
~BeerChooser()
{}

void BeerChooser::
show()
{
    m_view = new HbListView;
    m_view->setAttribute(Qt::WA_DeleteOnClose);
    addView(m_view);

    QStandardItemModel *model = new QStandardItemModel(m_view);
    model->appendRow(new QStandardItem("Chimay Tripel"));
    model->appendRow(new QStandardItem("Leffe blonde"));
    model->appendRow(new QStandardItem("Duvel"));
    for (int idx = 0; idx < model->rowCount(); ++idx) {
        model->item(idx)->setIcon(m_empty.qicon());
    }

    m_view->setModel(model);

    connect(m_view, SIGNAL(activated(QModelIndex)),
            this,   SLOT  (onItemActivated(QModelIndex)));

    HbMainWindow::show();
}

void BeerChooser::
onItemActivated(const QModelIndex &index)
{
    static QModelIndex previous_index;
    QStandardItemModel *model = static_cast<QStandardItemModel *>(m_view->model());

    if(!model) {
        return;
    }

    if(previous_index.isValid()) {
        (model->itemFromIndex(previous_index))->setIcon(m_empty.qicon());
    }

    model->itemFromIndex(index)->setIcon(m_check_mark.qicon());
    previous_index = index;

    QMessageBox::information(this, QString("Chosen beer"), model->itemFromIndex(index)->text());
}

int main(int argc, char **argv)
{
    HbApplication app(argc, argv);
    app.setApplicationName("Pick your poison!");

    BeerChooser bc;
    bc.setWindowState(Qt::WindowFullScreen);
    bc.show();

    return app.exec();
}
