cfgircnetworks.h
1 //------------------------------------------------------------------------------
2 // cfgircnetworks.h
3 //------------------------------------------------------------------------------
4 //
5 // This program is free software; you can redistribute it and/or
6 // modify it under the terms of the GNU General Public License
7 // as published by the Free Software Foundation; either version 2
8 // of the License, or (at your option) any later version.
9 //
10 // This program 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 this program; if not, write to the Free Software
17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18 // 02110-1301, USA.
19 //
20 //------------------------------------------------------------------------------
21 // Copyright (C) 2010 "Zalewa" <zalewapl@gmail.com>
22 //------------------------------------------------------------------------------
23 #ifndef __CFGIRCNETWORKS_H__
24 #define __CFGIRCNETWORKS_H__
25 
26 #include "gui/configuration/configurationbasebox.h"
27 #include "dptr.h"
28 #include <QtContainerFwd>
29 #include <QIcon>
30 
31 class IRCNetworkEntity;
32 class QModelIndex;
33 class QStandardItem;
34 
36 {
37  Q_OBJECT
38 
39  public:
40  CFGIRCNetworks(QWidget* parent = NULL);
41  ~CFGIRCNetworks();
42 
43  QIcon icon() const { return QIcon(":/flags/lan-small"); }
44  QString name() const { return tr("Networks"); }
45  QVector<IRCNetworkEntity*> networks();
46  void readSettings();
47  QString title() const { return tr("IRC - Networks"); }
48 
49  protected:
50  void saveSettings();
51 
52  private:
53  void addRecord(IRCNetworkEntity* pNetworkEntity);
54  void cleanUpTable();
55  QList<QStandardItem*> generateTableRecord(IRCNetworkEntity* pNetworkEntity);
56  IRCNetworkEntity* network(int row) const;
57  QList<IRCNetworkEntity> networksAsQList() const;
58 
62  IRCNetworkEntity* obtainNetworkEntity(QStandardItem* pItem) const;
63 
64  void prepareTable();
65  void saveNetworks();
66  IRCNetworkEntity* selectedNetwork();
67  int selectedRow();
68  void updateRecord(int row);
69 
71  private slots:
72  void addButtonClicked();
73  void editButtonClicked();
74  void removeButtonClicked();
75  void tableDoubleClicked(const QModelIndex& index);
76 };
77 
78 #endif
QIcon icon() const
Reimplement this to return a displayable icon for the ConfigurationBaseBox.
void saveSettings()
Reimplement this to write settings to config from widgets.
QString title() const
Page title, by default returns the same string as name().
void readSettings()
Reimplement this to read settings from config into widgets.
Data structure that describes and defines a connection to an IRC network or server.
Base class for configuration pages.
QString name() const
Reimplement this to return a list-displayable name for this ConfigurationBaseBox. ...