Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
Geth-Modification
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张蕾
Geth-Modification
Commits
67dc3be5
Commit
67dc3be5
authored
Sep 22, 2014
by
obscuren
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added a sample app ;-)
parent
c35950de
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
186 additions
and
0 deletions
+186
-0
jeff.png
mist/assets/qml/views/jeffcoin/jeff.png
+0
-0
jeffcoin.qml
mist/assets/qml/views/jeffcoin/jeffcoin.qml
+184
-0
wallet.qml
mist/assets/qml/wallet.qml
+2
-0
No files found.
mist/assets/qml/views/jeffcoin/jeff.png
0 → 100644
View file @
67dc3be5
82.1 KB
mist/assets/qml/views/jeffcoin/jeffcoin.qml
0 → 100644
View file @
67dc3be5
import
QtQuick
2.0
import
QtQuick
.
Controls
1.0
;
import
QtQuick
.
Layouts
1.0
;
import
QtQuick
.
Dialogs
1.0
;
import
QtQuick
.
Window
2.1
;
import
QtQuick
.
Controls
.
Styles
1.1
Rectangle
{
id
:
root
property
var
title
:
"JeffCoin"
property
var
iconSource
:
"./views/jeffcoin/jeff.png"
property
var
menuItem
property
var
filter
property
var
address
:
"fc0a9436890478bb9b1c6ed7455c2535366f4a99"
function
insertTx
(
message
,
blockNumber
)
{
if
(
!
message
)
return
;
var
from
=
message
.
from
var
to
=
message
.
input
.
substr
(
24
,
40
)
var
value
=
eth
.
fromNumber
(
message
.
input
.
substr
(
64
,
64
))
var
me
=
eth
.
key
().
address
;
if
((
to
==
me
||
from
==
me
)
&&
message
.
input
.
length
==
128
)
{
txModel
.
insert
(
0
,
{
confirmations
:
blockNumber
-
message
.
number
,
from
:
from
,
to
:
to
,
value
:
value
})
}
}
function
setBalance
()
{
var
jeffCoinAmount
=
eth
.
fromNumber
(
eth
.
storageAt
(
address
,
eth
.
key
().
address
))
+
" JΞF"
menuItem
.
secondaryTitle
=
jeffCoinAmount
balance
.
text
=
"<b>Balance</b>: "
+
jeffCoinAmount
;
}
function
onReady
()
{
setBalance
()
filter
=
new
ethx
.
watch
({
latest
:
-
1
,
to
:
address
})
filter
.
changed
(
function
(
messages
)
{
setBalance
()
var
blockNumber
=
eth
.
block
(
-
1
).
number
;
for
(
var
i
=
0
;
i
<
messages
.
length
;
i
++
)
{
insertTx
(
messages
.
get
(
i
),
blockNumber
);
}
});
var
blockNumber
=
eth
.
block
(
-
1
).
number
;
var
messages
=
filter
.
messages
()
for
(
var
i
=
messages
.
length
-
1
;
i
>=
0
;
i
--
)
{
var
message
=
messages
.
get
(
i
)
insertTx
(
message
,
blockNumber
)
}
var
chainChanged
=
ethx
.
watch
(
"chain"
)
chainChanged
.
changed
(
function
()
{
for
(
var
i
=
0
;
i
<
txModel
.
count
;
i
++
)
{
var
entry
=
txModel
.
get
(
i
);
entry
.
confirmations
++
;
}
});
}
function
onDestroy
()
{
filter
.
uninstall
()
}
ColumnLayout
{
spacing
:
10
y
:
40
anchors.fill
:
parent
Text
{
id
:
balance
text
:
"<b>Balance</b>: "
+
eth
.
fromNumber
(
eth
.
storageAt
(
address
,
eth
.
key
().
address
))
+
" JΞF"
font.pixelSize
:
24
anchors
{
horizontalCenter
:
parent
.
horizontalCenter
top
:
parent
.
top
topMargin
:
20
}
}
Rectangle
{
id
:
newTxPane
color
:
"#ececec"
border.color
:
"#cccccc"
border.width
:
1
anchors
{
top
:
balance
.
bottom
topMargin
:
10
left
:
parent
.
left
leftMargin
:
5
right
:
parent
.
right
rightMargin
:
5
}
height
:
100
RowLayout
{
id
:
amountFields
spacing
:
10
anchors
{
top
:
parent
.
top
topMargin
:
20
left
:
parent
.
left
leftMargin
:
20
}
Text
{
text
:
"JΞF "
}
// There's something off with the row layout where textfields won't listen to the width setting
Rectangle
{
width
:
50
height
:
20
TextField
{
id
:
txValue
width
:
parent
.
width
placeholderText
:
"0.00"
}
}
}
RowLayout
{
id
:
toFields
spacing
:
10
anchors
{
top
:
amountFields
.
bottom
topMargin
:
5
left
:
parent
.
left
leftMargin
:
20
}
Text
{
text
:
"To"
}
Rectangle
{
width
:
200
height
:
20
TextField
{
id
:
txTo
width
:
parent
.
width
placeholderText
:
"Address or name"
}
}
Button
{
text
:
"Send"
onClicked
:
{
eth
.
transact
({
from
:
eth
.
key
().
privateKey
,
to
:
address
,
gas
:
"9000"
,
gasPrice
:
"100000000000"
,
data
:
[
"0x"
+
txTo
.
text
,
txValue
.
text
]})
}
}
}
}
Rectangle
{
anchors
{
left
:
parent
.
left
right
:
parent
.
right
top
:
newTxPane
.
bottom
topMargin
:
10
bottom
:
parent
.
bottom
}
TableView
{
id
:
txTableView
anchors.fill
:
parent
TableViewColumn
{
role
:
"value"
;
title
:
"Amount"
;
width
:
100
}
TableViewColumn
{
role
:
"from"
;
title
:
"From"
;
width
:
280
}
TableViewColumn
{
role
:
"to"
;
title
:
"To"
;
width
:
280
}
TableViewColumn
{
role
:
"confirmations"
;
title
:
"Confirmations"
;
width
:
100
}
model
:
ListModel
{
id
:
txModel
Component.onCompleted
:
{
}
}
}
}
}
}
mist/assets/qml/wallet.qml
View file @
67dc3be5
...
@@ -55,6 +55,8 @@ ApplicationWindow {
...
@@ -55,6 +55,8 @@ ApplicationWindow {
addPlugin
(
"./views/pending_tx.qml"
,
{
noAdd
:
true
,
close
:
false
,
section
:
"legacy"
});
addPlugin
(
"./views/pending_tx.qml"
,
{
noAdd
:
true
,
close
:
false
,
section
:
"legacy"
});
addPlugin
(
"./views/javascript.qml"
,
{
noAdd
:
true
,
close
:
false
,
section
:
"legacy"
});
addPlugin
(
"./views/javascript.qml"
,
{
noAdd
:
true
,
close
:
false
,
section
:
"legacy"
});
addPlugin
(
"./views/jeffcoin/jeffcoin.qml"
,
{
noAdd
:
true
,
close
:
false
,
section
:
"apps"
})
mainSplit
.
setView
(
wallet
.
view
,
wallet
.
menuItem
);
mainSplit
.
setView
(
wallet
.
view
,
wallet
.
menuItem
);
// Call the ready handler
// Call the ready handler
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment