From 44ae7451c2f23895d4b82f1ceb074ee8f040d158 Mon Sep 17 00:00:00 2001 From: "Robert C. Martin" Date: Wed, 9 Aug 2023 12:24:37 -0500 Subject: [PATCH] Fix bug that prevented tab names from showing up in the tabs window. (dumb!) --- spec/more_speech/ui/swing/tabs_util_spec.clj | 14 ++++++++++---- src/more_speech/ui/swing/tabs.clj | 2 +- src/more_speech/ui/swing/tabs_util.clj | 4 ++++ src/more_speech/ui/swing/tabs_window.clj | 2 +- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/spec/more_speech/ui/swing/tabs_util_spec.clj b/spec/more_speech/ui/swing/tabs_util_spec.clj index b2350a8..4a31510 100644 --- a/spec/more_speech/ui/swing/tabs_util_spec.clj +++ b/spec/more_speech/ui/swing/tabs_util_spec.clj @@ -166,9 +166,15 @@ (context "tab names" (it "gets list of changeable tab names" - (set-mem :tabs-list [{:name "all" :selected [1] :blocked [2]} - {:name "tab" :selected [3] :blocked 4} - {:name "trusted" :selected [:trusted] :blocked []}]) - (should= ["tab"] (get-changeable-tab-names)))) + (set-mem :tabs-list [{:name "all" :selected [1] :blocked [2]} + {:name "tab" :selected [3] :blocked [4]} + {:name "trusted" :selected [:trusted] :blocked []}]) + (should= ["tab"] (get-changeable-tab-names))) + + (it "gets list of changeable tab descriptors" + (set-mem :tabs-list [{:name "all" :selected [1] :blocked [2]} + {:name "tab" :selected [3] :blocked [4]} + {:name "trusted" :selected [:trusted] :blocked []}]) + (should= [{:name "tab" :selected [3] :blocked [4]}] (get-changeable-tab-descriptors)))) ) diff --git a/src/more_speech/ui/swing/tabs.clj b/src/more_speech/ui/swing/tabs.clj index a3641cd..37d3ba8 100644 --- a/src/more_speech/ui/swing/tabs.clj +++ b/src/more_speech/ui/swing/tabs.clj @@ -292,7 +292,7 @@ (defn article-click [tab-index e] (if-not (.isPopupTrigger e) - (node-selected tab-index e) + (future (node-selected tab-index e)) (let [tree (.getComponent e) path (.getPathForLocation tree (.getX e) (.getY e)) node (.getLastPathComponent path) diff --git a/src/more_speech/ui/swing/tabs_util.clj b/src/more_speech/ui/swing/tabs_util.clj index e805f41..02fdb88 100644 --- a/src/more_speech/ui/swing/tabs_util.clj +++ b/src/more_speech/ui/swing/tabs_util.clj @@ -55,5 +55,9 @@ (vec (remove is-unchangeable-tab-name (map :name (get-mem :tabs-list))))) +(defn get-changeable-tab-descriptors [] + (vec (remove #(is-unchangeable-tab-name (:name %)) + (get-mem :tabs-list)))) + diff --git a/src/more_speech/ui/swing/tabs_window.clj b/src/more_speech/ui/swing/tabs_window.clj index 8139e84..8bfc9d6 100644 --- a/src/more_speech/ui/swing/tabs_window.clj +++ b/src/more_speech/ui/swing/tabs_window.clj @@ -120,7 +120,7 @@ :content tab-window})) (defn make-tabs [] - (loop [tabs-list (tabs-util/get-changeable-tab-names) + (loop [tabs-list (tabs-util/get-changeable-tab-descriptors) header-tree-tabs []] (if (empty? tabs-list) (let [all-ids (get-mem [:tabs-window :all-ids])]