refactor(autostart): rename prefered_name to app_name and update related logic

- Change prefered_name to app_name in the Builder struct and methods
- Update PreferedName enum to include new variants and set AppName as default
- Modify documentation to reflect the new app_name usage for auto start entry

This refactor improves clarity in naming conventions and enhances the configuration options for auto start entries.
pull/2707/head
Tunglies 2 months ago
parent a227590658
commit 3547de776f

@ -62,7 +62,7 @@ fn main() {
tauri::Builder::default() tauri::Builder::default()
.plugin(tauri_plugin_autostart::Builder::new() .plugin(tauri_plugin_autostart::Builder::new()
.args(["--flag1", "--flag2"]) .args(["--flag1", "--flag2"])
.prefered_name(tauri_plugin_autostart::PreferedName::PackageInfoName) .app_name(tauri_plugin_autostart::PreferedName::AppName)
.build()) .build())
.run(tauri::generate_context!()) .run(tauri::generate_context!())
.expect("error while running tauri application"); .expect("error while running tauri application");

@ -13,7 +13,9 @@
use auto_launch::{AutoLaunch, AutoLaunchBuilder}; use auto_launch::{AutoLaunch, AutoLaunchBuilder};
use serde::{ser::Serializer, Serialize}; use serde::{ser::Serializer, Serialize};
use tauri::{ use tauri::{
command, plugin::{Builder as PluginBuilder, TauriPlugin}, AppHandle, Manager, Runtime, State command,
plugin::{Builder as PluginBuilder, TauriPlugin},
AppHandle, Manager, Runtime, State,
}; };
use std::env::current_exe; use std::env::current_exe;
@ -27,16 +29,16 @@ pub enum MacosLauncher {
AppleScript, AppleScript,
} }
#[derive(Debug, Clone)] #[derive(Default)]
pub enum PreferedName { pub enum PreferedName {
PackageInfoName, #[default]
PackageInfoCrateName, AppName,
ConfigIdentifier, CrateName,
ConfigProductName, Identifier,
Custom(String) ProductName,
Custom(String),
} }
#[derive(Debug, thiserror::Error)] #[derive(Debug, thiserror::Error)]
pub enum Error { pub enum Error {
#[error(transparent)] #[error(transparent)]
@ -54,32 +56,28 @@ impl Serialize for Error {
} }
} }
impl Default for PreferedName {
fn default() -> Self {
PreferedName::PackageInfoName
}
}
impl PreferedName { impl PreferedName {
pub fn get_value<R: Runtime>(&self, app: &AppHandle<R>) -> String { pub fn get_value<R: Runtime>(&self, app: &AppHandle<R>) -> String {
match self { match self {
PreferedName::PackageInfoName => { PreferedName::AppName => app.package_info().name.to_string(),
app.package_info().name.to_string() PreferedName::CrateName => app.package_info().crate_name.to_string(),
}, PreferedName::Identifier => app.config().identifier.to_string(),
PreferedName::PackageInfoCrateName => { PreferedName::ProductName => app
app.package_info().crate_name.to_string() .config()
}, .product_name
PreferedName::ConfigIdentifier => { .clone()
app.config().identifier.to_string() .unwrap_or("TauriAPP".to_string()),
},
PreferedName::ConfigProductName => {
app.config().product_name.clone().unwrap_or("TauriAPP".to_string())
},
PreferedName::Custom(s) => s.clone(), PreferedName::Custom(s) => s.clone(),
} }
} }
} }
impl<S: Into<String>> From<S> for PreferedName {
fn from(name: S) -> Self {
PreferedName::Custom(name.into())
}
}
pub struct AutoLaunchManager(AutoLaunch); pub struct AutoLaunchManager(AutoLaunch);
impl AutoLaunchManager { impl AutoLaunchManager {
@ -137,7 +135,7 @@ pub struct Builder {
#[cfg(target_os = "macos")] #[cfg(target_os = "macos")]
macos_launcher: MacosLauncher, macos_launcher: MacosLauncher,
args: Vec<String>, args: Vec<String>,
prefered_name: PreferedName, app_name: PreferedName,
} }
impl Builder { impl Builder {
@ -189,23 +187,23 @@ impl Builder {
self self
} }
/// Sets the preferred name to be used for the auto start entry. /// Sets the app name to be used for the auto start entry.
/// ///
/// ## Examples /// ## Examples
/// ///
/// ```no_run /// ```no_run
/// Builder::new() /// Builder::new()
/// .prefered_name(PreferedName::PackageInfoName) /// .app_name(PreferedName::AppName)
/// .build(); /// .build();
/// ``` /// ```
/// ///
/// ```no_run /// ```no_run
/// Builder::new() /// Builder::new()
/// .prefered_name(PreferedName::Custom("My Custom Name".into())) /// .app_name("My Custom Name"))
/// .build(); /// .build();
/// ``` /// ```
pub fn prefered_name(mut self, prefered_name: PreferedName) -> Self { pub fn app_name(mut self, app_name: impl Into<PreferedName>) -> Self {
self.prefered_name = prefered_name; self.app_name = app_name.into();
self self
} }
@ -215,7 +213,7 @@ impl Builder {
.setup(move |app, _api| { .setup(move |app, _api| {
let mut builder = AutoLaunchBuilder::new(); let mut builder = AutoLaunchBuilder::new();
let prefered_name = self.prefered_name.get_value(&app); let prefered_name = self.app_name.get_value(app);
builder.set_app_name(&prefered_name); builder.set_app_name(&prefered_name);
builder.set_args(&self.args); builder.set_args(&self.args);
@ -274,7 +272,6 @@ impl Builder {
pub fn init<R: Runtime>( pub fn init<R: Runtime>(
#[allow(unused)] macos_launcher: MacosLauncher, #[allow(unused)] macos_launcher: MacosLauncher,
args: Option<Vec<&'static str>>, args: Option<Vec<&'static str>>,
prefered_name: Option<PreferedName>
) -> TauriPlugin<R> { ) -> TauriPlugin<R> {
let mut builder = Builder::new(); let mut builder = Builder::new();
if let Some(args) = args { if let Some(args) = args {
@ -284,6 +281,5 @@ pub fn init<R: Runtime>(
{ {
builder = builder.macos_launcher(macos_launcher); builder = builder.macos_launcher(macos_launcher);
} }
builder = builder.prefered_name(prefered_name.unwrap_or_default());
builder.build() builder.build()
} }

Loading…
Cancel
Save