You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

filemanagerdlg.h 1.1 kB

8 years ago
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #ifndef DOWNLOADFILEDLG_H
  2. #define DOWNLOADFILEDLG_H
  3. #include <QDialog>
  4. #include <memory>
  5. #include "feiqlib/filetask.h"
  6. #include "feiqlib/feiqengine.h"
  7. using namespace std;
  8. namespace Ui {
  9. class DownloadFileDlg;
  10. }
  11. class FileManagerDlg : public QDialog
  12. {
  13. Q_OBJECT
  14. typedef function<bool (const FileTask &)> SearchPredict;
  15. public:
  16. explicit FileManagerDlg(QWidget *parent = 0);
  17. ~FileManagerDlg();
  18. public:
  19. void setEngine(FeiqEngine* engine);
  20. void select(FileTask* task);
  21. public slots:
  22. void statChanged(FileTask* task);
  23. void progressChanged(FileTask* task);
  24. private slots:
  25. void delSelTask();
  26. void saveSelTask();
  27. void clear();
  28. void refresh();
  29. private:
  30. void reloadWith(SearchPredict predict);
  31. QString typeString(FileTaskType type);
  32. QString stateString(const FileTask *task);
  33. QString progressString(const FileTask* task);
  34. FileTask* getTaskOfCurrentRow();
  35. int findRowByTask(const FileTask* task);
  36. protected:
  37. virtual void showEvent(QShowEvent *) override;
  38. private:
  39. Ui::DownloadFileDlg *ui;
  40. FeiqEngine* mEngine;
  41. };
  42. #endif // DOWNLOADFILEDLG_H

mac下的“飞秋”大多数只是飞鸽传书协议,而且未发现令人满意的开源项目,所以基于c++与qt实现了基础的飞秋协议。

Contributors (1)