Java Code Examples for com.intellij.notification.Notification

The following examples show how to use com.intellij.notification.Notification. These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may want to check out the right sidebar which shows the related API usage.
Example 1
Source Project: markdown-image-kit   Source File: UploadNotification.java    License: MIT License 6 votes vote down vote up
/**
 * 上传时检查到配置错误时通知
 *
 * @param project    the project
 * @param actionName the action name
 */
public static void notifyConfigurableError(Project project, String actionName) {
    String content = "<p><a href=''>Configure " + actionName + " OSS</a></p><br />";
    content = "<p>You may need to set or reset your account. Please be sure to <b>test</b> it after the setup is complete.</p>" + content + "<br />";
    content = content + "<p>Or you may need <a href='" + HELP_URL + "'>Help</a></p>";
    Notifications.Bus.notify(new Notification(MIK_NOTIFICATION_GROUP,
                                              "Configurable Error",
                                              content,
                                              NotificationType.ERROR,
                                              new NotificationListener.Adapter() {
                                                  @Override
                                                  protected void hyperlinkActivated(@NotNull Notification notification, @NotNull HyperlinkEvent e) {
                                                      String url = e.getDescription();
                                                      log.trace("{}", e.getDescription());
                                                      if (StringUtils.isBlank(url)) {
                                                          ProjectSettingsPage configurable = new ProjectSettingsPage();
                                                          // 打开设置面板
                                                          ShowSettingsUtil.getInstance().editConfigurable(project, configurable);
                                                      } else {
                                                          BrowserUtil.browse(url);
                                                      }
                                                      hideBalloon(notification.getBalloon());
                                                  }
                                              }), project);
}
 
Example 2
Source Project: consulo   Source File: DvcsBranchPopup.java    License: Apache License 2.0 6 votes vote down vote up
private void notifyAboutSyncedBranches() {
  String description = "You have several " +
                       myVcs.getDisplayName() +
                       " roots in the project and they all are checked out at the same branch. " +
                       "We've enabled synchronous branch control for the project. <br/>" +
                       "If you wish to control branches in different roots separately, " +
                       "you may <a href='settings'>disable</a> the setting.";
  NotificationListener listener = new NotificationListener() {
    @Override
    public void hyperlinkUpdate(@Nonnull Notification notification, @Nonnull HyperlinkEvent event) {
      if (event.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
        ShowSettingsUtil.getInstance().showSettingsDialog(myProject, myVcs.getConfigurable().getDisplayName());
        if (myVcsSettings.getSyncSetting() == DvcsSyncSettings.Value.DONT_SYNC) {
          notification.expire();
        }
      }
    }
  };
  VcsNotifier.getInstance(myProject).notifyImportantInfo("Synchronous branch control enabled", description, listener);
}
 
Example 3
/**
 * Template came from maven plugin:
 * https://github.com/JetBrains/intellij-community/blob/b5d046018b9a82fccd86bc9c1f1da2e28068440a/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/MavenImportNotifier.java#L92-L108
 */
static void notify(Project project) {
  if(hasExistingRefreshNotification(project)){
    return;
  }

  Notification notification = new Notification(
    PantsConstants.PANTS,
    NOTIFICATION_TITLE,
    "<a href='refresh'>" + NOTIFICATION_BUTTON_TITLE + "</a> ",
    NotificationType.INFORMATION,
    new ProjectRefreshListener(project)
  );

  notification.notify(project);
}
 
Example 4
Source Project: Intellij-Plugin   Source File: GaugeWebBrowserPreview.java    License: Apache License 2.0 6 votes vote down vote up
@Nullable
private Url previewUrl(OpenInBrowserRequest request, VirtualFile virtualFile, GaugeSettingsModel settings) throws IOException, InterruptedException {
    ProcessBuilder builder = new ProcessBuilder(settings.getGaugePath(), Constants.DOCS, Spectacle.NAME, virtualFile.getPath());
    String projectName = request.getProject().getName();
    builder.environment().put("spectacle_out_dir", FileUtil.join(createOrGetTempDirectory(projectName).getPath(), "docs"));
    File gaugeModuleDir = GaugeUtil.moduleDir(GaugeUtil.moduleForPsiElement(request.getFile()));
    builder.directory(gaugeModuleDir);
    GaugeUtil.setGaugeEnvironmentsTo(builder, settings);
    Process docsProcess = builder.start();
    int exitCode = docsProcess.waitFor();
    if (exitCode != 0) {
        String docsOutput = String.format("<pre>%s</pre>", GaugeUtil.getOutput(docsProcess.getInputStream(), " ").replace("<", "&lt;").replace(">", "&gt;"));
        Notifications.Bus.notify(new Notification("Specification Preview", "Error: Specification Preview", docsOutput, NotificationType.ERROR));
        return null;
    }
    String relativePath = FileUtil.getRelativePath(gaugeModuleDir, new File(virtualFile.getParent().getPath()));
    return new UrlImpl(FileUtil.join(createOrGetTempDirectory(projectName).getPath(), "docs", "html", relativePath, virtualFile.getNameWithoutExtension() + ".html"));
}
 
Example 5
Source Project: consulo   Source File: NotificationsUtil.java    License: Apache License 2.0 6 votes vote down vote up
@Nullable
public static HyperlinkListener wrapListener(@Nonnull final Notification notification) {
  final NotificationListener listener = notification.getListener();
  if (listener == null) return null;

  return new HyperlinkListener() {
    public void hyperlinkUpdate(HyperlinkEvent e) {
      if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
        final NotificationListener listener1 = notification.getListener();
        if (listener1 != null) {
          listener1.hyperlinkUpdate(notification, e);
        }
      }
    }
  };
}
 
Example 6
Source Project: intellij-latte   Source File: LatteIndexUtil.java    License: MIT License 6 votes vote down vote up
private static void tryPerformReadLock(Project[] projects, @NotNull Notification notification) {
    if (LatteIdeHelper.holdsReadLock()) {
        notification.expire();
        showWaring(projects);
        return;
    }

    for (Project project : projects) {
        if (!reinitializeDefaultConfig(project)) {
            return;
        }
    }

    notification.expire();

    LatteIdeHelper.doNotify("Latte plugin settings", "Configuration was reloaded", NotificationType.INFORMATION, null);
}
 
Example 7
Source Project: buck   Source File: BuckPluginNotifications.java    License: Apache License 2.0 6 votes vote down vote up
public static void notifyActionToolbar(final Project project) {
  if (!PropertiesComponent.getInstance().isValueSet(GROUP_DISPLAY_ID)) {
    Notifications.Bus.notify(
        new Notification(
            GROUP_DISPLAY_ID,
            "Buck Plugin",
            "<html><a href=''>Enable</a> the toolbar to easily access the buck plugin actions."
                + "<br>You can enable/disable it at any time by pressing on View > Toolbar "
                + "in the menu.</html>",
            NotificationType.INFORMATION,
            new NotificationListener() {
              @Override
              public void hyperlinkUpdate(
                  @NotNull Notification notification, @NotNull HyperlinkEvent hyperlinkEvent) {
                BuckUIManager.getInstance(project).getBuckToolWindow().showMainToolbar();
              }
            }),
        project);
    PropertiesComponent.getInstance().setValue(GROUP_DISPLAY_ID, "true");
  }
}
 
Example 8
Source Project: intellij-latte   Source File: LatteIndexUtil.java    License: MIT License 6 votes vote down vote up
private static void showWaring(Project[] projects) {
    if (projects.length == 0) {
        return;
    }

    LatteIdeHelper.doNotify(
            "Latte plugin warning",
            "Latte files can not be reparsed during indexing. Wait after all processes around indexing will be done.",
            NotificationType.ERROR,
            projects[0],
            new NotificationAction("Refresh Configuration") {
                @Override
                public void actionPerformed(@NotNull AnActionEvent e, @NotNull Notification notification) {
                    tryPerform(projects, notification);
                }
            }
    );
}
 
Example 9
Source Project: MavenHelper   Source File: JumpToSourceAction.java    License: Apache License 2.0 6 votes vote down vote up
@Override
public void actionPerformed(AnActionEvent e) {
	final Navigatable navigatable = getNavigatable(myArtifact, myProject, myMavenProject);
	if (navigatable != null && navigatable.canNavigate()) {
		navigatable.navigate(true);
	} else {
		final Notification notification = new Notification(MAVEN_HELPER_DEPENDENCY_ANALYZER_NOTIFICATION, "", "Parent dependency not found, strange...",
				NotificationType.WARNING);
		ApplicationManager.getApplication().invokeLater(new Runnable() {
			@Override
			public void run() {
				Notifications.Bus.notify(notification, myProject);
			}
		});
	}
}
 
Example 10
private String getSchemaPath(JsonProperty urlElement, boolean showNotificationOnMissingPath) {
    JsonObject jsonObject = PsiTreeUtil.getParentOfType(urlElement, JsonObject.class);
    while (jsonObject != null) {
        JsonProperty schemaPathElement = jsonObject.findProperty("schemaPath");
        if (schemaPathElement != null) {
            if (schemaPathElement.getValue() instanceof JsonStringLiteral) {
                String schemaPath = ((JsonStringLiteral) schemaPathElement.getValue()).getValue();
                if (schemaPath.trim().isEmpty()) {
                    Notifications.Bus.notify(new Notification("GraphQL", "Unable to perform introspection", "Please set a non-empty 'schemaPath' field", NotificationType.WARNING), urlElement.getProject());
                }
                return schemaPath;
            } else {
                break;
            }
        }
        jsonObject = PsiTreeUtil.getParentOfType(jsonObject, JsonObject.class);
    }
    if (showNotificationOnMissingPath) {
        Notifications.Bus.notify(new Notification("GraphQL", "Unable to perform introspection", "Please set a non-empty 'schemaPath' field. The introspection result will be written to that file.", NotificationType.WARNING), urlElement.getProject());
    }
    return null;
}
 
Example 11
Source Project: intellij-latte   Source File: LatteIdeHelper.java    License: MIT License 6 votes vote down vote up
public static Notification doNotify(
        @NotNull String title,
        @NotNull @Nls(capitalization = Nls.Capitalization.Sentence) String content,
        @NotNull NotificationType type,
        @Nullable Project project,
        boolean important,
        @Nullable NotificationAction notificationAction
) {
    Notification notification = new Notification(NOTIFICATION_GROUP, title, content, type);
    notification.setImportant(important);
    if (notificationAction != null) {
        notification.addAction(notificationAction);
    }
    doNotify(notification, project);
    return notification;
}
 
Example 12
Source Project: consulo   Source File: WindowsDefenderFixAction.java    License: Apache License 2.0 6 votes vote down vote up
@Override
public void actionPerformed(@Nonnull AnActionEvent e, @Nonnull Notification notification) {
  int rc = Messages.showDialog(e.getProject(), DiagnosticBundle
                                       .message("virus.scanning.fix.explanation", ApplicationNamesInfo.getInstance().getFullProductName(), WindowsDefenderChecker.getInstance().getConfigurationInstructionsUrl()),
                               DiagnosticBundle.message("virus.scanning.fix.title"),
                               new String[]{DiagnosticBundle.message("virus.scanning.fix.automatically"), DiagnosticBundle.message("virus.scanning.fix.manually"),
                                       CommonBundle.getCancelButtonText()}, 0, null);

  switch (rc) {
    case Messages.OK:
      notification.expire();
      ApplicationManager.getApplication().executeOnPooledThread(() -> {
        if (WindowsDefenderChecker.getInstance().runExcludePathsCommand(e.getProject(), myPaths)) {
          UIUtil.invokeLaterIfNeeded(() -> {
            Notifications.Bus.notifyAndHide(new Notification("System Health", "", DiagnosticBundle.message("virus.scanning.fix.success.notification"), NotificationType.INFORMATION), e.getProject());
          });
        }
      });

      break;
    case Messages.CANCEL:
      BrowserUtil.browse(WindowsDefenderChecker.getInstance().getConfigurationInstructionsUrl());
      break;
  }
}
 
Example 13
Source Project: yiistorm   Source File: MigrationsCondition.java    License: MIT License 6 votes vote down vote up
@Override
public boolean value(Object o) {
    YiiStormProjectComponent component = YiiStormProjectComponent.getInstance((Project) o);

    Notifications.Bus.register("yiicnotfound", NotificationDisplayType.BALLOON);
    if (component.getBooleanProp("useYiiMigrations")) {
        boolean phpOk = CommonHelper.phpVersionCheck();
        if (component.getProp("yiicFile").length() < 1) {
            Notifications.Bus.notify(new Notification("yiistormMigration",
                    "YiiStorm migrations",
                    "Yiic not selected ",
                    NotificationType.WARNING));
            return false;
        }
        if (component.getProp("yiicFile") != null && phpOk && Yiic.yiicIsRunnable(component.getProp("yiicFile"))) {
            return true;
        } else {
            Notifications.Bus.notify(new Notification("yiistormMigration",
                    "YiiStorm migrations",
                    phpOk ? "Yiic file not configured." : "Can't run php. Check your system configuration. ",
                    NotificationType.WARNING));
        }
    }
    return false;
}
 
Example 14
Source Project: EclipseCodeFormatter   Source File: Notifier.java    License: Apache License 2.0 5 votes vote down vote up
public void notifyFailedFormatting(PsiFile psiFile, boolean formattedByIntelliJ, final String reason) {
	String content;
	if (!formattedByIntelliJ) {
		content = psiFile.getName() + " failed to format with Eclipse Code Formatter. " + reason + "\n";
	} else {
		content = psiFile.getName() + " failed to format with IntelliJ code formatter.\n" + reason;
	}
	Notification notification = ProjectComponent.GROUP_DISPLAY_ID_ERROR.createNotification(content,
			NotificationType.ERROR);
	showNotification(notification, psiFile.getProject());
}
 
Example 15
Source Project: SVNToolBox   Source File: ShowLockInfoTask.java    License: Apache License 2.0 5 votes vote down vote up
private Notification createNoLockNotification() {
    return SvnToolBoxApp.NOTIFICATION.createNotification(
        getString("configurable.app.svnlock.noinfo.title"),
        getString("configurable.app.svnlock.noinfo.content"),
        NotificationType.INFORMATION,
        null
    );
}
 
Example 16
Source Project: intellij-pants-plugin   Source File: PantsMakeBeforeRun.java    License: Apache License 2.0 5 votes vote down vote up
private void notify(final String title, final String subtitle, NotificationType type) {
  /* Show pop up notification about pants compile result. */
  ApplicationManager.getApplication().invokeLater(() -> {
    Notification start = new Notification(PantsConstants.PANTS, PantsIcons.Icon, title, subtitle, null, type, null);
    Notifications.Bus.notify(start);
  });
}
 
Example 17
Source Project: markdown-image-kit   Source File: UploadNotification.java    License: MIT License 5 votes vote down vote up
/**
 * Notify upload failure.
 *
 * @param fileNotFoundListMap   the file not found list map
 * @param uploadFailuredListMap the upload failured list map
 * @param project               the project
 */
public static void notifyUploadFailure(Map<VirtualFile, List<String>> fileNotFoundListMap,
                                       Map<VirtualFile, List<String>> uploadFailuredListMap,
                                       Project project) {
    StringBuilder content = new StringBuilder();

    StringBuilder fileNotFoundContent = new StringBuilder();
    StringBuilder uploadFailuredContent = new StringBuilder();

    if (fileNotFoundListMap.size() > 0) {
        buildContent(fileNotFoundListMap, fileNotFoundContent, "Image Not Found:");
    }

    if (uploadFailuredListMap.size() > 0) {
        buildContent(uploadFailuredListMap, uploadFailuredContent, "Image Upload Failured:");
    }
    content.append(fileNotFoundContent).append(uploadFailuredContent);
    Notifications.Bus.notify(new Notification(MIK_NOTIFICATION_GROUP, "Upload Warning",
                                              content.toString(), NotificationType.WARNING, new NotificationListener.Adapter() {
        @Override
        protected void hyperlinkActivated(@NotNull Notification notification, @NotNull HyperlinkEvent e) {
            URL url = e.getURL();
            if (url != null) {
                try {
                    ShowFilePathAction.openFile(new File(url.toURI()));
                } catch (URISyntaxException ex) {
                    log.warn("invalid URL: " + url, ex);
                }
            }
            hideBalloon(notification.getBalloon());
        }
    }), project);
}
 
Example 18
Source Project: markdown-image-kit   Source File: UploadNotification.java    License: MIT License 5 votes vote down vote up
/**
 * 上传完成后通知
 *
 * @param content the content
 */
public static void notifyUploadFinshed(String content) {
    Notification notification = new Notification(MIK_NOTIFICATION_GROUP, null, NotificationType.INFORMATION);
    notification.setTitle(UPLOAD_FINSHED);
    // 可使用 HTML 标签
    notification.setContent(content);
    Notifications.Bus.notify(notification);
}
 
Example 19
public static void check(final Project project, final String vcsName) {
  if (SystemInfo.isUnix && "root".equals(System.getenv("USER"))) {
    Notifications.Bus.notify(new Notification(vcsName, vcsName + ": can not see read-only status",
        "You are logged as <b>root</b>, that's why:<br><br>- " + ApplicationNamesInfo.getInstance().getFullProductName() + " can not see read-only status of files.<br>" +
        "- All files are treated as writeable.<br>- Automatic file checkout on modification is impossible.", NotificationType.WARNING), project);
  }
}
 
Example 20
public void testNoRefreshPromptPantsd() throws Throwable {
  doImport("examples/tests/java/org/pantsbuild/example/useproto");
  String workdir = Paths.get(this.getProjectPath()).relativize(Paths.get(myProjectRoot.getPath())).toString() + "/.pants.d/";
  createProjectSubDir(workdir);
  VirtualFile buildHtml = createProjectSubFile(workdir + "build.html");
  ApplicationManager.getApplication().runWriteAction(() -> {
    withSelectedEditor(buildHtml, editor -> {
      editor.getDocument().setText(editor.getDocument().getText() + "\n");
      FileDocumentManager.getInstance().saveAllDocuments();
    });

    ArrayList<Notification> notifications = EventLog.getLogModel(myProject).getNotifications();
    notifications.forEach(notification -> assertNotSame(notification.getTitle(), NOTIFICATION_TITLE));
  });
}
 
Example 21
Source Project: consulo   Source File: AnnotateDiffViewerAction.java    License: Apache License 2.0 5 votes vote down vote up
private static void doAnnotate(@Nonnull final ViewerAnnotator annotator) {
  final DiffViewerBase viewer = annotator.getViewer();
  final Project project = viewer.getProject();
  if (project == null) return;

  final FileAnnotationLoader loader = annotator.createAnnotationsLoader();
  if (loader == null) return;

  final DiffContextEx diffContext = ObjectUtils.tryCast(viewer.getContext(), DiffContextEx.class);

  annotator.getBackgroundableLock().lock();
  if (diffContext != null) diffContext.showProgressBar(true);

  BackgroundTaskUtil.executeOnPooledThread(viewer, () -> {
    try {
      loader.run();
    }
    finally {
      ApplicationManager.getApplication().invokeLater(() -> {
        if (diffContext != null) diffContext.showProgressBar(false);
        annotator.getBackgroundableLock().unlock();

        VcsException exception = loader.getException();
        if (exception != null) {
          Notification notification = VcsNotifier.IMPORTANT_ERROR_NOTIFICATION.createNotification("Can't Load Annotations", exception.getMessage(), NotificationType.ERROR, null);
          showNotification(viewer, notification);
          LOG.warn(exception);
          return;
        }

        if (loader.getResult() == null) return;
        if (viewer.isDisposed()) return;

        annotator.showAnnotation(loader.getResult());
      }, ProgressManager.getGlobalProgressIndicator().getModalityState());
    }
  });
}
 
Example 22
Source Project: consulo   Source File: AnnotateDiffViewerAction.java    License: Apache License 2.0 5 votes vote down vote up
private static void showNotification(@Nonnull DiffViewerBase viewer, @Nonnull Notification notification) {
  JComponent component = viewer.getComponent();

  Window awtWindow = UIUtil.getWindow(component);

  if (awtWindow != null) {
    consulo.ui.Window uiWindow = TargetAWT.from(awtWindow);

    IdeFrame ideFrame = uiWindow.getUserData(IdeFrame.KEY);

    if (ideFrame != null && NotificationsManagerImpl.findWindowForBalloon(viewer.getProject()) == awtWindow) {
      notification.notify(viewer.getProject());
      return;
    }
  }

  Balloon balloon = NotificationsManagerImpl.createBalloon(component, notification, false, true, null, viewer);

  Dimension componentSize = component.getSize();
  Dimension balloonSize = balloon.getPreferredSize();

  int width = Math.min(balloonSize.width, componentSize.width);
  int height = Math.min(balloonSize.height, componentSize.height);

  // top-right corner, 20px to the edges
  RelativePoint point = new RelativePoint(component, new Point(componentSize.width - 20 - width / 2, 20 + height / 2));
  balloon.show(point, Balloon.Position.above);
}
 
Example 23
Source Project: consulo   Source File: IdeNotificationArea.java    License: Apache License 2.0 5 votes vote down vote up
@RequiredUIAccess
private void updateStatus() {
  final Project project = getProject();
  ArrayList<Notification> notifications = EventLog.getLogModel(project).getNotifications();
  applyIconToStatusAndToolWindow(project, createIconWithNotificationCount(notifications));

  int count = notifications.size();
  myLabel.setToolTipText(count > 0 ? String.format("%s notification%s pending", count, count == 1 ? "" : "s") : "No new notifications");

  myStatusBar.updateWidget(ID());
}
 
Example 24
void logShown() {
    for (Notification notification : getNotifications()) {
        if (!notification.isImportant()) {
            removeNotification(notification);
        }
    }
    setStatusToImportant();
}
 
Example 25
Source Project: intellij-latte   Source File: LatteIdeHelper.java    License: MIT License 5 votes vote down vote up
public static void doNotify(Notification notification, @Nullable Project project) {
    if (project != null && !project.isDisposed() && !project.isDefault()) {
        project.getMessageBus().syncPublisher(Notifications.TOPIC).notify(notification);
    } else {
        Application app = ApplicationManager.getApplication();
        if (!app.isDisposed()) {
            app.getMessageBus().syncPublisher(Notifications.TOPIC).notify(notification);
        }
    }
}
 
Example 26
Source Project: yiistorm   Source File: IdeHelper.java    License: MIT License 5 votes vote down vote up
public static void showNotification(String message, NotificationType type, @Nullable Project project) {
    final MessageBus messageBus = project == null ? ApplicationManager.getApplication().getMessageBus() : project.getMessageBus();
    final Notification notification = new Notification("Notification", "Notification", message, type, null);

    ApplicationManager.getApplication().executeOnPooledThread(new Runnable() {
        @Override
        public void run() {
            messageBus.syncPublisher(Notifications.TOPIC).notify(notification);
        }
    });
}
 
Example 27
Source Project: idea-php-typo3-plugin   Source File: IdeHelper.java    License: MIT License 5 votes vote down vote up
/**
 * @author Daniel Espendiller <[email protected]>
 */
public static void notifyEnableMessage(final Project project) {
    Notification notification = new Notification(
        "TYPO3 CMS Plugin",
        "TYPO3 CMS Plugin",
        "Enable the TYPO3 CMS Plugin <a href=\"enable\">with auto configuration now</a>, open <a href=\"config\">Project Settings</a> or <a href=\"dismiss\">dismiss</a> further messages",
        NotificationType.INFORMATION,
        (notification1, event) -> {
            // handle html click events
            if ("config".equals(event.getDescription())) {
                // open settings dialog and show panel
                TYPO3CMSProjectSettings.showSettings(project);
            } else if ("enable".equals(event.getDescription())) {
                enablePluginAndConfigure(project);

                Notifications.Bus.notify(new Notification("TYPO3 CMS Plugin", "TYPO3 CMS Plugin", "Plugin enabled", NotificationType.INFORMATION), project);
            } else if ("dismiss".equals(event.getDescription())) {
                // user doesn't want to show notification again
                TYPO3CMSProjectSettings.getInstance(project).dismissEnableNotification = true;
            }

            notification1.expire();
        }
    );

    Notifications.Bus.notify(notification, project);
}
 
Example 28
void addNotification(Notification notification) {
    long stamp = System.currentTimeMillis();
    if(myProject != null) {
        SlingServerTreeSelectionHandler selectionHandler = ComponentProvider.getComponent(myProject, SlingServerTreeSelectionHandler.class);
        if(selectionHandler != null) {
            ServerConfiguration serverConfiguration = selectionHandler.getCurrentConfiguration();
            ServerConfiguration.LogFilter logFilter = serverConfiguration != null ? serverConfiguration.getLogFilter() : ServerConfiguration.LogFilter.info;
            switch(logFilter) {
                case debug:
                    add(notification);
                    break;
                case info:
                    if(!(notification instanceof DebugNotification)) {
                        add(notification);
                    }
                    break;
                case warning:
                    if(notification.getType() != NotificationType.INFORMATION) {
                        add(notification);
                    }
                    break;
                case error:
                default:
                    if(notification.getType() == NotificationType.ERROR) {
                        add(notification);
                    }
                    break;
            }
        }
        myStamps.put(notification, stamp);
        myStatuses.put(notification, ConsoleLog.formatForLog(notification, "").status);
        setStatusMessage(notification, stamp);
        fireModelChanged();
    }
}
 
Example 29
Source Project: intellij-latte   Source File: LatteIndexUtil.java    License: MIT License 5 votes vote down vote up
public static Notification notifyReparseFiles(Project project) {
    return LatteIdeHelper.doNotify(
            "Latte configuration reloaded",
            "Latte plugin detected latte-intellij.xml file. Latte files need reparse.",
            NotificationType.WARNING,
            project,
            true,
            new NotificationAction("Reparse Latte Files") {
                @Override
                public void actionPerformed(@NotNull AnActionEvent e, @NotNull Notification current) {
                    tryPerform(new Project[]{project}, current);
                }
            }
    );
}
 
Example 30
Source Project: azure-devops-intellij   Source File: AzureDevOpsNotifications.java    License: MIT License 5 votes vote down vote up
public static void showManageRemoteUrlsNotification(@NotNull Project project, @NotNull String hostName) {
    Notification notification = AZURE_DEVOPS_NOTIFICATIONS.createNotification(
            TfPluginBundle.message(TfPluginBundle.KEY_GIT_NOTIFICATION_REMOTE, hostName),
            MessageType.ERROR);
    GitConfigureRemotesAction gitConfigureRemotesAction = new GitConfigureRemotesAction();
    gitConfigureRemotesAction.getTemplatePresentation().setText(
            TfPluginBundle.message(TfPluginBundle.KEY_GIT_CONFIGURE_REMOTES));
    notification.addAction(gitConfigureRemotesAction);
    Notifications.Bus.notify(notification, project);
}