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()
.plugin(tauri_plugin_autostart::Builder::new()
.args(["--flag1", "--flag2"])
.prefered_name(tauri_plugin_autostart::PreferedName::PackageInfoName)
.app_name(tauri_plugin_autostart::PreferedName::AppName)
.build())
.run(tauri::generate_context!())
.expect("error while running tauri application");

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

Loading…
Cancel
Save