Gav Wood
10 years ago
23 changed files with 646 additions and 246 deletions
@ -0,0 +1,63 @@ |
|||||
|
/*
|
||||
|
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 <http://www.gnu.org/licenses/>.
|
||||
|
*/ |
||||
|
/** @file Connect.cpp
|
||||
|
* @author Alex Leverington <nessence@gmail.com> |
||||
|
* @date 2015 |
||||
|
*/ |
||||
|
|
||||
|
#include "Connect.h" |
||||
|
|
||||
|
#include <libp2p/Host.h> |
||||
|
#include "ui_Connect.h" |
||||
|
|
||||
|
Connect::Connect(QWidget *parent) : |
||||
|
QDialog(parent), |
||||
|
ui(new Ui::Connect) |
||||
|
{ |
||||
|
ui->setupUi(this); |
||||
|
} |
||||
|
|
||||
|
Connect::~Connect() |
||||
|
{ |
||||
|
delete ui; |
||||
|
} |
||||
|
|
||||
|
void Connect::setEnvironment(QStringList const& _nodes) |
||||
|
{ |
||||
|
ui->host->addItems(_nodes); |
||||
|
} |
||||
|
|
||||
|
void Connect::reset() |
||||
|
{ |
||||
|
ui->nodeId->clear(); |
||||
|
ui->required->setChecked(false); |
||||
|
} |
||||
|
|
||||
|
QString Connect::host() |
||||
|
{ |
||||
|
return ui->host->currentText(); |
||||
|
} |
||||
|
|
||||
|
QString Connect::nodeId() |
||||
|
{ |
||||
|
return ui->nodeId->text(); |
||||
|
} |
||||
|
|
||||
|
bool Connect::required() |
||||
|
{ |
||||
|
return ui->required->isChecked(); |
||||
|
} |
@ -0,0 +1,55 @@ |
|||||
|
/*
|
||||
|
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 <http://www.gnu.org/licenses/>.
|
||||
|
*/ |
||||
|
/** @file Connect.h
|
||||
|
* @author Alex Leverington <nessence@gmail.com> |
||||
|
* @date 2015 |
||||
|
*/ |
||||
|
|
||||
|
#pragma once |
||||
|
|
||||
|
#include <QDialog> |
||||
|
#include <QList> |
||||
|
|
||||
|
namespace Ui { class Connect; } |
||||
|
namespace dev { namespace p2p { class Host; } } |
||||
|
|
||||
|
class Connect : public QDialog |
||||
|
{ |
||||
|
Q_OBJECT |
||||
|
|
||||
|
public: |
||||
|
explicit Connect(QWidget* _parent = 0); |
||||
|
~Connect(); |
||||
|
|
||||
|
/// Populate host chooser with default host entries.
|
||||
|
void setEnvironment(QStringList const& _nodes); |
||||
|
|
||||
|
/// Clear dialogue inputs.
|
||||
|
void reset(); |
||||
|
|
||||
|
/// @returns the host string, as chosen or entered by the user. Assumed to be "hostOrIP:port" (:port is optional).
|
||||
|
QString host(); |
||||
|
|
||||
|
/// @returns the identity of the node, as entered by the user. Assumed to be a 64-character hex string.
|
||||
|
QString nodeId(); |
||||
|
|
||||
|
/// @returns true if Required is checked by the user, indicating that the host is a required Peer.
|
||||
|
bool required(); |
||||
|
|
||||
|
private: |
||||
|
Ui::Connect* ui; |
||||
|
}; |
@ -0,0 +1,123 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<ui version="4.0"> |
||||
|
<class>Connect</class> |
||||
|
<widget class="QDialog" name="Connect"> |
||||
|
<property name="windowModality"> |
||||
|
<enum>Qt::WindowModal</enum> |
||||
|
</property> |
||||
|
<property name="geometry"> |
||||
|
<rect> |
||||
|
<x>0</x> |
||||
|
<y>0</y> |
||||
|
<width>343</width> |
||||
|
<height>178</height> |
||||
|
</rect> |
||||
|
</property> |
||||
|
<property name="sizePolicy"> |
||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Expanding"> |
||||
|
<horstretch>0</horstretch> |
||||
|
<verstretch>0</verstretch> |
||||
|
</sizepolicy> |
||||
|
</property> |
||||
|
<property name="maximumSize"> |
||||
|
<size> |
||||
|
<width>343</width> |
||||
|
<height>178</height> |
||||
|
</size> |
||||
|
</property> |
||||
|
<property name="windowTitle"> |
||||
|
<string>Connect to Peer</string> |
||||
|
</property> |
||||
|
<property name="modal"> |
||||
|
<bool>true</bool> |
||||
|
</property> |
||||
|
<layout class="QFormLayout" name="formLayout_2"> |
||||
|
<item row="1" column="0"> |
||||
|
<layout class="QFormLayout" name="formLayout"> |
||||
|
<item row="1" column="0" colspan="2"> |
||||
|
<widget class="QComboBox" name="host"> |
||||
|
<property name="minimumSize"> |
||||
|
<size> |
||||
|
<width>311</width> |
||||
|
<height>0</height> |
||||
|
</size> |
||||
|
</property> |
||||
|
<property name="editable"> |
||||
|
<bool>true</bool> |
||||
|
</property> |
||||
|
</widget> |
||||
|
</item> |
||||
|
<item row="2" column="0" colspan="2"> |
||||
|
<widget class="QLineEdit" name="nodeId"> |
||||
|
<property name="placeholderText"> |
||||
|
<string>Node Id</string> |
||||
|
</property> |
||||
|
</widget> |
||||
|
</item> |
||||
|
<item row="3" column="0" colspan="2"> |
||||
|
<widget class="QCheckBox" name="required"> |
||||
|
<property name="text"> |
||||
|
<string>Required (Always Connect to this Peer)</string> |
||||
|
</property> |
||||
|
<property name="tristate"> |
||||
|
<bool>false</bool> |
||||
|
</property> |
||||
|
</widget> |
||||
|
</item> |
||||
|
<item row="4" column="0" colspan="2"> |
||||
|
<widget class="QDialogButtonBox" name="buttonBox"> |
||||
|
<property name="orientation"> |
||||
|
<enum>Qt::Horizontal</enum> |
||||
|
</property> |
||||
|
<property name="standardButtons"> |
||||
|
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> |
||||
|
</property> |
||||
|
</widget> |
||||
|
</item> |
||||
|
</layout> |
||||
|
</item> |
||||
|
<item row="0" column="0"> |
||||
|
<widget class="QLabel" name="formLabel"> |
||||
|
<property name="text"> |
||||
|
<string>Enter a peer to which a connection may be made:</string> |
||||
|
</property> |
||||
|
</widget> |
||||
|
</item> |
||||
|
</layout> |
||||
|
</widget> |
||||
|
<resources/> |
||||
|
<connections> |
||||
|
<connection> |
||||
|
<sender>buttonBox</sender> |
||||
|
<signal>accepted()</signal> |
||||
|
<receiver>Connect</receiver> |
||||
|
<slot>accept()</slot> |
||||
|
<hints> |
||||
|
<hint type="sourcelabel"> |
||||
|
<x>248</x> |
||||
|
<y>254</y> |
||||
|
</hint> |
||||
|
<hint type="destinationlabel"> |
||||
|
<x>157</x> |
||||
|
<y>274</y> |
||||
|
</hint> |
||||
|
</hints> |
||||
|
</connection> |
||||
|
<connection> |
||||
|
<sender>buttonBox</sender> |
||||
|
<signal>rejected()</signal> |
||||
|
<receiver>Connect</receiver> |
||||
|
<slot>reject()</slot> |
||||
|
<hints> |
||||
|
<hint type="sourcelabel"> |
||||
|
<x>316</x> |
||||
|
<y>260</y> |
||||
|
</hint> |
||||
|
<hint type="destinationlabel"> |
||||
|
<x>286</x> |
||||
|
<y>274</y> |
||||
|
</hint> |
||||
|
</hints> |
||||
|
</connection> |
||||
|
</connections> |
||||
|
</ui> |
Loading…
Reference in new issue