void (@NotNull AnActionEvent event) { if (!isAvailable()) return; Project project = event.getProject(); CreateDesktopEntryDialog dialog = new CreateDesktopEntryDialog(project); if (!dialog.showAndGet()) { return; } boolean globalEntry = dialog.myGlobalEntryCheckBox.isSelected(); new Task.Backgroundable(project, ApplicationBundle.message("desktop.entry.progress")) { @Override public void run(@NotNull ProgressIndicator indicator) { try { createDesktopEntry(globalEntry); var title = IdeBundle.message("notification.title.desktop.entry.created"); var message = ApplicationBundle.message("desktop.entry.success", ApplicationNamesInfo.getInstance().getProductName()); new Notification("System Messages", title, message, NotificationType.INFORMATION).notify(getProject()); } catch (Exception e) { reportFailure(e, getProject()); } } }.queue(); }