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