#include <QLineEdit>
#include <QListWidget>
#include <QTableWidget>
#include <QLabel>
#include <QVBoxLayout>
#include <QComboBox>
#include <QDebug>

#include "mainwindow.h"
#include "mediawiki.h"

MainWindow::MainWindow(QWidget *parent)
    : QWidget(parent)
{
	tubelines << "all"<<"circle"<<"district"<<"picccadilly"<<"hammersmithcity"<<"bakerloo"<<"central"<<"docklands"<<"jubilee"<<"metropolitan"<<"northern"<<"victoria"<<"waterloocity";

    edit = new QLineEdit( this );
    list = new QListWidget( this );
    table = new QTableWidget( 0, 2, this );
    table->resizeColumnsToContents();
    layout = new QVBoxLayout( this );
    combo = new QComboBox( this );
    combo->addItems(tubelines);
    combo->setFrame(true);
    //layout->addWidget( edit );
    //layout->addWidget( list );
    layout->addWidget( combo );
    layout->addWidget( table );

    //connect( edit, SIGNAL(returnPressed()), SLOT(go()) );
    connect( combo, SIGNAL(activated(QString)), SLOT(go(QString)) );

    wiki = new MediaWiki( this );
    //wiki->setMaxItems(20);
    //wiki->setApiUrl( QUrl("http://techbase.kde.org/api.php") );

    connect( wiki, SIGNAL(finished(bool)), SLOT(finished(bool)) );
}

MainWindow::~MainWindow()
{
}

void MainWindow::go(const QString& tubeline)
{
    wiki->search(tubeline); 
	table->clearContents();
}

void MainWindow::finished( bool ok )
{
    list->clear();
    list->addItems( wiki->results() );

	int rowCount = table->rowCount();
	table->insertRow(rowCount);

	int col = 0;
    foreach(QString s, wiki->results())
    {
    	qDebug() << s << rowCount << col ;
   		QTableWidgetItem *item = new QTableWidgetItem(s);
		table->setItem(rowCount, col++, item);

		if ( col > 1 )
		{
			rowCount = table->rowCount();
			table->insertRow(rowCount);
			col = 0;
		}

    }

}
