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

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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. {
  38. plugin->setFeiqWin(this);
  39. plugin->init();
  40. }
  41. }
  42. void FeiqWin::unInit()
  43. {
  44. for (auto plugin : mPlugins)
  45. {
  46. plugin->unInit();
  47. }
  48. mPlugins.clear();
  49. }
  50. void FeiqWin::loadPlugins()
  51. {
  52. auto gAllPlugins = PluginManager::instance().allPlugins;
  53. cout<<"listing all supported plugins:"<<endl;
  54. for (auto iter : gAllPlugins)
  55. {
  56. cout<<iter.first;
  57. if (mMainWin->mSettings->value(QString(iter.first)+"/enable", "1").toBool())
  58. {
  59. cout<<" enable";
  60. mPlugins.append(iter.second);
  61. }
  62. else
  63. {
  64. cout<<" disable";
  65. }
  66. cout<<endl;
  67. }
  68. }

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

Contributors (1)