LeechCraft  0.6.70-16373-g319c272718
Modular cross-platform feature rich live environment.
addressesmodelmanager.h
Go to the documentation of this file.
1 /**********************************************************************
2  * LeechCraft - modular cross-platform feature rich internet client.
3  * Copyright (C) 2006-2014 Georg Rudoy
4  *
5  * Distributed under the Boost Software License, Version 1.0.
6  * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7  **********************************************************************/
8 
9 #pragma once
10 
11 #include <QObject>
12 #include <QVariantList>
13 #include <QModelIndexList>
14 #include <util/network/addresses.h>
15 #include "xsdconfig.h"
16 
17 class QHostAddress;
18 class QStandardItemModel;
19 class QStandardItem;
20 
21 namespace LC::Util
22 {
23  class BaseSettingsManager;
24 
33  class UTIL_XSD_API AddressesModelManager : public QObject
34  {
35  Q_OBJECT
36 
37  QStandardItemModel * const Model_;
38  BaseSettingsManager * const BSM_;
39  public:
48  AddressesModelManager (BaseSettingsManager *bsm, int defaultPort, QObject *parent = nullptr);
49 
57  static void RegisterTypes ();
58 
68  QAbstractItemModel* GetModel () const;
69 
78  AddrList_t GetAddresses () const;
79  private:
80  void SaveSettings () const;
81  void AppendRow (const QPair<QString, QString>&);
82  public Q_SLOTS:
93  void addRequested (const QString& property, const QVariantList& list);
94 
104  void removeRequested (const QString& property, const QModelIndexList& list);
105  Q_SIGNALS:
109  void addressesChanged ();
110  };
111 }
Manages an XML settings model with a list of network interfaces selected by the user from the list of...
#define UTIL_XSD_API
Definition: xsdconfig.h:16