Hide menus in Linux (they don't work).

Added proper Help menu, and disabled electron macos signing for non-prod builds.
This commit is contained in:
Bruno Bernardino 2021-12-30 11:55:09 +00:00
parent d1420a7667
commit 8abe90484d
No known key found for this signature in database
GPG Key ID: D1B0A69ADD114ECE
3 changed files with 38 additions and 8 deletions

View File

@ -86,7 +86,7 @@ jobs:
path: packages/electron/dist/*.dmg
if-no-files-found: error
macos_signed:
if: ${{ !github.event.inputs.targets || github.event.inputs.targets == 'All' || github.event.inputs.targets == 'macOS' }}
if: ${{ (!github.event.inputs.targets || github.event.inputs.targets == 'All' || github.event.inputs.targets == 'macOS') && github.event.inputs.environment == 'Production' }}
runs-on: macos-11
environment: ${{ github.event.inputs.environment || 'Local' }}
steps:

View File

@ -4,7 +4,8 @@
)]
use crate::menu::AddDefaultSubmenus;
use tauri::{Menu, Submenu};
use tauri::api::shell;
use tauri::{Menu};
mod menu;
@ -19,11 +20,21 @@ fn main() {
.add_default_file_submenu()
.add_default_edit_submenu()
.add_default_window_submenu()
.add_submenu(Submenu::new(
"Help",
Menu::new()
)),
.add_default_help_submenu(),
)
.on_menu_event(|event| {
let event_name = event.menu_item_id();
match event_name {
"get_help" => {
shell::open(
"https://padloc.app/help/".to_string(),
None,
)
.unwrap();
}
_ => {}
}
})
.run(ctx)
.expect("error while running tauri application");
}

View File

@ -1,4 +1,4 @@
use tauri::{Menu, MenuItem, Submenu};
use tauri::{Menu, MenuItem, Submenu, CustomMenuItem};
pub trait AddDefaultSubmenus {
fn add_default_app_submenu_if_macos(self, app_name: &str) -> Self;
@ -6,6 +6,7 @@ pub trait AddDefaultSubmenus {
fn add_default_edit_submenu(self) -> Self;
fn add_default_view_submenu(self) -> Self;
fn add_default_window_submenu(self) -> Self;
fn add_default_help_submenu(self) -> Self;
}
impl AddDefaultSubmenus for Menu {
@ -28,6 +29,8 @@ impl AddDefaultSubmenus for Menu {
return self;
}
fn add_default_file_submenu(self) -> Menu {
#[cfg(not(target_os = "macos"))]
return self;
self.add_submenu(Submenu::new(
"File",
Menu::new().add_native_item(MenuItem::CloseWindow),
@ -35,6 +38,8 @@ impl AddDefaultSubmenus for Menu {
}
fn add_default_edit_submenu(self) -> Menu {
#[cfg(target_os = "linux")]
return self;
self.add_submenu(Submenu::new("Edit", {
let mut menu = Menu::new()
.add_native_item(MenuItem::Undo)
@ -55,6 +60,8 @@ impl AddDefaultSubmenus for Menu {
}
fn add_default_view_submenu(self) -> Menu {
#[cfg(target_os = "linux")]
return self;
self.add_submenu(Submenu::new(
"View",
Menu::new().add_native_item(MenuItem::EnterFullScreen),
@ -62,6 +69,8 @@ impl AddDefaultSubmenus for Menu {
}
fn add_default_window_submenu(self) -> Menu {
#[cfg(target_os = "linux")]
return self;
self.add_submenu(Submenu::new(
"Window",
Menu::new()
@ -69,4 +78,14 @@ impl AddDefaultSubmenus for Menu {
.add_native_item(MenuItem::Zoom),
))
}
}
fn add_default_help_submenu(self) -> Menu {
#[cfg(target_os = "linux")]
return self;
self.add_submenu(Submenu::new(
"Help",
Menu::new()
.add_item(CustomMenuItem::new("get_help", "Get Help"))
))
}
}