add findInFiles plugin
This commit is contained in:
40
src/plugins/findinfilesplugin.py
Normal file
40
src/plugins/findinfilesplugin.py
Normal file
@@ -0,0 +1,40 @@
|
||||
from PySide6.QtCore import Qt
|
||||
|
||||
from src.pluginbase import PluginBase
|
||||
from src.pluginregistry import PluginRegistry
|
||||
from src.plugins.domain.menucontribution import MenuContribution
|
||||
from src.plugins.domain.raction import RAction
|
||||
from src.plugins.findInFiles.findinfileswidget import FindInFilesWidget
|
||||
from src.plugins.notes.noteswidget import NotesWidget
|
||||
from src.i18n import _
|
||||
from src.settings.settings import Settings
|
||||
|
||||
|
||||
class FindInFilesPlugin(PluginBase):
|
||||
|
||||
def __init__(self):
|
||||
super(FindInFilesPlugin, self).__init__()
|
||||
self.settings = None
|
||||
|
||||
def set_settings(self, settings: Settings):
|
||||
self.settings = settings
|
||||
if not self.settings.session.has_section("findInFiles"):
|
||||
self.settings.session.add_section("findInFiles")
|
||||
|
||||
def get_menu_contributions(self) -> [MenuContribution]:
|
||||
return [
|
||||
MenuContribution("window", action=self._add_find_in_files_tab_action(), action_id="add find in files tab",
|
||||
after="add notes tab"),
|
||||
]
|
||||
|
||||
def _add_find_in_files_tab_action(self) -> RAction:
|
||||
return RAction(_("&Find In Files"), self._add_notes_tab, shortcut='Ctrl+Shift+F',
|
||||
icon_file="icons/ionicons/search-outline.svg")
|
||||
|
||||
def _add_notes_tab(self):
|
||||
findInFiles = FindInFilesWidget(
|
||||
"find_in_files",
|
||||
_("Find In Files"),
|
||||
self.settings
|
||||
)
|
||||
PluginRegistry.execute_single("add_dock", Qt.DockWidgetArea.LeftDockWidgetArea, findInFiles)
|
||||
Reference in New Issue
Block a user