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
b777d6aa
Commit
b777d6aa
authored
Jan 22, 2015
by
obscuren
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
UI Updates
* Browser now has tabs * Fixed a callback issue
parent
4df2e1ef
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
40 additions
and
67 deletions
+40
-67
browser.qml
cmd/mist/assets/qml/browser.qml
+7
-25
main.qml
cmd/mist/assets/qml/main.qml
+30
-33
whisper.qml
cmd/mist/assets/qml/views/whisper.qml
+0
-1
ui_lib.go
cmd/mist/ui_lib.go
+2
-7
peer.go
whisper/peer.go
+1
-1
No files found.
cmd/mist/assets/qml/browser.qml
View file @
b777d6aa
...
...
@@ -9,15 +9,16 @@ import Ethereum 1.0
Rectangle
{
id
:
window
objectName
:
"browserView"
anchors.fill
:
parent
color
:
"#00000000"
property
var
title
:
"
Browser
"
property
var
title
:
"
DApps
"
property
var
iconSource
:
"../browser.png"
property
var
menuItem
property
var
hideUrl
:
true
property
alias
url
:
webview
.
url
property
alias
windowTitle
:
webview
.
title
property
alias
webView
:
webview
property
var
cleanPath
:
false
...
...
@@ -66,8 +67,7 @@ Rectangle {
webview
.
url
=
"http://etherian.io"
}
signal
messages
(
var
messages
,
int
id
);
onMessages
:
{
function
messages
(
messages
,
id
)
{
// Bit of a cheat to get proper JSON
var
m
=
JSON
.
parse
(
JSON
.
parse
(
JSON
.
stringify
(
messages
)))
webview
.
postEvent
(
"eth_changed"
,
id
,
m
);
...
...
@@ -164,22 +164,10 @@ Rectangle {
id
:
webview
anchors.fill
:
parent
function
injectJs
(
js
)
{
webview
.
experimental
.
navigatorQtObjectEnabled
=
true
;
webview
.
experimental
.
evaluateJavaScript
(
js
)
webview
.
experimental
.
javascriptEnabled
=
true
;
}
function
sendMessage
(
data
)
{
webview
.
experimental
.
postMessage
(
JSON
.
stringify
(
data
))
}
Component.onCompleted
:
{
for
(
var
i
in
experimental
.
preferences
)
{
console
.
log
(
i
)
}
}
experimental.preferences.javascriptEnabled
:
true
experimental.preferences.webAudioEnabled
:
true
experimental.preferences.pluginsEnabled
:
true
...
...
@@ -219,8 +207,7 @@ Rectangle {
}
experimental.userScripts
:
[
"../ext/q.js"
,
"../ext/ethereum.js/lib/web3.js"
,
"../ext/ethereum.js/lib/qt.js"
,
"../ext/setup.js"
]
experimental.onMessageReceived
:
{
console
.
log
(
"[onMessageReceived]: "
,
message
.
data
)
// TODO move to messaging.js
//console.log("[onMessageReceived]: ", message.data)
var
data
=
JSON
.
parse
(
message
.
data
)
try
{
...
...
@@ -350,13 +337,13 @@ Rectangle {
case
"eth_newFilterString"
:
require
(
1
)
var
id
=
eth
.
newFilterString
(
data
.
args
[
0
])
var
id
=
eth
.
newFilterString
(
data
.
args
[
0
]
,
window
)
postData
(
data
.
_id
,
id
);
break
;
case
"eth_newFilter"
:
require
(
1
)
var
id
=
eth
.
newFilter
(
data
.
args
[
0
])
var
id
=
eth
.
newFilter
(
data
.
args
[
0
]
,
window
)
postData
(
data
.
_id
,
id
);
break
;
...
...
@@ -425,11 +412,9 @@ Rectangle {
}
}
function
post
(
seed
,
data
)
{
postData
(
data
.
_id
,
data
)
}
function
require
(
args
,
num
)
{
if
(
args
.
length
<
num
)
{
throw
(
"required argument count of "
+
num
+
" got "
+
args
.
length
);
...
...
@@ -441,12 +426,10 @@ Rectangle {
function
postEvent
(
event
,
id
,
data
)
{
webview
.
experimental
.
postMessage
(
JSON
.
stringify
({
data
:
data
,
_id
:
id
,
_event
:
event
}))
}
function
onWatchedCb
(
data
,
id
)
{
var
messages
=
JSON
.
parse
(
data
)
postEvent
(
"watched:"
+
id
,
messages
)
}
function
onNewBlockCb
(
block
)
{
postEvent
(
"block:new"
,
block
)
}
...
...
@@ -460,7 +443,6 @@ Rectangle {
}
}
Rectangle
{
id
:
sizeGrip
color
:
"gray"
...
...
cmd/mist/assets/qml/main.qml
View file @
b777d6aa
...
...
@@ -13,7 +13,6 @@ ApplicationWindow {
id
:
root
property
var
ethx
:
Eth
.
ethx
property
var
browser
width
:
1200
height
:
820
...
...
@@ -21,6 +20,7 @@ ApplicationWindow {
title
:
"Mist"
/*
// This signal is used by the filter API. The filter API connects using this signal handler from
// the different QML files and plugins.
signal messages(var messages, int id);
...
...
@@ -30,6 +30,7 @@ ApplicationWindow {
messages(data, receiverSeed);
root.browser.view.messages(data, receiverSeed);
}
*/
TextField
{
id
:
copyElementHax
...
...
@@ -45,8 +46,6 @@ ApplicationWindow {
// Takes care of loading all default plugins
Component.onCompleted
:
{
var
wallet
=
addPlugin
(
"./views/wallet.qml"
,
{
noAdd
:
true
,
close
:
false
,
section
:
"ethereum"
,
active
:
true
});
var
browser
=
addPlugin
(
"./browser.qml"
,
{
noAdd
:
true
,
close
:
false
,
section
:
"ethereum"
,
active
:
true
});
root
.
browser
=
browser
;
addPlugin
(
"./views/miner.qml"
,
{
noAdd
:
true
,
close
:
false
,
section
:
"ethereum"
,
active
:
true
});
addPlugin
(
"./views/transaction.qml"
,
{
noAdd
:
true
,
close
:
false
,
section
:
"legacy"
});
...
...
@@ -55,17 +54,17 @@ ApplicationWindow {
addPlugin
(
"./views/pending_tx.qml"
,
{
noAdd
:
true
,
close
:
false
,
section
:
"legacy"
});
addPlugin
(
"./views/info.qml"
,
{
noAdd
:
true
,
close
:
false
,
section
:
"legacy"
});
addPlugin
(
"./views/jeffcoin/jeffcoin.qml"
,
{
noAdd
:
true
,
close
:
false
,
section
:
"apps"
})
mainSplit
.
setView
(
wallet
.
view
,
wallet
.
menuItem
);
newBrowserTab
(
"http://etherian.io"
);
// Command setup
gui
.
sendCommand
(
0
)
}
function
activeView
(
view
,
menuItem
)
{
mainSplit
.
setView
(
view
,
menuItem
)
if
(
view
.
objectName
===
"browserView"
)
{
if
(
view
.
hideUrl
)
{
urlPane
.
visible
=
false
;
mainView
.
anchors
.
top
=
rootView
.
top
}
else
{
...
...
@@ -119,6 +118,13 @@ ApplicationWindow {
}
}
function
newBrowserTab
(
url
)
{
var
window
=
addPlugin
(
"./browser.qml"
,
{
noAdd
:
true
,
close
:
true
,
section
:
"apps"
,
active
:
true
});
window
.
view
.
url
=
url
;
window
.
menuItem
.
title
=
"Browser Tab"
;
activeView
(
window
.
view
,
window
.
menuItem
);
}
menuBar
:
MenuBar
{
Menu
{
title
:
"File"
...
...
@@ -130,13 +136,6 @@ ApplicationWindow {
}
}
/*
MenuItem {
text: "Browser"
onTriggered: eth.openBrowser()
}
*/
MenuItem
{
text
:
"Add plugin"
onTriggered
:
{
...
...
@@ -146,6 +145,14 @@ ApplicationWindow {
}
}
MenuItem
{
text
:
"New tab"
shortcut
:
"Ctrl+t"
onTriggered
:
{
newBrowserTab
(
"http://etherian.io"
);
}
}
MenuSeparator
{}
MenuItem
{
...
...
@@ -205,21 +212,6 @@ ApplicationWindow {
}
MenuSeparator
{}
/*
MenuItem {
id: miningSpeed
text: "Mining: Turbo"
onTriggered: {
gui.toggleTurboMining()
if(text == "Mining: Turbo") {
text = "Mining: Normal";
} else {
text = "Mining: Turbo";
}
}
}
*/
}
Menu
{
...
...
@@ -350,9 +342,6 @@ ApplicationWindow {
views
[
i
].
menuItem
.
setSelection
(
false
)
}
view
.
visible
=
true
//menu.border.color = "#CCCCCC"
//menu.color = "#FFFFFFFF"
menu
.
setSelection
(
true
)
}
...
...
@@ -512,7 +501,15 @@ ApplicationWindow {
this
.
view
.
destroy
()
this
.
destroy
()
for
(
var
i
=
0
;
i
<
mainSplit
.
views
.
length
;
i
++
)
{
var
view
=
mainSplit
.
views
[
i
];
if
(
view
.
menuItem
===
this
)
{
mainSplit
.
views
.
splice
(
i
,
1
);
break
;
}
}
gui
.
removePlugin
(
this
.
path
)
activeView
(
mainSplit
.
views
[
0
].
view
,
mainSplit
.
views
[
0
].
menuItem
);
}
}
}
...
...
@@ -576,7 +573,7 @@ ApplicationWindow {
Text
{
text
:
"
APPS
"
text
:
"
NET
"
font.bold
:
true
anchors
{
left
:
parent
.
left
...
...
@@ -653,7 +650,7 @@ ApplicationWindow {
Keys.onReturnPressed
:
{
if
(
/^https
?
/
.
test
(
this
.
text
))
{
activeView
(
root
.
browser
.
view
,
root
.
browser
.
menuItem
);
newBrowserTab
(
this
.
text
);
}
else
{
addPlugin
(
this
.
text
,
{
close
:
true
,
section
:
"apps"
})
}
...
...
cmd/mist/assets/qml/views/whisper.qml
View file @
b777d6aa
...
...
@@ -18,7 +18,6 @@ Rectangle {
property
var
identity
:
""
Component.onCompleted
:
{
identity
=
shh
.
newIdentity
()
console
.
log
(
"New identity:"
,
identity
)
var
t
=
shh
.
watch
({},
root
)
}
...
...
cmd/mist/ui_lib.go
View file @
b777d6aa
...
...
@@ -316,20 +316,15 @@ func (self *UiLib) NewFilter(object map[string]interface{}, view *qml.Common) (i
filter
:=
qt
.
NewFilterFromMap
(
object
,
self
.
eth
)
filter
.
MessageCallback
=
func
(
messages
state
.
Messages
)
{
view
.
Call
(
"messages"
,
xeth
.
ToJSMessages
(
messages
),
id
)
//self.win.Root().Call("invokeFilterCallback", xeth.ToJSMessages(messages), id)
}
id
=
self
.
filterManager
.
InstallFilter
(
filter
)
return
id
}
func
(
self
*
UiLib
)
NewFilterString
(
typ
string
)
(
id
int
)
{
func
(
self
*
UiLib
)
NewFilterString
(
typ
string
,
view
*
qml
.
Common
)
(
id
int
)
{
filter
:=
core
.
NewFilter
(
self
.
eth
)
filter
.
BlockCallback
=
func
(
block
*
types
.
Block
)
{
if
self
.
win
!=
nil
&&
self
.
win
.
Root
()
!=
nil
{
self
.
win
.
Root
()
.
Call
(
"invokeFilterCallback"
,
"{}"
,
id
)
}
else
{
fmt
.
Println
(
"QML is lagging"
)
}
view
.
Call
(
"messages"
,
"{}"
,
id
)
}
id
=
self
.
filterManager
.
InstallFilter
(
filter
)
return
id
...
...
whisper/peer.go
View file @
b777d6aa
...
...
@@ -81,7 +81,7 @@ func (self *peer) broadcast(envelopes []*Envelope) error {
if
err
:=
self
.
ws
.
WriteMsg
(
msg
);
err
!=
nil
{
return
err
}
self
.
peer
.
Info
ln
(
"broadcasted"
,
i
,
"message(s)"
)
self
.
peer
.
DebugDetail
ln
(
"broadcasted"
,
i
,
"message(s)"
)
}
return
nil
...
...
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