mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
OPENIDE add Yandex Browser to the predefined browsers list
This commit is contained in:
@@ -1,4 +1,7 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
//
|
||||
// Modified by Nikita Iarychenko at 2026 as part of the OpenIDE project(https://openide.ru).
|
||||
// Any modifications are available on the same license terms as the original source code.
|
||||
package com.intellij.ide.browsers
|
||||
|
||||
import com.intellij.ide.GeneralLocalSettings
|
||||
@@ -26,7 +29,9 @@ import com.intellij.util.ui.table.TableModelEditor.DialogItemEditor
|
||||
import com.intellij.util.ui.table.TableModelEditor.EditableColumnInfo
|
||||
import java.awt.event.ItemEvent
|
||||
import java.util.UUID
|
||||
import javax.swing.Icon
|
||||
import javax.swing.JComponent
|
||||
import javax.swing.JTable
|
||||
import javax.swing.event.TableModelEvent
|
||||
import javax.swing.table.TableCellEditor
|
||||
import javax.swing.table.TableCellRenderer
|
||||
@@ -294,6 +299,13 @@ internal class BrowserSettingsConfigurable : UnnamedConfigurable {
|
||||
override fun setValue(item: ConfigurableWebBrowser, value: String) {
|
||||
item.name = value
|
||||
}
|
||||
|
||||
override fun getRenderer(item: ConfigurableWebBrowser): TableCellRenderer {
|
||||
// the family icon is not specific enough: Opera, Edge and Yandex Browser all belong to the Chrome family
|
||||
return object : IconTableCellRenderer<String>() {
|
||||
override fun getIcon(value: String, table: JTable?, row: Int): Icon = item.icon
|
||||
}
|
||||
}
|
||||
},
|
||||
object : ColumnInfo<ConfigurableWebBrowser, BrowserFamily>(
|
||||
IdeBundle.message("settings.browsers.column.family")) {
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
//
|
||||
// Modified by Nikita Iarychenko at 2026 as part of the OpenIDE project(https://openide.ru).
|
||||
// Any modifications are available on the same license terms as the original source code.
|
||||
package com.intellij.ide.browsers;
|
||||
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
@@ -48,6 +51,7 @@ public final class WebBrowserManager extends SimpleModificationTracker implement
|
||||
private static final UUID PREDEFINED_EXPLORER_ID = UUID.fromString("16BF23D4-93E0-4FFC-BFD6-CB13575177B0");
|
||||
private static final UUID PREDEFINED_OLD_EDGE_ID = UUID.fromString("B2A9DCA7-9D0B-4E1E-98A8-AFB19C1328D2");
|
||||
private static final UUID PREDEFINED_EDGE_ID = UUID.fromString("37cae5b9-e8b2-4949-9172-aafa37fbc09c");
|
||||
private static final UUID PREDEFINED_YANDEX_ID = UUID.fromString("28c88d5c-5c89-495d-a990-15593cba4dc8");
|
||||
|
||||
private static final UUID[] PREDEFINED_BROWSER_IDS = new UUID[]{
|
||||
PREDEFINED_CHROME_ID,
|
||||
@@ -55,7 +59,8 @@ public final class WebBrowserManager extends SimpleModificationTracker implement
|
||||
PREDEFINED_SAFARI_ID,
|
||||
PREDEFINED_OPERA_ID,
|
||||
PREDEFINED_EXPLORER_ID,
|
||||
PREDEFINED_EDGE_ID
|
||||
PREDEFINED_EDGE_ID,
|
||||
PREDEFINED_YANDEX_ID
|
||||
};
|
||||
|
||||
public static final ReloadMode BROWSER_RELOAD_MODE_DEFAULT = ReloadMode.RELOAD_ON_SAVE;
|
||||
@@ -73,6 +78,18 @@ public final class WebBrowserManager extends SimpleModificationTracker implement
|
||||
}
|
||||
}
|
||||
|
||||
private static @NotNull String getYandexExecutionPath() {
|
||||
if (SystemInfo.isWindows) {
|
||||
return "browser";
|
||||
}
|
||||
else if (SystemInfo.isMac) {
|
||||
return "Yandex";
|
||||
}
|
||||
else {
|
||||
return "yandex-browser";
|
||||
}
|
||||
}
|
||||
|
||||
private static List<ConfigurableWebBrowser> getPredefinedBrowsers() {
|
||||
return List.of(
|
||||
new ConfigurableWebBrowser(PREDEFINED_CHROME_ID, BrowserFamily.CHROME),
|
||||
@@ -86,6 +103,9 @@ public final class WebBrowserManager extends SimpleModificationTracker implement
|
||||
BrowserFamily.EXPLORER.createBrowserSpecificSettings()),
|
||||
new ConfigurableWebBrowser(PREDEFINED_EDGE_ID, BrowserFamily.CHROME, "Edge",
|
||||
getEdgeExecutionPath(), SystemInfo.isWindows,
|
||||
BrowserFamily.CHROME.createBrowserSpecificSettings()),
|
||||
new ConfigurableWebBrowser(PREDEFINED_YANDEX_ID, BrowserFamily.CHROME, "Yandex Browser",
|
||||
getYandexExecutionPath(), false,
|
||||
BrowserFamily.CHROME.createBrowserSpecificSettings())
|
||||
);
|
||||
}
|
||||
@@ -106,7 +126,8 @@ public final class WebBrowserManager extends SimpleModificationTracker implement
|
||||
}
|
||||
|
||||
public static boolean isYandexBrowser(@NotNull WebBrowser browser) {
|
||||
return browser.getFamily().equals(BrowserFamily.CHROME) && checkNameAndPath("Yandex", browser);
|
||||
return browser.getFamily().equals(BrowserFamily.CHROME) &&
|
||||
(browser.getId().equals(PREDEFINED_YANDEX_ID) || checkNameAndPath("Yandex", browser));
|
||||
}
|
||||
|
||||
public static boolean isEdge(@NotNull WebBrowser browser) {
|
||||
|
||||
Reference in New Issue
Block a user