ability to change language

This commit is contained in:
2022-02-06 15:37:26 +01:00
parent 95634355c2
commit 6573580f3c
8 changed files with 158 additions and 82 deletions

View File

@@ -11,7 +11,6 @@ from raven.pluginregistry import PluginRegistry
from raven.plugins.domain.menucontribution import MenuContribution, sort_menu_contributions
from raven.plugins.domain.raction import RAction
from raven.plugins.domain.rmenu import RMenu
from raven.plugins.ravenlog.Tab import Tab
from settingsstore import SettingsStore
from highlightingdialog import HighlightingDialog
from tabs import Tabs
@@ -77,7 +76,7 @@ class MainWindow(QMainWindow):
continue
for menu_contribution in mcs:
if menu_contribution.action:
action = self._raction_to_qaction(menu_contribution.action, menu)
action = menu_contribution.action.to_qaction(menu)
menu.addAction(action)
if menu_contribution.menu:
submenu = QMenu(menu_contribution.menu.label, menu_bar)
@@ -93,25 +92,10 @@ class MainWindow(QMainWindow):
def _rmenu_update(self, qmenu: QMenu, rmenu: RMenu):
qmenu.clear()
for action in rmenu.actions:
action = self._raction_to_qaction(action, qmenu)
for raction in rmenu.actions:
action = raction.to_qaction(qmenu)
qmenu.addAction(action)
def _raction_to_qaction(self, raction: RAction, qmenu: QMenu) -> QAction:
action = QAction(_(raction.label), qmenu)
if raction.icon_from_theme:
action.setIcon(QIcon.fromTheme(raction.icon_from_theme))
if raction.icon_file:
action.setIcon(QIcon(raction.icon_file))
if raction.shortcut:
action.setShortcut(raction.shortcut)
if raction.action:
action.triggered.connect(raction.action)
if raction.checkable:
action.setCheckable(raction.checkable)
action.setChecked(raction.checked)
return action
def _action_highlighter(self):
manage = RAction(
_("&Highlighter"),
@@ -121,13 +105,11 @@ class MainWindow(QMainWindow):
return manage
def _action_highlight_search_terms(self):
highlight_search_terms = RAction(
_("Highlight &Searches"),
action=lambda checked: self.settings.set_session("general", "highlight_search_term",
str(checked)) or self.update()
)
highlight_search_terms = RAction(_("Highlight &Searches"))
highlight_search_terms.set_checkable(True)
highlight_search_terms.set_checked(self.settings.session.getboolean("general", "highlight_search_term"))
highlight_search_terms.set_action(lambda: self.settings.set_session("general", "highlight_search_term",
str(highlight_search_terms.checked)) or self.update())
return highlight_search_terms
def _action_new_tab(self):
@@ -135,7 +117,7 @@ class MainWindow(QMainWindow):
new_tab.set_checkable(True)
new_tab.set_checked(self.settings.session.getboolean("general", "open_tab_on_save_as_file"))
new_tab.set_action(
lambda checked: self.settings.set_session("general", "open_tab_on_save_as_file", str(checked)))
lambda: self.settings.set_session("general", "open_tab_on_save_as_file", str(new_tab.checked)))
return new_tab
def dragEnterEvent(self, e: QDragEnterEvent):