|
9 | 9 | [com.github.clojure-lsp.intellij.config :as config]
|
10 | 10 | [com.github.clojure-lsp.intellij.db :as db]
|
11 | 11 | [com.github.clojure-lsp.intellij.server :as server]
|
| 12 | + [com.github.clojure-lsp.intellij.settings :as settings] |
12 | 13 | [seesaw.color :as s.color]
|
13 | 14 | [seesaw.core :as s]
|
14 | 15 | [seesaw.font :as s.font]
|
15 | 16 | [seesaw.mig :as s.mig])
|
16 | 17 | (:import
|
17 |
| - [com.github.clojure_lsp.intellij.extension SettingsState] |
18 | 18 | [com.intellij.ui IdeBorderFactory]
|
19 | 19 | [java.awt Toolkit]
|
20 | 20 | [java.awt.datatransfer StringSelection]))
|
|
25 | 25 |
|
26 | 26 | (def ^:private server-not-started-message "Server not started")
|
27 | 27 |
|
28 |
| -(defn ^:private build-component [{:keys [server-version log-path] :as server-info} settings] |
| 28 | +(defn ^:private build-component [{:keys [server-version log-path] :as server-info}] |
29 | 29 | (let [server-running? (boolean server-info)
|
30 |
| - custom-server-path (:server-path settings) |
| 30 | + custom-server-path (settings/server-path) |
31 | 31 | server-path (or custom-server-path (.getCanonicalPath (config/download-server-path)))
|
32 |
| - custom-server-log-path (:log-path settings) |
| 32 | + custom-server-log-path (settings/server-log-path) |
33 | 33 | server-log-path (or custom-server-log-path log-path)]
|
34 | 34 | (s.mig/mig-panel
|
35 | 35 | :items (->> [(when-not server-running?
|
|
96 | 96 | (defn -createComponent [_]
|
97 | 97 | (let [project (first (db/all-projects))
|
98 | 98 | server-info (lsp-client/server-info project)
|
99 |
| - component (build-component server-info (db/get-in project [:settings]))] |
| 99 | + component (build-component server-info)] |
100 | 100 | (reset! component* component)
|
101 | 101 | component))
|
102 | 102 |
|
103 | 103 | (defn -getPreferredFocusedComponent [_]
|
104 | 104 | (s/select @component* [:#copy-server-info]))
|
105 | 105 |
|
106 | 106 | (defn -isModified [_]
|
107 |
| - (let [project (first (db/all-projects)) |
108 |
| - settings-state (SettingsState/get) |
109 |
| - server-path (s/config (s/select @component* [:#server-path]) :text) |
| 107 | + (let [server-path (s/config (s/select @component* [:#server-path]) :text) |
110 | 108 | trace-level-combo-box (s/config (s/select @component* [:#trace-level]) :selected-item)
|
111 | 109 | server-log-path (s/config (s/select @component* [:#server-log]) :text)]
|
112 | 110 | (boolean
|
113 |
| - (or (not= server-path (or (.getServerPath settings-state) "")) |
114 |
| - (not= trace-level-combo-box (.getTraceLevel settings-state)) |
115 |
| - (not= server-log-path (or (.getServerLogPath settings-state) "")) |
| 111 | + (or (not= server-path (or (settings/server-path) "")) |
| 112 | + (not= trace-level-combo-box (settings/server-trace-level)) |
| 113 | + (not= server-log-path (or (settings/server-log-path) "")) |
116 | 114 | (and (str/blank? server-log-path)
|
117 |
| - (db/get-in project [:settings :log-path])))))) |
| 115 | + (settings/server-log-path)))))) |
118 | 116 |
|
119 | 117 | (defn -reset [_]
|
120 | 118 | (let [project (first (db/all-projects))
|
121 | 119 | server-info (lsp-client/server-info project)
|
122 |
| - trace-level-combo-box (db/get-in project [:settings :trace-level]) |
123 |
| - server-log-path (or (db/get-in project [:settings :log-path]) (:log-path server-info)) |
124 |
| - server-path (or (db/get-in project [:settings :server-path]) (.getCanonicalPath (config/download-server-path)))] |
| 120 | + trace-level-combo-box (settings/server-trace-level) |
| 121 | + server-log-path (or (settings/server-log-path) (:log-path server-info)) |
| 122 | + server-path (or (settings/server-path) (.getCanonicalPath (config/download-server-path)))] |
125 | 123 | (s/config! (s/select @component* [:#trace-level]) :selected-item trace-level-combo-box)
|
126 | 124 | (s/config! (s/select @component* [:#server-log]) :text server-log-path)
|
127 | 125 | (s/config! (s/select @component* [:#server-path]) :text server-path)))
|
|
130 | 128 | (reset! component* nil))
|
131 | 129 |
|
132 | 130 | (defn -apply [_]
|
133 |
| - (let [settings-state (SettingsState/get) |
134 |
| - trace-level (s/config (s/select @component* [:#trace-level]) :selected-item) |
| 131 | + (let [trace-level (s/config (s/select @component* [:#trace-level]) :selected-item) |
135 | 132 | server-log-path (when (s/config (s/select @component* [:#custom-server-log?]) :selected?)
|
136 | 133 | (s/config (s/select @component* [:#server-log]) :text))
|
137 | 134 | server-path (when (s/config (s/select @component* [:#custom-server-path?]) :selected?)
|
138 | 135 | (s/config (s/select @component* [:#server-path]) :text))]
|
139 |
| - (db/set-server-path-setting! settings-state server-path) |
140 |
| - (db/set-server-log-path-setting! settings-state server-log-path) |
141 |
| - (db/set-trace-level-setting! settings-state trace-level))) |
| 136 | + (settings/set-server-path! server-path) |
| 137 | + (settings/set-server-log-path! server-log-path) |
| 138 | + (settings/set-server-trace-level! trace-level))) |
142 | 139 |
|
143 | 140 | (defn -cancel [_])
|
0 commit comments