Cute Chess  0.1
enginemanagementwidget.h
1 /*
2  This file is part of Cute Chess.
3  Copyright (C) 2008-2018 Cute Chess authors
4 
5  Cute Chess is free software: you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation, either version 3 of the License, or
8  (at your option) any later version.
9 
10  Cute Chess is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with Cute Chess. If not, see <http://www.gnu.org/licenses/>.
17 */
18 
19 #ifndef ENGINEMANAGEMENTWIDGET_H
20 #define ENGINEMANAGEMENTWIDGET_H
21 
22 #include <QWidget>
23 #include <engineconfiguration.h>
24 
25 class EngineManager;
27 class QModelIndex;
28 
29 namespace Ui {
31 }
32 
38 {
39  Q_OBJECT
40 
41  public:
43  EngineManagementWidget(QWidget* parent = nullptr);
45  virtual ~EngineManagementWidget();
46 
51  bool hasConfigChanged() const;
52 
54  void saveConfig();
55 
56  private slots:
57  void updateUi();
58  void updateSearch(const QString& terms);
59  void addEngine();
60  void configureEngine();
61  void configureEngine(const QModelIndex& index);
62  void removeEngine();
63  void browseDefaultLocation();
64 
65  private:
66  void updateEngineCount();
67 
68  EngineManager* m_engineManager;
69  bool m_hasChanged;
70  QSortFilterProxyModel* m_filteredModel;
71  Ui::EngineManagementWidget* ui;
72 };
73 
74 #endif // ENGINEMANAGEMENTWIDGET_H
The EngineManagementWidget class provides a dialog for chess engine management.
Definition: enginemanagementwidget.h:37
Definition: engineconfigurationdlg.h:30
Manages chess engines and their configurations.
Definition: enginemanager.h:30