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.4 kB

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

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

Contributors (1)