Initial commit

This commit is contained in:
2026-06-04 17:16:56 +02:00
parent 6e5fcefa42
commit bb51549193
7 changed files with 27 additions and 4 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
/__pycache__/

Binary file not shown.

Binary file not shown.

View File

@@ -1,4 +1,6 @@
import os
from PyQt5.QtCore import QTimer from PyQt5.QtCore import QTimer
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QAction from PyQt5.QtWidgets import QAction
from qgis.core import Qgis, QgsProject from qgis.core import Qgis, QgsProject
from qgis.gui import QgisInterface from qgis.gui import QgisInterface
@@ -40,17 +42,37 @@ class BAPEBridgePlugin:
# ------------------------------------------------------------------ # ------------------------------------------------------------------
def initGui(self) -> None: def initGui(self) -> None:
"""Add entry to the Layer menu.""" """Add entry to the Layer menu, after 'Add From Layer Definition File'."""
self._toggle_action = QAction("BAPE Bridge", self._iface.mainWindow()) icon = QIcon(os.path.join(os.path.dirname(__file__), "icon.png"))
self._toggle_action = QAction(icon, "BAPE Bridge", self._iface.mainWindow())
self._toggle_action.setCheckable(True) self._toggle_action.setCheckable(True)
self._toggle_action.setToolTip("Enable / disable the BAPE Bridge layer") self._toggle_action.setToolTip("Enable / disable the BAPE Bridge layer")
self._toggle_action.triggered.connect(self._on_toggle) self._toggle_action.triggered.connect(self._on_toggle)
self._iface.addPluginToLayerMenu("BAPE Bridge", self._toggle_action)
layer_menu = self._iface.layerMenu()
# Find the 'Add From Layer Definition File' action and insert after it.
after_action = None
for action in layer_menu.actions():
if "layer definition" in action.text().lower():
after_action = action
break
if after_action is not None:
# insertAction inserts *before* the reference; get the next item instead.
actions = layer_menu.actions()
idx = actions.index(after_action)
next_action = actions[idx + 1] if idx + 1 < len(actions) else None
if next_action is not None:
layer_menu.insertAction(next_action, self._toggle_action)
else:
layer_menu.addAction(self._toggle_action)
else:
layer_menu.addAction(self._toggle_action)
def unload(self) -> None: def unload(self) -> None:
"""Clean up when the plugin is disabled or QGIS closes.""" """Clean up when the plugin is disabled or QGIS closes."""
self._deactivate() self._deactivate()
self._iface.removePluginFromLayerMenu("BAPE Bridge", self._toggle_action) self._iface.layerMenu().removeAction(self._toggle_action)
# ------------------------------------------------------------------ # ------------------------------------------------------------------
# Toggle on / off # Toggle on / off