implement options model, show current options in options dialog

This commit is contained in:
Wladimir J. van der Laan
2011-05-31 22:24:53 +02:00
parent 6630c1cbf5
commit 92f20d53fb
11 changed files with 179 additions and 20 deletions

View File

@@ -2,6 +2,7 @@
#define CLIENTMODEL_H
#include <QObject>
class OptionsModel;
class ClientModel : public QObject
{
@@ -20,6 +21,8 @@ public:
MiscError
};
OptionsModel *getOptionsModel();
qint64 getBalance();
QString getAddress();
int getNumConnections();
@@ -29,6 +32,8 @@ public:
qint64 getTransactionFee();
StatusCode sendCoins(const QString &payTo, qint64 payAmount);
private:
OptionsModel *options_model;
signals:
void balanceChanged(qint64 balance);

View File

@@ -3,11 +3,30 @@
#include <QWidget>
QT_BEGIN_NAMESPACE
class QDataWidgetMapper;
class QCheckBox;
class QLineEdit;
QT_END_NAMESPACE
class OptionsModel;
class MainOptionsPage : public QWidget
{
Q_OBJECT
public:
explicit MainOptionsPage(QWidget *parent = 0);
explicit MainOptionsPage(QWidget *parent=0);
void setMapper(QDataWidgetMapper *mapper);
private:
QCheckBox *bitcoin_at_startup;
QCheckBox *minimize_to_tray;
QCheckBox *map_port_upnp;
QCheckBox *minimize_on_close;
QCheckBox *connect_socks4;
QLineEdit *proxy_ip;
QLineEdit *proxy_port;
QLineEdit *fee_edit;
signals:

View File

@@ -7,13 +7,18 @@ QT_BEGIN_NAMESPACE
class QStackedWidget;
class QListWidget;
class QListWidgetItem;
class QDataWidgetMapper;
QT_END_NAMESPACE
class OptionsModel;
class MainOptionsPage;
class OptionsDialog : public QDialog
{
Q_OBJECT
public:
explicit OptionsDialog(QWidget *parent = 0);
explicit OptionsDialog(QWidget *parent=0);
void setModel(OptionsModel *model);
signals:
@@ -22,6 +27,9 @@ public slots:
private:
QListWidget *contents_widget;
QStackedWidget *pages_widget;
MainOptionsPage *main_options_page;
OptionsModel *model;
QDataWidgetMapper *mapper;
void setupMainPage();
};

View File

@@ -0,0 +1,34 @@
#ifndef OPTIONSMODEL_H
#define OPTIONSMODEL_H
#include <QAbstractListModel>
class OptionsModel : public QAbstractListModel
{
Q_OBJECT
public:
explicit OptionsModel(QObject *parent = 0);
enum OptionID {
StartAtStartup,
MinimizeToTray,
MapPortUPnP,
MinimizeOnClose,
ConnectSOCKS4,
ProxyIP,
ProxyPort,
Fee,
OptionIDRowCount
};
int rowCount(const QModelIndex & parent = QModelIndex()) const;
QVariant data(const QModelIndex & index, int role = Qt::DisplayRole) const;
bool setData(const QModelIndex & index, const QVariant & value, int role = Qt::EditRole);
signals:
public slots:
};
#endif // OPTIONSMODEL_H