#ifndef WIDG_H #define WIDG_H #include "Menu.h" #include "ProgressBar.h" #include #include #include #include #include #include #include namespace Ui { class Widget; } class Widget : public QWidget { Q_OBJECT enum Command { Playback, Next, Previous, Forward, Back, Pause, Return, Enter }; public: explicit Widget(QWidget* parent = 0); ~Widget(); public slots: void showPlayList(); private slots: void onSerialError(QSerialPort::SerialPortError error); void onTimeout(); void onReadyRead(); void onProgressTimeout(); void onPlayEnd(); void onSignalInputed(QString name, int width, int height); private: Ui::Widget* ui; QStringList fileList; QTimer* timer; QSerialPort* serialPort; QMap commandMap; QTimer* progressTimer; bool isPlayback = false; QString curPlayChannel; QString curSelectChannel; QString curFileName; Menu* menu; ProgressBar* progressBar; private: void initSerialPort(); void initCommandMap(); inline QStringList getFileList(QString dirPath); }; /** * @brief get all files of cur channel * @param path * @return */ inline QStringList Widget::getFileList(QString dirPath) { QStringList fileList; QDir dir(dirPath); if (!dir.exists()) { qDebug() << dirPath << "do not exist"; return fileList; } dir.setFilter(QDir::Files); dir.setSorting(QDir::Name); QStringList nameFilters; nameFilters << "*.mp4"; dir.setNameFilters(nameFilters); fileList = dir.entryList(); return fileList; } #endif // WIDG_H