|
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