mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Dropped advertisement balloon
This commit is contained in:
+5
-1
@@ -40,9 +40,13 @@ public interface CodeStyleStatusBarUIContributor {
|
||||
*
|
||||
* @param psiFile A PSI file to show the advertisement text for.
|
||||
* @return The text to be shown or null for no popup.
|
||||
* @deprecated Dropped. The returned text is ignored.
|
||||
*/
|
||||
@Nullable
|
||||
String getAdvertisementText(@NotNull PsiFile psiFile);
|
||||
@Deprecated
|
||||
default String getAdvertisementText(@NotNull PsiFile psiFile) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an action which can be used to disable the code style source.
|
||||
|
||||
-14
@@ -66,7 +66,6 @@ public class DetectableIndentOptionsProvider extends FileIndentOptionsProvider {
|
||||
|
||||
private boolean myIsEnabledInTest;
|
||||
private final Map<VirtualFile,IndentOptions> myDiscardedOptions = ContainerUtil.createWeakMap();
|
||||
private boolean hasBeenAdvertised;
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
@@ -296,19 +295,6 @@ public class DetectableIndentOptionsProvider extends FileIndentOptionsProvider {
|
||||
myDiscardedOptions.containsKey(file);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public String getAdvertisementText(@NotNull PsiFile psiFile) {
|
||||
if (areDetected(getIndentOptions()) && !hasBeenAdvertised) {
|
||||
String actualOptionsHint = IndentStatusBarUIContributor.getIndentInfo(getIndentOptions());
|
||||
IndentOptions projectOptions = CodeStyle.getSettings(psiFile.getProject()).getIndentOptions(psiFile.getFileType());
|
||||
String projectOptionsHint = IndentStatusBarUIContributor.getIndentInfo(projectOptions);
|
||||
hasBeenAdvertised = true;
|
||||
return ApplicationBundle.message("code.style.different.indent.size.detected", actualOptionsHint, projectOptionsHint);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
-33
@@ -3,12 +3,9 @@ package com.intellij.psi.codeStyle.statusbar;
|
||||
|
||||
import com.intellij.application.options.CodeStyle;
|
||||
import com.intellij.openapi.actionSystem.*;
|
||||
import com.intellij.openapi.application.ModalityState;
|
||||
import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.popup.Balloon;
|
||||
import com.intellij.openapi.ui.popup.BalloonBuilder;
|
||||
import com.intellij.openapi.ui.popup.JBPopupFactory;
|
||||
import com.intellij.openapi.ui.popup.ListPopup;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
@@ -20,12 +17,10 @@ import com.intellij.psi.codeStyle.*;
|
||||
import com.intellij.psi.codeStyle.modifier.CodeStyleSettingsModifier;
|
||||
import com.intellij.psi.codeStyle.modifier.CodeStyleStatusBarUIContributor;
|
||||
import com.intellij.psi.codeStyle.modifier.TransientCodeStyleSettings;
|
||||
import com.intellij.util.Alarm;
|
||||
import com.intellij.util.containers.ContainerUtilRt;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@@ -219,32 +214,4 @@ public class CodeStyleStatusBarWidget extends EditorBasedStatusBarPopup implemen
|
||||
CodeStyleSettingsManager.removeListener(myProject, this);
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void afterVisibleUpdate(@NotNull WidgetState state) {
|
||||
if (state instanceof MyWidgetState) {
|
||||
MyWidgetState codeStyleWidgetState = (MyWidgetState)state;
|
||||
CodeStyleStatusBarUIContributor uiContributor = codeStyleWidgetState.getContributor();
|
||||
if (uiContributor != null) {
|
||||
String message = uiContributor.getAdvertisementText(codeStyleWidgetState.getPsiFile());
|
||||
if (message != null) {
|
||||
advertise(message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void advertise(@NotNull String message) {
|
||||
Alarm alarm = new Alarm(Alarm.ThreadToUse.SWING_THREAD, this);
|
||||
alarm.addRequest(() -> {
|
||||
BalloonBuilder builder = JBPopupFactory.getInstance().createBalloonBuilder(new JLabel(message));
|
||||
JComponent statusBarComponent = getComponent();
|
||||
Balloon balloon = builder
|
||||
.setCalloutShift(statusBarComponent.getHeight() / 2)
|
||||
.setDisposable(this)
|
||||
.setHideOnClickOutside(true)
|
||||
.createBalloon();
|
||||
balloon.showInCenterOf(statusBarComponent);
|
||||
}, 500, ModalityState.NON_MODAL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
package org.editorconfig;
|
||||
|
||||
import com.intellij.application.options.CodeStyle;
|
||||
import com.intellij.ide.util.PropertiesComponent;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.ex.EditorSettingsExternalizable;
|
||||
@@ -39,7 +38,6 @@ import java.util.Map;
|
||||
public class Utils {
|
||||
|
||||
public static final String FULL_SETTINGS_SUPPORT_REG_KEY = "editor.config.full.settings.support";
|
||||
private static final String PROJECT_ADVERTISEMENT_FLAG = "editor.config.ad.shown";
|
||||
|
||||
private static boolean ourIsFullSettingsSupportEnabledInTest;
|
||||
|
||||
@@ -199,11 +197,4 @@ public class Utils {
|
||||
result.append("\n");
|
||||
}
|
||||
|
||||
public static boolean isShowAdvertisementText(@NotNull Project project) {
|
||||
final PropertiesComponent projectProperties = PropertiesComponent.getInstance(project);
|
||||
boolean adFlag = projectProperties.getBoolean(PROJECT_ADVERTISEMENT_FLAG);
|
||||
if (adFlag) return false;
|
||||
projectProperties.setValue(PROJECT_ADVERTISEMENT_FLAG, true);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
-10
@@ -1,15 +1,12 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package org.editorconfig.configmanagement;
|
||||
|
||||
import com.intellij.ide.util.PropertiesComponent;
|
||||
import com.intellij.openapi.actionSystem.AnAction;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.codeStyle.CommonCodeStyleSettings.IndentOptions;
|
||||
import com.intellij.psi.codeStyle.IndentStatusBarUIContributor;
|
||||
import org.editorconfig.Utils;
|
||||
import org.editorconfig.language.messages.EditorConfigBundle;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -48,13 +45,6 @@ public class EditorConfigIndentStatusBarUIContributor extends IndentStatusBarUIC
|
||||
return myEditorConfigIndentOptions ? "EditorConfig" : null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public String getAdvertisementText(@NotNull PsiFile psiFile) {
|
||||
return Utils.isShowAdvertisementText(psiFile.getProject()) ? EditorConfigBundle.message("advertisement.text") : null;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean isShowFileIndentOptionsEnabled() {
|
||||
return false;
|
||||
|
||||
-7
@@ -5,7 +5,6 @@ import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.codeStyle.modifier.CodeStyleStatusBarUIContributor;
|
||||
import org.editorconfig.Utils;
|
||||
import org.editorconfig.configmanagement.EditorConfigActionUtil;
|
||||
import org.editorconfig.language.messages.EditorConfigBundle;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -30,12 +29,6 @@ class EditorConfigCodeStyleStatusBarUIContributor implements CodeStyleStatusBarU
|
||||
return EditorConfigBundle.message("config.code.style.overridden");
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public String getAdvertisementText(@NotNull PsiFile psiFile) {
|
||||
return Utils.isShowAdvertisementText(psiFile.getProject()) ? EditorConfigBundle.message("config.code.style.overridden") : null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public AnAction createDisableAction(@NotNull Project project) {
|
||||
|
||||
Reference in New Issue
Block a user