/* This program 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. */ #ifndef SMDIALOG_H #define SMDIALOG_H #include class QLineEdit; class QSpinBox; class QPushButton; class QLabel; class QTextEdit; class Unpacker; class SmDialog : public QDialog { Q_OBJECT public: explicit SmDialog(QWidget *parent = 0, Qt::WindowFlags f = 0) : QDialog(parent, f) {} }; class SeriesPartsDialog : public SmDialog { Q_OBJECT public: explicit SeriesPartsDialog(QWidget *parent, Qt::WindowFlags f = 0); QString subtitle() const; int partNo() const; void setSubtitle(const QString &subtitle); void setPartno(int partNo); private: QLineEdit *mSubtitle; QSpinBox *mPartno; QPushButton *mOk; QPushButton *mCancel; }; class UnpackDialog : public SmDialog { Q_OBJECT public: explicit UnpackDialog(QWidget *parent = 0, Qt::WindowFlags f = 0); void setCurrentLabel(const QString &cur); void clearOutput(); void setCloseEnabled(bool enabled); void clearCommandQueue(); signals: void workFinished(); public slots: void addOutput(const QString &msg, const QString &prepend); void addProcOutput(const QByteArray &data); void appendCommand(const QStringList &cmd); void doIt(); void newPackage(const QString &package); void unpackDone(); private: QLabel *mCurrentL; QTextEdit *mOutput; QPushButton *mClose; QList mCommandQueue; Unpacker *mUnpacker; }; #endif // SMDIALOG_H