diff --git a/src/main/kotlin/com/vk/admstorm/AdmStormStartupActivity.kt b/src/main/kotlin/com/vk/admstorm/AdmStormStartupActivity.kt index a2a5d2a4..c74efe69 100644 --- a/src/main/kotlin/com/vk/admstorm/AdmStormStartupActivity.kt +++ b/src/main/kotlin/com/vk/admstorm/AdmStormStartupActivity.kt @@ -15,6 +15,7 @@ import com.vk.admstorm.settings.AdmStormSettingsState import com.vk.admstorm.ssh.SshConnectionService import com.vk.admstorm.startup.ChangeSshBackendStartup import com.vk.admstorm.startup.PluginsUpdateStartup +import com.vk.admstorm.startup.WindowsAvailabilityStartup import com.vk.admstorm.utils.MyUtils.measureTime import com.vk.admstorm.utils.extensions.pluginEnabled @@ -38,6 +39,7 @@ class AdmStormStartupActivity : ProjectActivity { return } + WindowsAvailabilityStartup.checkAvailability(project) ChangeSshBackendStartup.changeConfigurationProcess(project) measureTime(LOG, "patch cpp highlight") { diff --git a/src/main/kotlin/com/vk/admstorm/startup/WindowsAvailabilityStartup.kt b/src/main/kotlin/com/vk/admstorm/startup/WindowsAvailabilityStartup.kt new file mode 100644 index 00000000..227108a6 --- /dev/null +++ b/src/main/kotlin/com/vk/admstorm/startup/WindowsAvailabilityStartup.kt @@ -0,0 +1,25 @@ +package com.vk.admstorm.startup + +import com.intellij.ide.util.PropertiesComponent +import com.intellij.openapi.project.Project +import com.intellij.openapi.util.SystemInfo +import com.vk.admstorm.notifications.AdmErrorNotification +import com.vk.admstorm.notifications.AdmNotification + +object WindowsAvailabilityStartup { + fun checkAvailability(project: Project) { + //TODO: remove it after release AdmStorm on Windows + if (SystemInfo.isWindows) { + val properties = PropertiesComponent.getInstance(project) + + if (!properties.getBoolean("windowsSupportNotification")) { + AdmErrorNotification("AdmStorm is not available on Windows yet").withActions( + AdmNotification.Action("Turn off this notification") { _, notification -> + properties.setValue("windowsSupportNotification", true) + notification.expire() + } + ).show() + } + } + } +}