Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
You can now set your trust score on an identity using a slider in the…
… identity view window.
  • Loading branch information
macourtney committed Oct 25, 2011
1 parent 5c4f09d commit 1654d05
Show file tree
Hide file tree
Showing 4 changed files with 77 additions and 12 deletions.
2 changes: 2 additions & 0 deletions pkg/resources/Terms.properties
Expand Up @@ -43,6 +43,8 @@ COLOMBIA_PESOS = Colombia, Pesos
COMMUNAUTE_FINANCIERE_AFRICAINE_BCEAO_FRANCS = Communauté Financière Africaine BCEAO, Francs
COMMUNAUTE_FINANCIERE_AFRICAINE_BEAC_FRANCS = Communauté Financière Africaine BEAC, Francs
COMOROS_FRANCS = Comoros, Francs
COMPLETELY_DISTRUST = Completely Distrust
COMPLETELY_TRUST = Completely Trust
COMPTOIRS_FRANCAIS_DU_PACIFIQUE_FRANCS = Comptoirs Français du Pacifique Francs
CONFIRM_PAYMENT_RECEIVED = Confirm Payment Received
CONGO_KINSHASA_CONGOLESE_FRANCS = Congo/Kinshasa, Congolese Francs
Expand Down
49 changes: 41 additions & 8 deletions src/darkexchange/controller/identity/view.clj
Expand Up @@ -13,6 +13,17 @@
[darkexchange.view.identity.view :as identity-view]
[seesaw.core :as seesaw-core]))

(def identity-propery-name "darkexchange.identity")

(defn property-widget [parent-component]
(.getRootPane (seesaw-core/to-frame parent-component)))

(defn set-identity [parent-component identity]
(.putClientProperty (property-widget parent-component) identity-propery-name identity))

(defn get-identity [parent-component]
(.getClientProperty (property-widget parent-component) identity-propery-name))

(defn find-name-label [parent-component]
(controller-utils/find-component parent-component "#name-label"))

Expand All @@ -37,6 +48,9 @@
(defn find-view-offer-button [parent-component]
(seesaw-core/select parent-component ["#view-offer-button"]))

(defn find-trust-score-slider [parent-component]
(controller-utils/find-component parent-component "#trust-score-slider"))

(defn attach-cancel-action [parent-component]
(actions-utils/attach-window-close-listener parent-component "#cancel-button"))

Expand Down Expand Up @@ -76,13 +90,30 @@
(open-offer-table-controller/attach-single-select-button-enable-listener parent-component
(find-view-offer-button parent-component)))

(defn load-my-trust-score [parent-component trust-score]
(seesaw-core/config! (find-my-trust-score-label parent-component)
:text (trust-score-model/basic-percent-int trust-score)))

(defn trust-score-slider-state-change-listener [e]
(let [slider (seesaw-core/to-widget e)
parent-component (seesaw-core/to-frame slider)]
(when (not (.getValueIsAdjusting slider))
(let [trust-score (/ (.getValue slider) 100.0)]
(trust-score-model/set-trust-score (get-identity parent-component) trust-score)
(load-my-trust-score parent-component { :basic trust-score })))))

(defn attach-trust-score-slider-listener [parent-component]
(seesaw-core/listen (find-trust-score-slider parent-component)
:state-changed trust-score-slider-state-change-listener)
parent-component)

(defn attach-view-offer-actions [parent-component]
(attach-view-offer-button-enable-listener
(attach-view-offer-table-action
(attach-view-offer-action parent-component))))

(defn attach [parent-component offer]
(attach-view-offer-actions (attach-cancel-action parent-component)))
(defn attach [parent-component identity]
(attach-trust-score-slider-listener (attach-view-offer-actions (attach-cancel-action parent-component))))

(defn load-name [parent-component identity]
(seesaw-core/config! (find-name-label parent-component) :text (:name identity)))
Expand Down Expand Up @@ -119,20 +150,22 @@
(logging/warn (str "open-offers: " open-offers))
(seesaw-core/invoke-later (set-offers parent-component (map #(assoc % :identity identity) open-offers))))))

(defn load-my-trust-score [parent-component trust-score]
(seesaw-core/config! (find-my-trust-score-label parent-component)
:text (:basic trust-score)))

(defn load-network-trust-score [parent-component trust-score]
(seesaw-core/config! (find-network-trust-score-label parent-component)
:text (:combined trust-score)))
:text (trust-score-model/combined-percent-int trust-score)))

(defn load-trust-score-slider [parent-component trust-score]
(seesaw-core/config! (find-trust-score-slider parent-component)
:value (trust-score-model/basic-percent-int trust-score)))

(defn load-trust-scores [parent-component identity]
(let [trust-score (or (trust-score-model/find-trust-score identity) { :basic 0.0 :combined 0.0 })]
(load-my-trust-score parent-component trust-score)
(load-network-trust-score parent-component trust-score)))
(load-network-trust-score parent-component trust-score)
(load-trust-score-slider parent-component trust-score)))

(defn load-data [parent-component identity]
(set-identity parent-component identity)
(load-name parent-component identity)
(load-public-key parent-component identity)
(load-algorithm parent-component identity)
Expand Down
22 changes: 21 additions & 1 deletion src/darkexchange/model/trust_score.clj
Expand Up @@ -30,6 +30,9 @@
trust-score
(get-record (add-trust-score target-identity 0.0))))

(defn set-trust-score [target-identity basic-trust-score]
(update (assoc (find-or-create-trust-score target-identity) :basic basic-trust-score)))

(defn calculate-single-chain [trust-score]
(if-let [scorer-score (find-trust-score { :id (:scorer_id trust-score) })]
(* (:basic scorer-score) (:basic trust-score))
Expand All @@ -46,4 +49,21 @@
trust-score-id))

(defn my-scores []
(find-by-sql ["SELECT basic FROM trust_scores WHERE scorer_id = ?" (:id (identity/current-user-identity))]))
(find-by-sql ["SELECT basic FROM trust_scores WHERE scorer_id = ?" (:id (identity/current-user-identity))]))

(defn percent-float [float-num]
(if float-num
(* float-num 100)
0.0))

(defn basic-percent [trust-score]
(percent-float (:basic trust-score)))

(defn combined-percent [trust-score]
(percent-float (:combined trust-score)))

(defn basic-percent-int [trust-score]
(.intValue (basic-percent trust-score)))

(defn combined-percent-int [trust-score]
(.intValue (combined-percent trust-score)))
16 changes: 13 additions & 3 deletions src/darkexchange/view/identity/view.clj
Expand Up @@ -6,7 +6,7 @@

(defn create-label-value-pair-panel [text label-key]
(seesaw-core/horizontal-panel
:items [ (seesaw-core/border-panel :size [100 :by 15] :east (seesaw-core/label :text text))
:items [ (seesaw-core/border-panel :size [150 :by 15] :east (seesaw-core/label :text text))
[:fill-h 3]
(seesaw-core/border-panel :size [200 :by 15]
:west (seesaw-core/label :id label-key :text "data" :font { :style :plain }))]))
Expand All @@ -29,6 +29,14 @@
(defn create-network-trust-score-panel []
(create-label-value-pair-panel (terms/network-trust-score) :network-trust-score-label))

(defn trust-score-slider-panel []
(seesaw-core/border-panel
:border 5
:hgap 5
:west (terms/completely-distrust)
:center (seesaw-core/slider :id :trust-score-slider :value 0 :min -100 :max 100 :orientation :horizontal)
:east (terms/completely-trust)))

(defn create-data-panel []
(seesaw-core/vertical-panel
:items [ (create-name-panel)
Expand All @@ -41,7 +49,9 @@
[:fill-v 3]
(create-my-trust-score-panel)
[:fill-v 3]
(create-network-trust-score-panel)]))
(create-network-trust-score-panel)
[:fill-v 3]
(trust-score-slider-panel)]))

(defn create-offer-table-title []
(seesaw-core/horizontal-panel
Expand Down Expand Up @@ -79,7 +89,7 @@
:border 5
:hgap 5
:east (seesaw-core/horizontal-panel :items
[ (seesaw-core/button :id :cancel-button :text (terms/cancel)) ])))
[ (seesaw-core/button :id :cancel-button :text (terms/done)) ])))

(defn create-content []
(seesaw-core/border-panel
Expand Down

0 comments on commit 1654d05

Please sign in to comment.