feat: add shell verb struct
This commit is contained in:
@@ -85,7 +85,7 @@ impl TryFrom<View> for Scope {
|
|||||||
|
|
||||||
// endregion
|
// endregion
|
||||||
|
|
||||||
// region: Losse and Variant Structs
|
// region: Exposed Structs (Losse, Variant and others)
|
||||||
|
|
||||||
// region: Losse ProgId
|
// region: Losse ProgId
|
||||||
|
|
||||||
@@ -203,7 +203,7 @@ impl StrResVariant {
|
|||||||
StrResVariant::RefStr(v) => {
|
StrResVariant::RefStr(v) => {
|
||||||
let rc = concept::StrRc::new(v.get_path(), v.get_index())?;
|
let rc = concept::StrRc::new(v.get_path(), v.get_index())?;
|
||||||
rc.into_string()
|
rc.into_string()
|
||||||
},
|
}
|
||||||
};
|
};
|
||||||
Ok(rv)
|
Ok(rv)
|
||||||
}
|
}
|
||||||
@@ -238,6 +238,31 @@ impl From<concept::StrRefStr> for StrResVariant {
|
|||||||
|
|
||||||
// endregion
|
// endregion
|
||||||
|
|
||||||
|
// region: Shell Verb
|
||||||
|
|
||||||
|
/// The struct representing a shell verb pair.
|
||||||
|
#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
|
||||||
|
pub struct ShellVerb {
|
||||||
|
verb: concept::Verb,
|
||||||
|
command: concept::CmdLine,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl ShellVerb {
|
||||||
|
pub fn new(verb: concept::Verb, command: concept::CmdLine) -> Self {
|
||||||
|
Self { verb, command }
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn get_verb(&self) -> &concept::Verb {
|
||||||
|
&self.verb
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn get_command(&self) -> &concept::CmdLine {
|
||||||
|
&self.command
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// endregion
|
||||||
|
|
||||||
// endregion
|
// endregion
|
||||||
|
|
||||||
// region: Utilities
|
// region: Utilities
|
||||||
@@ -568,15 +593,11 @@ impl ApplicationsKey {
|
|||||||
// We temporarily use String and &str as the command line argument parameter.
|
// We temporarily use String and &str as the command line argument parameter.
|
||||||
// We may introduce a new complete Rust struct for replacing this arbitrary string.
|
// We may introduce a new complete Rust struct for replacing this arbitrary string.
|
||||||
|
|
||||||
pub fn get_shell_verb(&self, view: View) -> Result<(concept::Verb, String), Error> {
|
pub fn get_shell_verb(&self, view: View) -> Result<ShellVerb, Error> {
|
||||||
todo!()
|
todo!()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn set_shell_verb(
|
pub fn set_shell_verb(&mut self, scope: Scope, sv: &ShellVerb) -> Result<(), Error> {
|
||||||
&mut self,
|
|
||||||
scope: Scope,
|
|
||||||
beh: (concept::Verb, &str),
|
|
||||||
) -> Result<(), Error> {
|
|
||||||
todo!()
|
todo!()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -586,7 +607,11 @@ impl ApplicationsKey {
|
|||||||
todo!()
|
todo!()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn set_default_icon(&self, scope: Scope, icon: Option<&IconResVariant>) -> Result<(), Error> {
|
pub fn set_default_icon(
|
||||||
|
&self,
|
||||||
|
scope: Scope,
|
||||||
|
icon: Option<&IconResVariant>,
|
||||||
|
) -> Result<(), Error> {
|
||||||
todo!()
|
todo!()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -596,7 +621,11 @@ impl ApplicationsKey {
|
|||||||
todo!()
|
todo!()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn set_friendly_app_name(&self, scope: Scope, name: Option<&StrResVariant>) -> Result<(), Error> {
|
pub fn set_friendly_app_name(
|
||||||
|
&self,
|
||||||
|
scope: Scope,
|
||||||
|
name: Option<&StrResVariant>,
|
||||||
|
) -> Result<(), Error> {
|
||||||
todo!()
|
todo!()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -606,7 +635,11 @@ impl ApplicationsKey {
|
|||||||
todo!()
|
todo!()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn set_supported_types(&self, scope: Scope, tys: Option<&[concept::Ext]>) -> Result<(), Error> {
|
pub fn set_supported_types(
|
||||||
|
&self,
|
||||||
|
scope: Scope,
|
||||||
|
tys: Option<&[concept::Ext]>,
|
||||||
|
) -> Result<(), Error> {
|
||||||
todo!()
|
todo!()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user