| 
									
										
										
										
											2014-10-18 13:20:06 +02:00
										 |  |  | package qt | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import ( | 
					
						
							|  |  |  | 	"fmt" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-04 10:28:02 +01:00
										 |  |  | 	"github.com/ethereum/go-ethereum/core" | 
					
						
							| 
									
										
										
										
											2014-10-23 15:01:27 +02:00
										 |  |  | 	"github.com/ethereum/go-ethereum/ui" | 
					
						
							| 
									
										
										
										
											2014-10-18 13:20:06 +02:00
										 |  |  | 	"gopkg.in/qml.v1" | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-04 10:28:02 +01:00
										 |  |  | func NewFilterFromMap(object map[string]interface{}, eth core.EthManager) *core.Filter { | 
					
						
							| 
									
										
										
										
											2014-10-18 13:20:06 +02:00
										 |  |  | 	filter := ui.NewFilterFromMap(object, eth) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	if object["altered"] != nil { | 
					
						
							|  |  |  | 		filter.Altered = makeAltered(object["altered"]) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	return filter | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-04 10:28:02 +01:00
										 |  |  | func makeAltered(v interface{}) (d []core.AccountChange) { | 
					
						
							| 
									
										
										
										
											2014-10-18 13:20:06 +02:00
										 |  |  | 	if qList, ok := v.(*qml.List); ok { | 
					
						
							|  |  |  | 		var s []interface{} | 
					
						
							|  |  |  | 		qList.Convert(&s) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		fmt.Println(s) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		d = makeAltered(s) | 
					
						
							|  |  |  | 	} else if qMap, ok := v.(*qml.Map); ok { | 
					
						
							|  |  |  | 		var m map[string]interface{} | 
					
						
							|  |  |  | 		qMap.Convert(&m) | 
					
						
							|  |  |  | 		fmt.Println(m) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		d = makeAltered(m) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	return | 
					
						
							|  |  |  | } |