Browse Source

Allow NameReg to be configured.

cl-refactor
Gav Wood 11 years ago
parent
commit
3001ec0636
  1. 127
      alethzero/Main.ui
  2. 56
      alethzero/MainWin.cpp
  3. 2
      alethzero/MainWin.h
  4. 2
      libethereum/Common.h

127
alethzero/Main.ui

@ -24,7 +24,16 @@
</property> </property>
<widget class="QWidget" name="centralwidget"> <widget class="QWidget" name="centralwidget">
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<property name="margin"> <property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number> <number>0</number>
</property> </property>
<item> <item>
@ -63,7 +72,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>1504</width> <width>1504</width>
<height>28</height> <height>20</height>
</rect> </rect>
</property> </property>
<widget class="QMenu" name="menu_File"> <widget class="QMenu" name="menu_File">
@ -112,7 +121,16 @@
</attribute> </attribute>
<widget class="QWidget" name="dockWidgetContents_2"> <widget class="QWidget" name="dockWidgetContents_2">
<layout class="QHBoxLayout" name="horizontalLayout_4"> <layout class="QHBoxLayout" name="horizontalLayout_4">
<property name="margin"> <property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number> <number>0</number>
</property> </property>
<item> <item>
@ -140,7 +158,16 @@
</attribute> </attribute>
<widget class="QWidget" name="dockWidgetContents_3"> <widget class="QWidget" name="dockWidgetContents_3">
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<property name="margin"> <property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number> <number>0</number>
</property> </property>
<item> <item>
@ -237,7 +264,16 @@
</attribute> </attribute>
<widget class="QWidget" name="dockWidgetContents_4"> <widget class="QWidget" name="dockWidgetContents_4">
<layout class="QHBoxLayout" name="horizontalLayout_6"> <layout class="QHBoxLayout" name="horizontalLayout_6">
<property name="margin"> <property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number> <number>0</number>
</property> </property>
<item> <item>
@ -290,7 +326,16 @@
<property name="spacing"> <property name="spacing">
<number>0</number> <number>0</number>
</property> </property>
<property name="margin"> <property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number> <number>0</number>
</property> </property>
<item> <item>
@ -487,7 +532,16 @@
</attribute> </attribute>
<widget class="QWidget" name="dockWidgetContents_7"> <widget class="QWidget" name="dockWidgetContents_7">
<layout class="QHBoxLayout" name="horizontalLayout_5"> <layout class="QHBoxLayout" name="horizontalLayout_5">
<property name="margin"> <property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number> <number>0</number>
</property> </property>
<item> <item>
@ -532,7 +586,16 @@
</attribute> </attribute>
<widget class="QWidget" name="dockWidgetContents_6"> <widget class="QWidget" name="dockWidgetContents_6">
<layout class="QVBoxLayout" name="verticalLayout_2"> <layout class="QVBoxLayout" name="verticalLayout_2">
<property name="margin"> <property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number> <number>0</number>
</property> </property>
<item> <item>
@ -588,7 +651,16 @@
</attribute> </attribute>
<widget class="QWidget" name="dockWidgetContents_8"> <widget class="QWidget" name="dockWidgetContents_8">
<layout class="QHBoxLayout" name="horizontalLayout_8"> <layout class="QHBoxLayout" name="horizontalLayout_8">
<property name="margin"> <property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number> <number>0</number>
</property> </property>
<item> <item>
@ -632,6 +704,43 @@
</layout> </layout>
</widget> </widget>
</widget> </widget>
<widget class="QDockWidget" name="dockWidget_9">
<property name="features">
<set>QDockWidget::DockWidgetFeatureMask</set>
</property>
<property name="windowTitle">
<string>Settings</string>
</property>
<attribute name="dockWidgetArea">
<number>2</number>
</attribute>
<widget class="QWidget" name="dockWidgetContents_9">
<layout class="QGridLayout" name="gridLayout_3">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Name Registrar</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="nameReg"/>
</item>
</layout>
</widget>
</widget>
<action name="quit"> <action name="quit">
<property name="text"> <property name="text">
<string>&amp;Quit</string> <string>&amp;Quit</string>

56
alethzero/MainWin.cpp

@ -65,6 +65,44 @@ Main::Main(QWidget *parent) :
g_logPost = [=](std::string const& s, char const* c) { simpleDebugOut(s, c); ui->log->addItem(QString::fromStdString(s)); }; g_logPost = [=](std::string const& s, char const* c) { simpleDebugOut(s, c); ui->log->addItem(QString::fromStdString(s)); };
m_client.reset(new Client("AlethZero")); m_client.reset(new Client("AlethZero"));
/*
ui->librariesView->setModel(m_libraryMan);
ui->graphsView->setModel(m_graphMan);
setWindowIcon(QIcon(":/Noted.png"));
qmlRegisterSingletonType<TimeHelper>("com.llr", 1, 0, "Time", TimelineItem::constructTimeHelper);
qmlRegisterType<GraphItem>("com.llr", 1, 0, "Graph");
qmlRegisterType<CursorGraphItem>("com.llr", 1, 0, "CursorGraph");
qmlRegisterType<IntervalItem>("com.llr", 1, 0, "Interval");
qmlRegisterType<CursorItem>("com.llr", 1, 0, "Cursor");
qmlRegisterType<TimelinesItem>("com.llr", 1, 0, "Timelines");
qmlRegisterType<TimeLabelsItem>("com.llr", 1, 0, "TimeLabels");
qmlRegisterType<XLabelsItem>("com.llr", 1, 0, "XLabels");
qmlRegisterType<XScaleItem>("com.llr", 1, 0, "XScale");
qmlRegisterType<YLabelsItem>("com.llr", 1, 0, "YLabels");
qmlRegisterType<YScaleItem>("com.llr", 1, 0, "YScale");
m_view = new QQuickView();
QQmlContext* context = m_view->rootContext();
context->setContextProperty("libs", libs());
context->setContextProperty("compute", compute());
context->setContextProperty("data", data());
context->setContextProperty("graphs", graphs());
context->setContextProperty("audio", audio());
context->setContextProperty("view", view());
m_view->setSource(QUrl("qrc:/Noted.qml"));
QWidget* w = QWidget::createWindowContainer(m_view);
w->setAcceptDrops(true);
m_view->setResizeMode(QQuickView::SizeRootObjectToView);
ui->fullDisplay->insertWidget(0, w);
m_view->create();
m_timelinesItem = m_view->rootObject()->findChild<TimelinesItem*>("timelines");
qDebug() << m_view->rootObject();
*/
readSettings(); readSettings();
refresh(); refresh();
@ -105,11 +143,9 @@ Main::~Main()
writeSettings(); writeSettings();
} }
static const Address c_nameContract(fromUserHex("8c81ec1f8039e9dd3d21e02af91f7a3629bce784"));
QString Main::pretty(eth::Address _a) const QString Main::pretty(eth::Address _a) const
{ {
if (h256 n = state().contractMemory(c_nameContract, (h256)(u256)(u160)_a)) if (h256 n = state().contractMemory(m_nameReg, (h256)(u256)(u160)_a))
{ {
std::string s((char const*)n.data(), 32); std::string s((char const*)n.data(), 32);
s.resize(s.find_first_of('\0')); s.resize(s.find_first_of('\0'));
@ -135,7 +171,7 @@ Address Main::fromString(QString const& _a) const
memcpy(n.data(), sn.data(), sn.size()); memcpy(n.data(), sn.data(), sn.size());
memset(n.data() + sn.size(), 0, 32 - sn.size()); memset(n.data() + sn.size(), 0, 32 - sn.size());
if (_a.size()) if (_a.size())
if (h256 a = state().contractMemory(c_nameContract, n)) if (h256 a = state().contractMemory(m_nameReg, n))
return right160(a); return right160(a);
if (_a.size() == 40) if (_a.size() == 40)
return Address(fromUserHex(_a.toStdString())); return Address(fromUserHex(_a.toStdString()));
@ -173,6 +209,7 @@ void Main::writeSettings()
} }
s.setValue("peers", m_peers); s.setValue("peers", m_peers);
s.setValue("nameReg", ui->nameReg->text());
s.setValue("geometry", saveGeometry()); s.setValue("geometry", saveGeometry());
s.setValue("windowState", saveState()); s.setValue("windowState", saveState());
@ -204,6 +241,17 @@ void Main::readSettings()
ui->clientName->setText(s.value("clientName", "").toString()); ui->clientName->setText(s.value("clientName", "").toString());
ui->idealPeers->setValue(s.value("idealPeers", ui->idealPeers->value()).toInt()); ui->idealPeers->setValue(s.value("idealPeers", ui->idealPeers->value()).toInt());
ui->port->setValue(s.value("port", ui->port->value()).toInt()); ui->port->setValue(s.value("port", ui->port->value()).toInt());
ui->nameReg->setText(s.value("nameReg", "57a3dcfd7c57ceba67bd7e057a1581d6c3e64f83").toString());
}
void Main::on_nameReg_textChanged()
{
string s = ui->nameReg->text().toStdString();
if (s.size() == 40)
{
m_nameReg = Address(fromUserHex(s));
refresh(true);
}
} }
void Main::refreshNetwork() void Main::refreshNetwork()

2
alethzero/MainWin.h

@ -44,6 +44,7 @@ private slots:
void on_contracts_doubleClicked(); void on_contracts_doubleClicked();
void on_contracts_currentItemChanged(); void on_contracts_currentItemChanged();
void on_about_triggered(); void on_about_triggered();
void on_nameReg_textChanged();
void on_preview_triggered() { refresh(true); } void on_preview_triggered() { refresh(true); }
void on_quit_triggered() { close(); } void on_quit_triggered() { close(); }
@ -78,6 +79,7 @@ private:
QVector<eth::KeyPair> m_myKeys; QVector<eth::KeyPair> m_myKeys;
bool m_keysChanged = false; bool m_keysChanged = false;
eth::u256s m_data; eth::u256s m_data;
eth::Address m_nameReg;
QNetworkAccessManager m_webCtrl; QNetworkAccessManager m_webCtrl;
}; };

2
libethereum/Common.h

@ -107,7 +107,7 @@ public:
FixedHash() { m_data.fill(0); } FixedHash() { m_data.fill(0); }
FixedHash(Arith const& _arith) { toBigEndian(_arith, m_data); } FixedHash(Arith const& _arith) { toBigEndian(_arith, m_data); }
explicit FixedHash(bytes const& _b) { memcpy(m_data.data(), _b.data(), std::min<uint>(_b.size(), N)); } explicit FixedHash(bytes const& _b) { if (_b.size() == N) memcpy(m_data.data(), _b.data(), std::min<uint>(_b.size(), N)); }
explicit FixedHash(byte const* _bs, ConstructFromPointerType) { memcpy(m_data.data(), _bs, N); } explicit FixedHash(byte const* _bs, ConstructFromPointerType) { memcpy(m_data.data(), _bs, N); }
explicit FixedHash(std::string const& _user): FixedHash(fromUserHex(_user)) {} explicit FixedHash(std::string const& _user): FixedHash(fromUserHex(_user)) {}

Loading…
Cancel
Save