add findInFiles plugin

This commit is contained in:
2022-07-30 09:17:08 +02:00
parent 1a4006ca8f
commit 14c059e5aa
12 changed files with 247 additions and 11 deletions

View 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)