diff options
Diffstat (limited to 'ui')
-rw-r--r-- | ui/filter.go | 26 | ||||
-rw-r--r-- | ui/qt/filter.go | 19 | ||||
-rw-r--r-- | ui/qt/qwhisper/whisper.go | 3 | ||||
-rw-r--r-- | ui/qt/webengine/all.cpp | 1 | ||||
-rw-r--r-- | ui/qt/webengine/cpp/webengine.cpp | 6 | ||||
-rw-r--r-- | ui/qt/webengine/cpp/webengine.h | 14 | ||||
-rw-r--r-- | ui/qt/webengine/webengine.go | 18 |
7 files changed, 58 insertions, 29 deletions
diff --git a/ui/filter.go b/ui/filter.go index e0797dad2..8f298a40c 100644 --- a/ui/filter.go +++ b/ui/filter.go @@ -28,14 +28,9 @@ func NewFilterFromMap(object map[string]interface{}, eth core.EthManager) *core. filter.SetLatestBlock(val.Int()) } - if object["to"] != nil { - val := ethutil.NewValue(object["to"]) - filter.AddTo(fromHex(val.Str())) - } - - if object["from"] != nil { - val := ethutil.NewValue(object["from"]) - filter.AddFrom(fromHex(val.Str())) + if object["address"] != nil { + val := ethutil.NewValue(object["address"]) + filter.SetAddress(fromHex(val.Str())) } if object["max"] != nil { @@ -48,8 +43,8 @@ func NewFilterFromMap(object map[string]interface{}, eth core.EthManager) *core. filter.SetSkip(int(val.Uint())) } - if object["altered"] != nil { - filter.Altered = makeAltered(object["altered"]) + if object["topics"] != nil { + filter.SetTopics(MakeTopics(object["topics"])) } return filter @@ -70,16 +65,13 @@ func mapToAccountChange(m map[string]interface{}) (d core.AccountChange) { // data can come in in the following formats: // ["aabbccdd", {id: "ccddee", at: "11223344"}], "aabbcc", {id: "ccddee", at: "1122"} -func makeAltered(v interface{}) (d []core.AccountChange) { +func MakeTopics(v interface{}) (d [][]byte) { if str, ok := v.(string); ok { - d = append(d, core.AccountChange{fromHex(str), nil}) - } else if obj, ok := v.(map[string]interface{}); ok { - d = append(d, mapToAccountChange(obj)) - } else if slice, ok := v.([]interface{}); ok { + d = append(d, fromHex(str)) + } else if slice, ok := v.([]string); ok { for _, item := range slice { - d = append(d, makeAltered(item)...) + d = append(d, fromHex(item)) } } - return } diff --git a/ui/qt/filter.go b/ui/qt/filter.go index 423d5bd43..bd3ad0303 100644 --- a/ui/qt/filter.go +++ b/ui/qt/filter.go @@ -3,30 +3,27 @@ package qt import ( "github.com/ethereum/go-ethereum/core" "github.com/ethereum/go-ethereum/ui" - "gopkg.in/qml.v1" + "github.com/obscuren/qml" ) func NewFilterFromMap(object map[string]interface{}, eth core.EthManager) *core.Filter { filter := ui.NewFilterFromMap(object, eth) - if object["altered"] != nil { - filter.Altered = makeAltered(object["altered"]) + if object["topics"] != nil { + filter.SetTopics(makeTopics(object["topics"])) } return filter } -func makeAltered(v interface{}) (d []core.AccountChange) { +func makeTopics(v interface{}) (d [][]byte) { if qList, ok := v.(*qml.List); ok { - var s []interface{} + var s []string qList.Convert(&s) - d = makeAltered(s) - } else if qMap, ok := v.(*qml.Map); ok { - var m map[string]interface{} - qMap.Convert(&m) - - d = makeAltered(m) + d = ui.MakeTopics(s) + } else if str, ok := v.(string); ok { + d = ui.MakeTopics(str) } return diff --git a/ui/qt/qwhisper/whisper.go b/ui/qt/qwhisper/whisper.go index 644c147b7..98bfc69b0 100644 --- a/ui/qt/qwhisper/whisper.go +++ b/ui/qt/qwhisper/whisper.go @@ -1,3 +1,4 @@ +// QWhisper package. This package is temporarily on hold until QML DApp dev will reemerge. package qwhisper import ( @@ -7,7 +8,7 @@ import ( "github.com/ethereum/go-ethereum/ethutil" "github.com/ethereum/go-ethereum/logger" "github.com/ethereum/go-ethereum/whisper" - "gopkg.in/qml.v1" + "github.com/obscuren/qml" ) var qlogger = logger.NewLogger("QSHH") diff --git a/ui/qt/webengine/all.cpp b/ui/qt/webengine/all.cpp new file mode 100644 index 000000000..3b7c2f7b8 --- /dev/null +++ b/ui/qt/webengine/all.cpp @@ -0,0 +1 @@ +#include "cpp/webengine.cpp" diff --git a/ui/qt/webengine/cpp/webengine.cpp b/ui/qt/webengine/cpp/webengine.cpp new file mode 100644 index 000000000..118b451ef --- /dev/null +++ b/ui/qt/webengine/cpp/webengine.cpp @@ -0,0 +1,6 @@ +#include <QtWebEngine> +#include "webengine.h" + +void webengineInitialize() { + QtWebEngine::initialize(); +} diff --git a/ui/qt/webengine/cpp/webengine.h b/ui/qt/webengine/cpp/webengine.h new file mode 100644 index 000000000..9c3b13bfa --- /dev/null +++ b/ui/qt/webengine/cpp/webengine.h @@ -0,0 +1,14 @@ +#ifndef WEBENGINE_H +#define WEBENGINE_H + +#ifdef __cplusplus +extern "C" { +#endif + +void webengineInitialize(); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // WEBENGINE_H diff --git a/ui/qt/webengine/webengine.go b/ui/qt/webengine/webengine.go new file mode 100644 index 000000000..600dbb6cb --- /dev/null +++ b/ui/qt/webengine/webengine.go @@ -0,0 +1,18 @@ +package webengine + +// #cgo CPPFLAGS: -I./ +// #cgo CXXFLAGS: -std=c++0x -pedantic-errors -Wall -fno-strict-aliasing +// #cgo LDFLAGS: -lstdc++ +// #cgo pkg-config: Qt5WebEngine +// +// #include "cpp/webengine.h" +import "C" + +import "github.com/obscuren/qml" + +// Initializes the WebEngine extension. +func Initialize() { + qml.RunMain(func() { + C.webengineInitialize() + }) +} |