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.

feiqwin.cpp 1.3 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #include "feiqwin.h"
  2. #include "mainwindow.h"
  3. #include "plugin/iplugin.h"
  4. FeiqWin::FeiqWin()
  5. {
  6. }
  7. RecvTextEdit *FeiqWin::recvTextEdit()
  8. {
  9. return mMainWin->mRecvTextEdit;
  10. }
  11. SendTextEdit *FeiqWin::sendTextEdit()
  12. {
  13. return mMainWin->mSendTextEdit;
  14. }
  15. FellowListWidget *FeiqWin::fellowListWidget()
  16. {
  17. return &(mMainWin->mFellowList);
  18. }
  19. const FeiqModel *FeiqWin::feiqModel()
  20. {
  21. return &(mMainWin->mFeiq.getModel());
  22. }
  23. Settings *FeiqWin::settings()
  24. {
  25. return mMainWin->mSettings;
  26. }
  27. void FeiqWin::init(MainWindow *mainWin)
  28. {
  29. mMainWin = mainWin;
  30. loadPlugins();
  31. for (auto plugin : mPlugins)
  32. {
  33. plugin->setFeiqWin(this);
  34. plugin->init();
  35. }
  36. }
  37. void FeiqWin::unInit()
  38. {
  39. for (auto plugin : mPlugins)
  40. {
  41. plugin->unInit();
  42. }
  43. mPlugins.clear();
  44. }
  45. void FeiqWin::loadPlugins()
  46. {
  47. auto gAllPlugins = PluginManager::instance().allPlugins;
  48. cout<<"listing all supported plugins:"<<endl;
  49. for (auto iter : gAllPlugins)
  50. {
  51. cout<<iter.first;
  52. if (mMainWin->mSettings->value(QString(iter.first)+"/enable", "1").toBool())
  53. {
  54. cout<<" enable";
  55. mPlugins.append(iter.second);
  56. }
  57. else
  58. {
  59. cout<<" disable";
  60. }
  61. cout<<endl;
  62. }
  63. }

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

Contributors (1)