#ifndef MAIN_H #define MAIN_H #include #include #include #include #include #include namespace Ui { class Main; } namespace dev { namespace eth { class Client; class State; }} class QQuickView; class QQmlEngine; class QJSEngine; class Main : public QMainWindow { Q_OBJECT public: explicit Main(QWidget *parent = 0); ~Main(); dev::eth::Client* client() const { return m_client.get(); } private slots: void on_connect_triggered(); void on_mine_triggered(); void on_create_triggered(); void on_net_triggered(bool _auto = false); void on_about_triggered(); void on_preview_triggered() { refresh(); } void on_quit_triggered() { close(); } void refresh(); void refreshNetwork(); protected: virtual void timerEvent(QTimerEvent *); private: /* QString pretty(dev::Address _a) const; QString render(dev::Address _a) const; dev::Address fromString(QString const& _a) const; */ dev::eth::State const& state() const; void updateFee(); void readSettings(); void writeSettings(); dev::u256 fee() const; dev::u256 total() const; dev::u256 value() const; std::unique_ptr ui; QByteArray m_peers; QMutex m_guiLock; QTimer* m_refresh; QTimer* m_refreshNetwork; QVector m_myKeys; bool m_keysChanged = false; int m_port; int m_idealPeers; QString m_clientName; QStringList m_servers; QQuickView* m_view; QNetworkAccessManager m_webCtrl; std::unique_ptr m_client; }; #endif // MAIN_H