/* This file is part of cpp-ethereum. cpp-ethereum is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. cpp-ethereum is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with cpp-ethereum. If not, see . */ /** @file MixApplication.cpp * @author Yann yann@ethdev.com * @date 2014 */ #include "MixApplication.h" #include #include #include #ifdef ETH_HAVE_WEBENGINE #include #endif #include "CodeModel.h" #include "ClientModel.h" #include "FileIo.h" #include "QEther.h" #include "QVariableDeclaration.h" #include "SortFilterProxyModel.h" #include "Clipboard.h" #include "HttpServer.h" using namespace dev::mix; MixApplication::MixApplication(int& _argc, char* _argv[]): QApplication(_argc, _argv), m_engine(new QQmlApplicationEngine()) { setOrganizationName(tr("Ethereum")); setOrganizationDomain(tr("ethereum.org")); setApplicationName(tr("Mix")); setApplicationVersion("0.1"); #ifdef ETH_HAVE_WEBENGINE QtWebEngine::initialize(); #endif QFont f; m_engine->rootContext()->setContextProperty("systemPointSize", f.pointSize()); qmlRegisterType("org.ethereum.qml.CodeModel", 1, 0, "CodeModel"); qmlRegisterType("org.ethereum.qml.ClientModel", 1, 0, "ClientModel"); qmlRegisterType("org.ethereum.qml.FileIo", 1, 0, "FileIo"); qmlRegisterType("org.ethereum.qml.QEther", 1, 0, "QEther"); qmlRegisterType("org.ethereum.qml.QBigInt", 1, 0, "QBigInt"); qmlRegisterType("org.ethereum.qml.QVariableDeclaration", 1, 0, "QVariableDeclaration"); qmlRegisterType("org.ethereum.qml.RecordLogEntry", 1, 0, "RecordLogEntry"); qmlRegisterType("org.ethereum.qml.SortFilterProxyModel", 1, 0, "SortFilterProxyModel"); qmlRegisterType("org.ethereum.qml.QSolidityType", 1, 0, "QSolidityType"); qmlRegisterType("org.ethereum.qml.Clipboard", 1, 0, "Clipboard"); qmlRegisterType("HttpServer", 1, 0, "HttpServer"); qRegisterMetaType("CodeModel*"); qRegisterMetaType("ClientModel*"); m_engine->load(QUrl("qrc:/qml/main.qml")); QWindow *window = qobject_cast(m_engine->rootObjects().at(0)); window->setIcon(QIcon(":/res/mix_256x256x32.png")); } MixApplication::~MixApplication() { }