//
// C++ Interface: 
//
// Description: 
//
//
// Author: Predrag Viceic <viceic@net2000.ch>, (C) 2005
//
// Copyright: See COPYING file that comes with this distribution
//
//

#ifndef MIDICONFIGDIALOG_H
#define MIDICONFIGDIALOG_H

#include "MidiConfigDialogBase.h"
#include "midiinput.h"
#include "qlistbox.h"
#include "qtimer.h"


class MidiConfigDialog : public MidiConfigDialogBase
{
  Q_OBJECT

public:
  MidiConfigDialog(MidiInput* mi,QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
  ~MidiConfigDialog();
    void selectSelected();
  /*$PUBLIC_FUNCTIONS$*/

public slots:
  /*$PUBLIC_SLOTS$*/
  virtual int          exec();

protected:
  /*$PROTECTED_FUNCTIONS$*/

protected slots:
  /*$PROTECTED_SLOTS$*/
  virtual void          reject();
  virtual void          accept();

protected:
    MidiInput* midiInput;
    QTimer* timer;
    QString selectedDeviceString;
    int selectedChannel;
public slots:
    void setDefaults();
    void updateDeviceList();
    void selectionChanged(QListBoxItem * item);
    void midiPortChanged(QListBoxItem * item);
};

#endif

