cmodlistview_moc.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. /*
  2. * cmodlistview_moc.h, part of VCMI engine
  3. *
  4. * Authors: listed in file AUTHORS in main folder
  5. *
  6. * License: GNU General Public License v2.0 or later
  7. * Full text of license available in license.txt file, in main folder
  8. *
  9. */
  10. #pragma once
  11. #include "../StdInc.h"
  12. #include "../../lib/CConfigHandler.h"
  13. namespace Ui {
  14. class CModListView;
  15. }
  16. class CModManager;
  17. class CModListModel;
  18. class CModFilterModel;
  19. class CDownloadManager;
  20. class QTableWidgetItem;
  21. class CModEntry;
  22. class CModListView : public QWidget
  23. {
  24. Q_OBJECT
  25. CModManager * manager;
  26. CModListModel * modModel;
  27. CModFilterModel * filterModel;
  28. CDownloadManager * dlManager;
  29. SettingsListener settingsListener;
  30. bool repositoriesChanged;
  31. void showEvent(QShowEvent * event) override;
  32. void keyPressEvent(QKeyEvent * event) override;
  33. void setupModModel();
  34. void setupFilterModel();
  35. void setupModsView();
  36. void loadRepositories();
  37. void checkManagerErrors();
  38. // find mods unknown to mod list (not present in repo and not installed)
  39. QStringList findInvalidDependencies(QString mod);
  40. // find mods that block enabling of this mod: conflicting with this mod or one of required mods
  41. QStringList findBlockingMods(QString mod);
  42. // find mods that depend on this one
  43. QStringList findDependentMods(QString mod, bool excludeDisabled);
  44. void downloadFile(QString file, QString url, QString description);
  45. void installMods(QStringList archives);
  46. void installFiles(QStringList mods);
  47. QString genChangelogText(CModEntry & mod);
  48. QString genModInfoText(CModEntry & mod);
  49. public:
  50. explicit CModListView(QWidget *parent = 0);
  51. ~CModListView();
  52. void showModInfo();
  53. void hideModInfo();
  54. void loadScreenshots();
  55. void enableModInfo();
  56. void disableModInfo();
  57. void selectMod(const QModelIndex & index);
  58. private slots:
  59. void dataChanged(const QModelIndex & topleft, const QModelIndex & bottomRight);
  60. void modSelected(const QModelIndex & current, const QModelIndex & previous);
  61. void downloadProgress(qint64 current, qint64 max);
  62. void downloadFinished(QStringList savedFiles, QStringList failedFiles, QStringList errors);
  63. void modelReset ();
  64. void hideProgressBar();
  65. void on_hideModInfoButton_clicked();
  66. void on_lineEdit_textChanged(const QString &arg1);
  67. void on_comboBox_currentIndexChanged(int index);
  68. void on_enableButton_clicked();
  69. void on_disableButton_clicked();
  70. void on_updateButton_clicked();
  71. void on_uninstallButton_clicked();
  72. void on_installButton_clicked();
  73. void on_pushButton_clicked();
  74. void on_refreshButton_clicked();
  75. void on_allModsView_activated(const QModelIndex &index);
  76. void on_tabWidget_currentChanged(int index);
  77. void on_screenshotsList_clicked(const QModelIndex &index);
  78. void on_showInfoButton_clicked();
  79. private:
  80. Ui::CModListView *ui;
  81. };