/*
 * scbus utils to switch card settings.
 *
 * Copyright (C) 2011 Otvos Attila oattila@onebithq.com
 *
 * This is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 */


#ifndef __FILEDIALOG_H__
#define __FILEEDIALOG_H__

#include <QWidget>
#include <QComboBox>
#include <QLabel>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QPushButton>
#include <QFileDialog>

class FileTab : public QWidget {
    Q_OBJECT

    public:
        FileTab(const int deviceid, QList<int>* devices, QWidget *parent = NULL);

    public:
        int getDevice(void);

    public slots:
        void setDevice(int deviceid);
        void updateDevices(void);
        void pressLoad(void);
        void pressSave(void);
        void pressAccept(void);
        void pressReset(void);

    signals:
        void loadFile(QString fname);
        void saveFile(QString fname);
        void setModify(bool m);
        void reset(void);
        void accept(void);

    private:
        int deviceid;
        QPushButton *acceptButton;
        QPushButton *resetButton;
        QPushButton *loadButton;
        QPushButton *saveButton;
        QLabel *deviceValueLabel;
        QLabel *fileValueLabel;
        QString fileName;

        QList<int>* devices;
};

#endif
