From f642fa8e4dd5bddf828e54f869fbb94127c92385 Mon Sep 17 00:00:00 2001 From: Skyler Lehmkuhl Date: Fri, 17 Jan 2025 21:27:15 -0500 Subject: [PATCH] Make file opening work properly --- src-tauri/src/lib.rs | 11 +++-------- src-tauri/tauri.conf.json | 5 ++++- src/main.js | 4 +++- src/newfile.js | 2 ++ 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 65d9134..eeceb59 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -4,7 +4,7 @@ use tauri_plugin_log::{Target, TargetKind}; use log::{trace, info, debug, warn, error}; use tracing_subscriber::EnvFilter; use chrono::Local; -use tauri::{webview, AppHandle, Manager, Url, WebviewUrl, WebviewWindowBuilder}; +use tauri::{AppHandle, Manager, Url, WebviewUrl, WebviewWindowBuilder}; #[derive(Default)] @@ -96,14 +96,14 @@ fn handle_file_associations(app: AppHandle, files: Vec) { let fs_scope = app.fs_scope(); // This is for the `asset:` protocol to work: - // let asset_protocol_scope = app.asset_protocol_scope(); + let asset_protocol_scope = app.asset_protocol_scope(); for file in &files { // This requires the `fs` plugin: let _ = fs_scope.allow_file(file); // This is for the `asset:` protocol: - // let _ = asset_protocol_scope.allow_file(file); + let _ = asset_protocol_scope.allow_file(file); } // -- Scope handling end -- @@ -118,13 +118,8 @@ fn handle_file_associations(app: AppHandle, files: Vec) { .join(","); warn!("{}",files); - // tauri::WebviewWindowBuilder::new(&app, "main", Default::default()) - // .initialization_script(&format!("window.openedFiles = [{files}]")) - // .build() - // .unwrap(); let window = app.get_webview_window("main").unwrap(); window.eval(&format!("window.openedFiles = [{files}]")).unwrap(); - // window.emit("openedFiles", &format!("[{files}]")).unwrap(); } #[cfg_attr(mobile, tauri::mobile_entry_point)] diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 4afe850..5d0b1b5 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -17,7 +17,10 @@ } ], "security": { - "csp": null + "csp": null, + "assetProtocol": { + "enable": true + } } }, "bundle": { diff --git a/src/main.js b/src/main.js index db0762d..2c6f969 100644 --- a/src/main.js +++ b/src/main.js @@ -6705,7 +6705,9 @@ function outliner(object = undefined) { async function startup() { await loadConfig(); createNewFileDialog(_newFile, _open, config); - showNewFileDialog(config); + if (!window.openedFiles) { + showNewFileDialog(config); + } } startup(); diff --git a/src/newfile.js b/src/newfile.js index e1e9d95..95d3c07 100644 --- a/src/newfile.js +++ b/src/newfile.js @@ -145,12 +145,14 @@ function createNewFileDialog(newFileCallback, openFileCallback, config) { } function showNewFileDialog(config) { + if (!overlay) return; overlay.style.display = 'block'; newFileDialog.style.display = 'block'; displayFiles(config.recentFiles); // Reload the recent files } function closeDialog() { + if (!overlay) return; overlay.style.display = 'none'; newFileDialog.style.display = 'none'; }