mirror of
https://github.com/slint-ui/slint.git
synced 2025-10-22 16:22:17 +00:00
lsp: Remove the PostLoadBehavior
We always update if we have a UI and we never update if not. So this flag does not help.
This commit is contained in:
parent
df86bf67af
commit
55cc1ae31f
5 changed files with 23 additions and 40 deletions
|
@ -15,7 +15,7 @@ pub type Result<T> = std::result::Result<T, Error>;
|
|||
/// ServerNotifier
|
||||
pub trait PreviewApi {
|
||||
fn set_contents(&self, path: &Path, contents: &str);
|
||||
fn load_preview(&self, component: PreviewComponent, behavior: PostLoadBehavior);
|
||||
fn load_preview(&self, component: PreviewComponent);
|
||||
fn config_changed(
|
||||
&self,
|
||||
style: &str,
|
||||
|
@ -44,10 +44,3 @@ pub struct PreviewComponent {
|
|||
/// The style name for the preview
|
||||
pub style: String,
|
||||
}
|
||||
|
||||
/// What to do after a preview is loaded
|
||||
#[allow(unused)]
|
||||
pub enum PostLoadBehavior {
|
||||
ShowAfterLoad,
|
||||
DoNothing,
|
||||
}
|
||||
|
|
|
@ -394,16 +394,13 @@ pub fn show_preview_command(params: &[serde_json::Value], ctx: &Rc<Context>) ->
|
|||
params.get(1).and_then(|v| v.as_str()).filter(|v| !v.is_empty()).map(|v| v.to_string());
|
||||
let path = uri_to_file(&url).unwrap_or_default();
|
||||
|
||||
ctx.preview.load_preview(
|
||||
crate::common::PreviewComponent {
|
||||
ctx.preview.load_preview(crate::common::PreviewComponent {
|
||||
path,
|
||||
component,
|
||||
include_paths: config.include_paths.clone(),
|
||||
library_paths: config.library_paths.clone(),
|
||||
style: config.style.clone().unwrap_or_default(),
|
||||
},
|
||||
crate::common::PostLoadBehavior::ShowAfterLoad,
|
||||
);
|
||||
});
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
|
|
@ -41,15 +41,11 @@ impl PreviewApi for Previewer {
|
|||
preview::set_contents(_path, _contents.to_string());
|
||||
}
|
||||
|
||||
fn load_preview(
|
||||
&self,
|
||||
_component: common::PreviewComponent,
|
||||
_behavior: common::PostLoadBehavior,
|
||||
) {
|
||||
fn load_preview(&self, _component: common::PreviewComponent) {
|
||||
#[cfg(feature = "preview")]
|
||||
{
|
||||
preview::open_ui(&self.server_notifier);
|
||||
preview::load_preview(_component, _behavior);
|
||||
preview::load_preview(_component);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
// cSpell: ignore condvar
|
||||
|
||||
use crate::common::{PostLoadBehavior, PreviewComponent};
|
||||
use crate::common::PreviewComponent;
|
||||
use crate::lsp_ext::{Health, ServerStatusNotification, ServerStatusParams};
|
||||
use crate::ServerNotifier;
|
||||
|
||||
|
@ -177,7 +177,7 @@ fn close_ui_impl(preview_state: &mut PreviewState) {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn load_preview(component: PreviewComponent, post_load_behavior: PostLoadBehavior) {
|
||||
pub fn load_preview(component: PreviewComponent) {
|
||||
use std::sync::atomic::{AtomicU32, Ordering};
|
||||
static PENDING_EVENTS: AtomicU32 = AtomicU32::new(0);
|
||||
if PENDING_EVENTS.load(Ordering::SeqCst) > 0 {
|
||||
|
@ -186,7 +186,7 @@ pub fn load_preview(component: PreviewComponent, post_load_behavior: PostLoadBeh
|
|||
PENDING_EVENTS.fetch_add(1, Ordering::SeqCst);
|
||||
run_in_ui_thread(move || async move {
|
||||
PENDING_EVENTS.fetch_sub(1, Ordering::SeqCst);
|
||||
reload_preview(component, post_load_behavior).await
|
||||
reload_preview(component).await
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -212,9 +212,11 @@ pub fn set_contents(path: &Path, content: String) {
|
|||
drop(cache);
|
||||
|
||||
let mut cache = CONTENT_CACHE.get_or_init(Default::default).lock().unwrap();
|
||||
cache.sender = sender.clone();
|
||||
cache.sender = sender;
|
||||
|
||||
load_preview(current, PostLoadBehavior::DoNothing);
|
||||
if cache.sender.is_some() {
|
||||
load_preview(current);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -238,9 +240,11 @@ pub fn config_changed(
|
|||
drop(cache);
|
||||
|
||||
let mut cache = CONTENT_CACHE.get_or_init(Default::default).lock().unwrap();
|
||||
cache.sender = sender.clone();
|
||||
cache.sender = sender;
|
||||
|
||||
load_preview(current, PostLoadBehavior::DoNothing);
|
||||
if cache.sender.is_some() {
|
||||
load_preview(current);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@ -339,10 +343,7 @@ fn configure_design_mode(enabled: bool, sender: &crate::ServerNotifier) {
|
|||
});
|
||||
}
|
||||
|
||||
async fn reload_preview(
|
||||
preview_component: PreviewComponent,
|
||||
_post_load_behavior: PostLoadBehavior,
|
||||
) {
|
||||
async fn reload_preview(preview_component: PreviewComponent) {
|
||||
let (design_mode, sender) = {
|
||||
let mut cache = CONTENT_CACHE.get_or_init(Default::default).lock().unwrap();
|
||||
cache.dependency.clear();
|
||||
|
|
|
@ -52,11 +52,7 @@ impl PreviewApi for Previewer {
|
|||
// do nothing!
|
||||
}
|
||||
|
||||
fn load_preview(
|
||||
&self,
|
||||
_component: common::PreviewComponent,
|
||||
_behavior: common::PostLoadBehavior,
|
||||
) {
|
||||
fn load_preview(&self, _component: common::PreviewComponent) {
|
||||
// do nothing!
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue