def __init__(self, engine: StenoEngine):
        super(LayoutDisplay, self).__init__(engine)
        self.setupUi(self)

        self.layout().addWidget(ToolBar(
            self.action_Reset,
            self.action_Load
        ))

        self._stroke = []
        self._numbers = set()
        self._numbers_to_keys = {}
        self._number_key = ''
        self._system_name = ''
        self._system_file_map = {}

        self._layout = StenoLayout()

        self.restore_state()
        self.finished.connect(self.save_state)

        engine.signal_connect('config_changed', self.on_config_changed)
        self.on_config_changed(engine.config)
        engine.signal_connect('stroked', self.on_stroke)

        self.layout_display_view.initialize_view(self._layout)
Example #2
0
 def __init__(self, engine):
     super(SuggestionsDialog, self).__init__(engine)
     self.setupUi(self)
     suggestions = SuggestionsWidget()
     self.layout().replaceWidget(self.suggestions, suggestions)
     self.suggestions = suggestions
     self._words = u''
     self._last_suggestions = None
     # Toolbar.
     self.layout().addWidget(
         ToolBar(
             self.action_ToggleOnTop,
             self.action_SelectFont,
             self.action_Clear,
         ))
     self.action_Clear.setEnabled(False)
     # Font popup menu.
     self._font_menu = QMenu()
     self._font_menu_text = QAction(_('&Text'), self._font_menu)
     self._font_menu_strokes = QAction(_('&Strokes'), self._font_menu)
     self._font_menu.addActions(
         [self._font_menu_text, self._font_menu_strokes])
     engine.signal_connect('translated', self.on_translation)
     self.suggestions.setFocus()
     self.restore_state()
     self.finished.connect(self.save_state)
Example #3
0
 def __init__(self, engine):
     super().__init__(engine)
     self.setupUi(self)
     self._strokes = []
     self._all_keys = None
     self._all_keys_filler = None
     self._formatter = None
     self._history_size = 2000000
     self.styles.addItems(self.STYLES)
     # Toolbar.
     self.layout().addWidget(
         ToolBar(
             self.action_ToggleOnTop,
             self.action_SelectFont,
             self.action_Clear,
             self.action_Save,
         ))
     self.action_Clear.setEnabled(False)
     self.action_Save.setEnabled(False)
     engine.signal_connect('config_changed', self.on_config_changed)
     self.on_config_changed(engine.config)
     engine.signal_connect('stroked', self.on_stroke)
     self.tape.setFocus()
     self.restore_state()
     self.finished.connect(self.save_state)
Example #4
0
 def __init__(self, engine):
     super().__init__(engine)
     self.setupUi(self)
     self._last_suggestions = None
     self._word_limit = DEFAULT_SEARCH_WORD_LIMIT
     # Toolbar.
     self.layout().addWidget(
         ToolBar(
             self.action_ToggleOnTop,
             self.action_SelectFont,
             self.action_Clear,
         ))
     self.action_Clear.setEnabled(False)
     # Font popup menu.
     self._font_menu = QMenu()
     self._font_menu_text = QAction(_('&Text'), self._font_menu)
     self._font_menu_strokes = QAction(_('&Strokes'), self._font_menu)
     self._font_menu.addActions(
         [self._font_menu_text, self._font_menu_strokes])
     engine.signal_connect('translated', self.on_translation)
     engine.signal_connect('config_changed', self.on_config_changed)
     self.on_config_changed(engine.config)
     self.suggestions.setFocus()
     self.restore_state()
     self.finished.connect(self.save_state)
Example #5
0
 def __init__(self, engine):
     super(DictionariesWidget, self).__init__()
     self.setupUi(self)
     self._engine = engine
     self._states = []
     self._dictionaries = []
     for action in (
         self.action_Undo,
         self.action_EditDictionaries,
         self.action_RemoveDictionaries,
         self.action_MoveDictionariesUp,
         self.action_MoveDictionariesDown,
     ):
         action.setEnabled(False)
     # Toolbar.
     self.layout().addWidget(ToolBar(
         self.action_Undo,
         None,
         self.action_EditDictionaries,
         self.action_RemoveDictionaries,
         self.action_AddDictionaries,
         self.action_AddTranslation,
         None,
         self.action_MoveDictionariesUp,
         self.action_MoveDictionariesDown,
     ))
     self.table.supportedDropActions = self._supported_drop_actions
     self.table.dragEnterEvent = self._drag_enter_event
     self.table.dragMoveEvent = self._drag_move_event
     self.table.dropEvent = self._drop_event
     engine.signal_connect('config_changed', self.on_config_changed)
Example #6
0
 def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self.setupUi(self)
     engine = QApplication.instance().engine
     self._engine = engine
     self._states = []
     self._updating = False
     self._config_dictionaries = {}
     self._loaded_dictionaries = {}
     self._reverse_order = False
     for action in (
             self.action_Undo,
             self.action_EditDictionaries,
             self.action_RemoveDictionaries,
             self.action_MoveDictionariesUp,
             self.action_MoveDictionariesDown,
     ):
         action.setEnabled(False)
     # Toolbar.
     self.layout().addWidget(
         ToolBar(
             self.action_Undo,
             None,
             self.action_EditDictionaries,
             self.action_RemoveDictionaries,
             self.action_AddDictionaries,
             self.action_AddTranslation,
             None,
             self.action_MoveDictionariesUp,
             self.action_MoveDictionariesDown,
         ))
     # Add menu.
     self.menu_AddDictionaries = QMenu(self.action_AddDictionaries.text())
     self.menu_AddDictionaries.setIcon(self.action_AddDictionaries.icon())
     self.menu_AddDictionaries.addAction(_(
         _('Open dictionaries'), )).triggered.connect(
             self._add_existing_dictionaries)
     self.menu_AddDictionaries.addAction(_(
         _('New dictionary'), )).triggered.connect(
             self._create_new_dictionary)
     self.table.supportedDropActions = self._supported_drop_actions
     self.table.dragEnterEvent = self._drag_enter_event
     self.table.dragMoveEvent = self._drag_move_event
     self.table.dropEvent = self._drop_event
     engine.signal_connect('config_changed', self.on_config_changed)
     engine.signal_connect('dictionaries_loaded',
                           self.on_dictionaries_loaded)
Example #7
0
 def __init__(self, engine, dictionary_paths, parent=None):
     super(DictionaryEditor, self).__init__(parent)
     self.setupUi(self)
     self._engine = engine
     with engine:
         dictionary_list = [
             dictionary
             for dictionary in engine.dictionaries.dicts
             if dictionary.get_path() in dictionary_paths
         ]
     sort_column, sort_order = _COL_STENO, Qt.AscendingOrder
     self._model = DictionaryItemModel(dictionary_list,
                                       sort_column,
                                       sort_order)
     self._model.rowsInserted.connect(self.on_row_changed)
     self._model.rowsRemoved.connect(self.on_row_changed)
     self._model.dataChanged.connect(self.on_data_changed)
     self.table.sortByColumn(sort_column, sort_order)
     self.table.setModel(self._model)
     self.table.setSortingEnabled(True)
     self.table.resizeColumnsToContents()
     self.table.setItemDelegate(DictionaryItemDelegate(dictionary_list))
     self.table.selectionModel().selectionChanged.connect(self.on_selection_changed)
     background = self.table.palette().highlightedText().color().name()
     text_color = self.table.palette().highlight().color().name()
     self.table.setStyleSheet('''
                              QTableView::item:focus {
                                  background-color: %s;
                                  color: %s;
                             }''' % (background, text_color))
     self.table.setFocus()
     for action in (
         self.action_Undo,
         self.action_Delete,
     ):
         action.setEnabled(False)
     # Toolbar.
     self.layout().addWidget(ToolBar(
         self.action_Undo,
         self.action_Delete,
         self.action_New,
     ))
     self.restore_state()
     self.finished.connect(self.save_state)
 def __init__(self, engine):
     super().__init__(engine)
     self.setupUi(self)
     self._last_search = None
     # Toolbar.
     self.layout().addWidget(ToolBar(
         self.action_ToggleOnTop,
         self.action_SelectFont,
         self.action_Clear,
     ))
     self.action_Clear.setEnabled(False)
     # Font popup menu.
     self._font_menu = QMenu()
     self._font_menu_text = QAction(_('&Text'), self._font_menu)
     self._font_menu_strokes = QAction(_('&Strokes'), self._font_menu)
     self._font_menu.addActions([self._font_menu_text, self._font_menu_strokes])
     self.searchInput.setFocus()
     self.restore_state()
     self.finished.connect(self.save_state)
Example #9
0
 def __init__(self, engine):
     super().__init__(engine)
     self.setupUi(self)
     self._model = TapeModel()
     self.header.setContentsMargins(4, 0, 0, 0)
     self.styles.addItems(TAPE_STYLES)
     self.tape.setModel(self._model)
     # Toolbar.
     self.layout().addWidget(ToolBar(
         self.action_ToggleOnTop,
         self.action_SelectFont,
         self.action_Clear,
         self.action_Save,
     ))
     self.action_Clear.setEnabled(False)
     self.action_Save.setEnabled(False)
     engine.signal_connect('config_changed', self.on_config_changed)
     self.on_config_changed(engine.config)
     engine.signal_connect('stroked', self.on_stroke)
     self.tape.setFocus()
     self.restore_state()
     self.finished.connect(self.save_state)
Example #10
0
 def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self.setupUi(self)
     engine = QApplication.instance().engine
     self._engine = engine
     self._states = []
     self._updating = False
     self._config_dictionaries = {}
     self._loaded_dictionaries = {}
     self._reverse_order = False
     # The save/open/new dialogs will open on that directory.
     self._file_dialogs_directory = CONFIG_DIR
     for action in (
             self.action_Undo,
             self.action_EditDictionaries,
             self.action_SaveDictionaries,
             self.action_RemoveDictionaries,
             self.action_MoveDictionariesUp,
             self.action_MoveDictionariesDown,
     ):
         action.setEnabled(False)
     # Toolbar.
     self.layout().addWidget(
         ToolBar(
             self.action_Undo,
             None,
             self.action_EditDictionaries,
             self.action_RemoveDictionaries,
             self.action_AddDictionaries,
             self.action_AddTranslation,
             None,
             self.action_MoveDictionariesUp,
             self.action_MoveDictionariesDown,
         ))
     # Add menu.
     self.menu_AddDictionaries = QMenu(self.action_AddDictionaries.text())
     self.menu_AddDictionaries.setIcon(self.action_AddDictionaries.icon())
     self.menu_AddDictionaries.addAction(
         # i18n: Widget: “DictionariesWidget”, “add” menu.
         _('Open dictionaries'), ).triggered.connect(
             self._add_existing_dictionaries)
     self.menu_AddDictionaries.addAction(
         # i18n: Widget: “DictionariesWidget”, “add” menu.
         _('New dictionary'), ).triggered.connect(
             self._create_new_dictionary)
     # Save menu.
     self.menu_SaveDictionaries = QMenu(self.action_SaveDictionaries.text())
     self.menu_SaveDictionaries.setIcon(self.action_SaveDictionaries.icon())
     self.menu_SaveDictionaries.addAction(
         # i18n: Widget: “DictionariesWidget”, “save” menu.
         _('Create a copy of each dictionary'), ).triggered.connect(
             self._save_dictionaries)
     self.menu_SaveDictionaries.addAction(
         # i18n: Widget: “DictionariesWidget”, “save” menu.
         _('Merge dictionaries into a new one'), ).triggered.connect(
             functools.partial(self._save_dictionaries, merge=True))
     self.table.supportedDropActions = self._supported_drop_actions
     self.table.dragEnterEvent = self._drag_enter_event
     self.table.dragMoveEvent = self._drag_move_event
     self.table.dropEvent = self._drop_event
     engine.signal_connect('config_changed', self.on_config_changed)
     engine.signal_connect('dictionaries_loaded',
                           self.on_dictionaries_loaded)
Example #11
0
 def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self.setupUi(self)
     self._setup = False
     self._engine = None
     self._model = None
     # The save/open/new dialogs will open on that directory.
     self._file_dialogs_directory = CONFIG_DIR
     # Start with all actions disabled (until `setup` is called).
     for action in (
             self.action_AddDictionaries,
             self.action_AddTranslation,
             self.action_EditDictionaries,
             self.action_MoveDictionariesDown,
             self.action_MoveDictionariesUp,
             self.action_RemoveDictionaries,
             self.action_SaveDictionaries,
             self.action_Undo,
     ):
         action.setEnabled(False)
     # Toolbar.
     self.layout().addWidget(
         ToolBar(
             self.action_Undo,
             None,
             self.action_EditDictionaries,
             self.action_RemoveDictionaries,
             self.action_AddDictionaries,
             self.action_AddTranslation,
             None,
             self.action_MoveDictionariesUp,
             self.action_MoveDictionariesDown,
         ))
     # Add menu.
     self.menu_AddDictionaries = QMenu(self.action_AddDictionaries.text())
     self.menu_AddDictionaries.setIcon(self.action_AddDictionaries.icon())
     self.menu_AddDictionaries.addAction(self.action_OpenDictionaries)
     self.menu_AddDictionaries.addAction(self.action_CreateDictionary)
     self.action_AddDictionaries.setMenu(self.menu_AddDictionaries)
     # Save menu.
     self.menu_SaveDictionaries = QMenu(self.action_SaveDictionaries.text())
     self.menu_SaveDictionaries.setIcon(self.action_SaveDictionaries.icon())
     self.menu_SaveDictionaries.addAction(self.action_CopyDictionaries)
     self.menu_SaveDictionaries.addAction(self.action_MergeDictionaries)
     self.view.dragEnterEvent = self._drag_enter_event
     self.view.dragMoveEvent = self._drag_move_event
     self.view.dropEvent = self._drag_drop_event
     self.setFocusProxy(self.view)
     # Edit context menu.
     edit_menu = QMenu()
     edit_menu.addAction(self.action_Undo)
     edit_menu.addSeparator()
     edit_menu.addMenu(self.menu_AddDictionaries)
     edit_menu.addAction(self.action_EditDictionaries)
     edit_menu.addMenu(self.menu_SaveDictionaries)
     edit_menu.addAction(self.action_RemoveDictionaries)
     edit_menu.addSeparator()
     edit_menu.addAction(self.action_MoveDictionariesUp)
     edit_menu.addAction(self.action_MoveDictionariesDown)
     self.view.setContextMenuPolicy(Qt.CustomContextMenu)
     self.view.customContextMenuRequested.connect(
         lambda p: edit_menu.exec_(self.view.mapToGlobal(p)))
     self.edit_menu = edit_menu