def __init__(self, workspace): self.workspace = workspace self.main_window = ServiceLocator.get_main_window() self.view = ServiceLocator.get_main_window().headerbar.document_chooser self.workspace.register_observer(self) self.view.connect('closed', self.on_document_chooser_closed) self.view.search_entry.connect('search-changed', self.on_document_chooser_search_changed) auto_suggest_box = self.view.auto_suggest_box auto_suggest_box.connect('row-activated', self.on_document_chooser_selection)
def __init__(self, document, document_view): self.document = document self.document_view = document_view self.main_window = ServiceLocator.get_main_window() self.font_manager = ServiceLocator.get_font_manager() self.font_manager.register_observer(self) self.view = view.DocumentAutocompleteView() self.mark_start = Gtk.TextMark.new('ac_session_start', True) self.mark_end = Gtk.TextMark.new('ac_session_end', False) self.matching_mark_start = Gtk.TextMark.new('ac_session_second_start', True) self.matching_mark_end = Gtk.TextMark.new('ac_session_second_end', False) self.provider = ServiceLocator.get_autocomplete_provider() self.blank_session = session_blank.SessionBlank(self, self.document) self.session = self.blank_session self.shortcuts_bar_height = 37 self.cursor_offset = None char_width, line_height = self.font_manager.get_char_dimensions(self.document_view.source_view) self.view.scrolled_window.set_max_content_height(5 * line_height) self.view.scrolled_window.set_min_content_width(35 * char_width) self.focus_hide = False self.items = list() self.view.list.connect('row-activated', self.on_row_activated) self.view.list.connect('row-selected', self.on_row_selected) self.document.register_observer(self)
def __init__(self, workspace): Observable.__init__(self) self.workspace = workspace self.view = ServiceLocator.get_main_window().help_panel self.path = 'file://' + os.path.join( ServiceLocator.get_resources_path(), 'help') self.home_uri = self.path + '/latex2e_0.html' self.current_uri = self.home_uri with open( os.path.join(ServiceLocator.get_resources_path(), 'help', 'search_index.pickle'), 'rb') as filehandle: self.search_index = pickle.load(filehandle) self.search_results_blank = list() self.search_results = self.search_results_blank self.query = '' self.controller = help_panel_controller.HelpPanelController( self, self.view) self.presenter = help_panel_presenter.HelpPanelPresenter( self, self.view) self.add_change_code('search_query_changed')
def __init__(self, workspace): self.workspace = workspace self.main_window = ServiceLocator.get_main_window() self.notebook = self.main_window.preview_panel.notebook self.workspace.register_observer(self) self.activate_blank_page()
def __init__(self, document_switcher, workspace): self.document_switcher = document_switcher self.workspace = workspace self.button = ServiceLocator.get_main_window().headerbar.center_widget self.view = self.button.open_docs_popover self.observe_document_switcher_view()
def __init__(self): self.view = ServiceLocator.get_main_window().welcome_screen self.text = list() self.text.append('Reiciendis libero nemo sint autem. Maxime et ea qui provident. Sunt nihil eaque quidem dolores sequi debitis. Temporibus quia ut fuga sint pariatur aut.') self.text.append('Autem dolore aut quo in qui. Aut dolor dignissimos laborum eum perspiciatis iusto et veniam. Voluptate ea pariatur omnis qui eum ab est. Sequi ut sint rerum et.') self.text.append('Dolore nulla sunt corporis voluptatum dolore reprehenderit. Molestiae est unde sint facere iusto ea impedit. Soluta temporibus mollitia totam id earum. At inventore amet omnis. Dignissimos itaque perspiciatis dolore.') self.text.append('Illum et molestias quia provident. Dolores aut quis molestiae cumque. Unde dignissimos placeat possimus. Sit et ullam quia deserunt illo inventore. Id modi quidem fugit fuga magni possimus praesentium.') self.text.append('Aliquid commodi qui tempore et. Tempora ullam quod nisi eum dolores voluptatem quia culpa. Provident et voluptate dignissimos aliquam qui aut ratione. Dolorum qui qui nostrum consequatur.') self.text.append('Saepe perspiciatis ducimus vitae suscipit eligendi mollitia. Delectus quo praesentium ut sit. Dolor non aliquid maiores enim minus. Exercitationem mollitia quia et atque itaque. Doloremque voluptas esse debitis similique. Repellendus qui doloribus aut ea quod perferendis libero autem.') self.text.append('Architecto qui sit quis voluptatem. Est nobis modi deleniti ullam sunt eum quia sed. Expedita asperiores odit dicta quam ut. Ratione qui qui hic quia eligendi sed qui.') self.text.append('Natus et eum velit eveniet assumenda delectus nihil. Non eligendi vitae voluptatum nihil omnis ex molestiae. Excepturi velit dignissimos ut quia quae nemo. Maxime laborum in ad repellendus dolore qui repudiandae et. Sed laudantium non nesciunt.') self.text.append('Consectetur qui sed autem expedita aut quae aut. Qui et sit sit aliquam consequatur sed esse est. Provident dolorem facere libero voluptas est voluptatem sed.') self.text.append('Ullam non esse et ex alias sunt aut. Eaque beatae et veritatis. Est consequatur exercitationem illo repudiandae magni. Qui aspernatur quasi placeat qui veritatis dolores. Assumenda et nobis hic.') self.text.append('Reiciendis libero nemo sint autem. Maxime et ea qui provident. Sunt nihil eaque quidem dolores sequi debitis. Temporibus quia ut fuga sint pariatur aut.') self.text.append('Autem dolore aut quo in qui. Aut dolor dignissimos laborum eum perspiciatis iusto et veniam. Voluptate ea pariatur omnis qui eum ab est. Sequi ut sint rerum et.') self.text.append('Dolore nulla sunt corporis voluptatum dolore reprehenderit. Molestiae est unde sint facere iusto ea impedit. Soluta temporibus mollitia totam id earum. At inventore amet omnis. Dignissimos itaque perspiciatis dolore.') self.text.append('Illum et molestias quia provident. Dolores aut quis molestiae cumque. Unde dignissimos placeat possimus. Sit et ullam quia deserunt illo inventore. Id modi quidem fugit fuga magni possimus praesentium.') self.text.append('Aliquid commodi qui tempore et. Tempora ullam quod nisi eum dolores voluptatem quia culpa. Provident et voluptate dignissimos aliquam qui aut ratione. Dolorum qui qui nostrum consequatur.') self.text.append('Saepe perspiciatis ducimus vitae suscipit eligendi mollitia. Delectus quo praesentium ut sit. Dolor non aliquid maiores enim minus. Exercitationem mollitia quia et atque itaque. Doloremque voluptas esse debitis similique. Repellendus qui doloribus aut ea quod perferendis libero autem.') self.text.append('Architecto qui sit quis voluptatem. Est nobis modi deleniti ullam sunt eum quia sed. Expedita asperiores odit dicta quam ut. Ratione qui qui hic quia eligendi sed qui.') self.text.append('Natus et eum velit eveniet assumenda delectus nihil. Non eligendi vitae voluptatum nihil omnis ex molestiae. Excepturi velit dignissimos ut quia quae nemo. Maxime laborum in ad repellendus dolore qui repudiandae et. Sed laudantium non nesciunt.') self.text.append('Consectetur qui sed autem expedita aut quae aut. Qui et sit sit aliquam consequatur sed esse est. Provident dolorem facere libero voluptas est voluptatem sed.') self.text.append('Ullam non esse et ex alias sunt aut. Eaque beatae et veritatis. Est consequatur exercitationem illo repudiandae magni. Qui aspernatur quasi placeat qui veritatis dolores. Assumenda et nobis hic.') self.text.append('Reiciendis libero nemo sint autem. Maxime et ea qui provident. Sunt nihil eaque quidem dolores sequi debitis. Temporibus quia ut fuga sint pariatur aut.') self.text.append('Autem dolore aut quo in qui. Aut dolor dignissimos laborum eum perspiciatis iusto et veniam. Voluptate ea pariatur omnis qui eum ab est. Sequi ut sint rerum et.') self.text.append('Dolore nulla sunt corporis voluptatum dolore reprehenderit. Molestiae est unde sint facere iusto ea impedit. Soluta temporibus mollitia totam id earum. At inventore amet omnis. Dignissimos itaque perspiciatis dolore.') self.text.append('Illum et molestias quia provident. Dolores aut quis molestiae cumque. Unde dignissimos placeat possimus. Sit et ullam quia deserunt illo inventore. Id modi quidem fugit fuga magni possimus praesentium.') self.text.append('Aliquid commodi qui tempore et. Tempora ullam quod nisi eum dolores voluptatem quia culpa. Provident et voluptate dignissimos aliquam qui aut ratione. Dolorum qui qui nostrum consequatur.') self.text.append('Saepe perspiciatis ducimus vitae suscipit eligendi mollitia. Delectus quo praesentium ut sit. Dolor non aliquid maiores enim minus. Exercitationem mollitia quia et atque itaque. Doloremque voluptas esse debitis similique. Repellendus qui doloribus aut ea quod perferendis libero autem.') self.text.append('Architecto qui sit quis voluptatem. Est nobis modi deleniti ullam sunt eum quia sed. Expedita asperiores odit dicta quam ut. Ratione qui qui hic quia eligendi sed qui.') self.text.append('Natus et eum velit eveniet assumenda delectus nihil. Non eligendi vitae voluptatum nihil omnis ex molestiae. Excepturi velit dignissimos ut quia quae nemo. Maxime laborum in ad repellendus dolore qui repudiandae et. Sed laudantium non nesciunt.') self.text.append('Consectetur qui sed autem expedita aut quae aut. Qui et sit sit aliquam consequatur sed esse est. Provident dolorem facere libero voluptas est voluptatem sed.') self.text.append('Ullam non esse et ex alias sunt aut. Eaque beatae et veritatis. Est consequatur exercitationem illo repudiandae magni. Qui aspernatur quasi placeat qui veritatis dolores. Assumenda et nobis hic.') self.font_desc = Pango.FontDescription.from_string('cmr10') self.angle = 0.18 self.alpha = 0.065 self.font_size = 40 self.line_height = 70 self.is_active = False self.lines_per_second = 0.25 self.animate = False self.fg_color = None self.bg_color = None self.color_manager = ServiceLocator.get_color_manager() self.update_colors() self.view.get_style_context().connect('changed', self.update_colors) self.view_height = 0 self.view_width = 0 self.gradient_size = None self.gradient_surface = None self.update_gradient() self.view.connect('size-allocate', self.update_gradient) self.view.drawing_area.connect('draw', self.draw)
def __init__(self, document_switcher, workspace): self.document_switcher = document_switcher self.workspace = workspace self.button = ServiceLocator.get_main_window().headerbar.center_widget self.view = self.button.open_docs_popover self.workspace.register_observer(self) self.document_switcher.register_observer(self) self.show_welcome_title()
def __init__(self, model): Gtk.VBox.__init__(self) self.get_style_context().add_class('autocomplete') self.main_window = ServiceLocator.get_main_window() self.model = model self.content = self.model.document.content self.set_halign(Gtk.Align.START) self.set_valign(Gtk.Align.START) self.shortcutsbar_height = 37 self.x_position, self.y_position = (None, None) self.list = Gtk.ListBox() self.list.set_selection_mode(Gtk.SelectionMode.SINGLE) self.list.set_can_focus(False) self.items = list() self.selected_index = 0 self.scrolled_window = Gtk.ScrolledWindow() self.scrolled_window.set_propagate_natural_height(True) self.scrolled_window.add(self.list) self.infobox = Gtk.Label('') self.infobox.set_xalign(0) self.infobox.set_ellipsize(Pango.EllipsizeMode.END) self.infobox.set_max_width_chars(30) self.infobox.get_style_context().add_class('infobox') self.pack_start(self.scrolled_window, True, True, 0) self.pack_start(self.infobox, False, False, 0) self.list.show_all() self.infobox.show_all() self.font_manager = ServiceLocator.get_font_manager() self.font_manager.connect('font_string_changed', self.on_font_string_changed) self.focus_hide = False self.line_height, self.char_width, self.full_height = (None, None, None) self.update_sizes() self.model.document_view.scrolled_window.get_vadjustment().connect( 'value-changed', self.on_adjustment_value_changed) self.model.document_view.scrolled_window.get_hadjustment().connect( 'value-changed', self.on_adjustment_value_changed) self.model.document_view.source_view.connect('focus-out-event', self.on_focus_out) self.model.document_view.source_view.connect('focus-in-event', self.on_focus_in) self.list.connect('row-selected', self.on_row_selected)
def __init__(self, workspace): self.workspace = workspace self.main_window = ServiceLocator.get_main_window() self.notebook = self.main_window.preview_panel.notebook self.workspace.connect('new_document', self.on_new_document) self.workspace.connect('document_removed', self.on_document_removed) self.workspace.connect('new_active_document', self.on_new_active_document) self.workspace.connect('root_state_change', self.on_root_state_change) self.activate_blank_page()
def __init__(self, workspace): self.workspace = workspace self.main_window = ServiceLocator.get_main_window() self.observe_workspace_view() self.untitled_documents_no = 0 self.p_allocation = 0 self.pp_allocation = 0 self.s_allocation = 0 self.bl_allocation = 0 self.main_window.new_latex_document_action.connect('activate', self.on_new_latex_document_action_activated) self.main_window.new_bibtex_document_action.connect('activate', self.on_new_bibtex_document_action_activated) self.main_window.save_as_action.connect('activate', self.on_save_as_clicked) self.main_window.save_all_action.connect('activate', self.on_save_all_clicked) self.main_window.save_session_action.connect('activate', self.on_save_session_clicked) self.main_window.restore_session_action.connect('activate', self.on_restore_session_clicked) self.main_window.find_action.connect('activate', self.on_menu_find_clicked) self.main_window.find_next_action.connect('activate', self.find_next) self.main_window.find_prev_action.connect('activate', self.find_prev) self.main_window.find_replace_action.connect('activate', self.on_menu_find_replace_clicked) self.main_window.close_all_action.connect('activate', self.on_close_all_clicked) self.main_window.close_document_action.connect('activate', self.on_close_document_clicked) self.main_window.insert_before_after_action.connect('activate', self.insert_before_after) self.main_window.insert_symbol_action.connect('activate', self.insert_symbol) self.main_window.insert_before_document_end_action.connect('activate', self.insert_before_document_end) self.main_window.document_wizard_action.connect('activate', self.start_wizard) self.main_window.include_bibtex_file_action.connect('activate', self.start_include_bibtex_file_dialog) self.main_window.include_latex_file_action.connect('activate', self.start_include_latex_file_dialog) self.main_window.add_remove_packages_dialog_action.connect('activate', self.start_add_remove_packages_dialog) self.main_window.add_packages_action.connect('activate', self.add_packages) self.main_window.comment_uncomment_action.connect('activate', self.comment_uncomment) self.main_window.create_new_bibtex_entry_action.connect('activate', self.start_create_new_bibtex_entry_dialog) self.main_window.show_previous_bibtex_entries_action.connect('activate', self.start_show_previous_bibtex_entries_dialog) self.main_window.search_online_for_bibtex_entries_action.connect('activate', self.start_search_online_for_bibtex_entries_dialog) self.main_window.shortcuts_window_action.connect('activate', self.show_shortcuts_window) self.main_window.show_preferences_action.connect('activate', self.show_preferences_dialog) self.main_window.show_about_action.connect('activate', self.show_about_dialog) self.main_window.close_build_log_action.connect('activate', self.close_build_log) self.main_window.toggle_spellchecking_action.connect('activate', self.on_spellchecking_toggle_toggled) self.main_window.set_spellchecking_language_action.connect('activate', self.start_spellchecking_language_dialog) self.main_window.spellchecking_action.connect('activate', self.start_spellchecking_dialog) self.main_window.toggle_dark_mode_action.connect('activate', self.on_dark_mode_toggle_toggled) # populate workspace self.workspace.populate_from_disk() open_documents = self.workspace.open_documents if len(open_documents) > 0: self.workspace.set_active_document(open_documents[-1])
def __init__(self, workspace): self.view = ServiceLocator.get_main_window().sidebar self.workspace = workspace self.data_provider = data_provider.DataProvider(self, workspace) self.create_document_structure_page() self.create_symbols_page() self.view.add_named(self.document_structure_page, 'document_structure') self.view.add_named(self.symbols_page.view, 'symbols') self.view.queue_draw()
def __init__(self, workspace): Observable.__init__(self) self.workspace = workspace self.settings = ServiceLocator.get_settings() self.document = None self.items = list() self.hover_item = None self.view = ServiceLocator.get_main_window().build_log self.presenter = build_log_presenter.BuildLogPresenter(self, self.view) self.controller = build_log_controller.BuildLogController( self, self.view)
def __init__(self, workspace): self.workspace = workspace self.main_window = ServiceLocator.get_main_window() self.workspace.register_observer(self) self.sidebars_initialized = False self.sidebar = self.main_window.sidebar self.sidebar_animating = False self.preview_animating = False self.build_log_animating = False self.activate_blank_slate_mode() def on_window_state(widget, event): self.on_realize() self.main_window.connect('draw', on_window_state)
def __init__(self, document, document_view): self.document = document self.document_view = document_view self.main_window = ServiceLocator.get_main_window() self.view = view.DocumentAutocompleteView() self.provider = ServiceLocator.get_autocomplete_provider() self.states = dict() self.states['inactive'] = state_inactive.StateInactive(self) self.states[ 'active_invisible'] = state_active_invisible.StateActiveInvisible( self) self.states[ 'active_visible'] = state_active_visible.StateActiveVisible(self) self.active_state = None self.change_state('inactive') self.char_width, self.line_height = self.document.get_char_dimensions() self.shortcuts_bar_height = 37 self.view.scrolled_window.set_max_content_height(5 * self.line_height) self.insert_iter_offset = None self.current_word = "" self.current_word_offset = None self.height = None self.width = None self.items = list() self.last_tabbed_command = None self.view.list.connect('row-activated', self.on_row_activated) self.view.list.connect('row-selected', self.on_row_selected) self.document_view.scrolled_window.get_vadjustment().connect( 'value-changed', self.on_adjustment_value_changed) self.document_view.scrolled_window.get_hadjustment().connect( 'value-changed', self.on_adjustment_value_changed) self.document_view.source_view.connect('focus-out-event', self.on_focus_out) self.document_view.source_view.connect('focus-in-event', self.on_focus_in) self.document.get_buffer().connect('changed', self.on_buffer_changed) self.document.get_buffer().connect('mark-set', self.on_mark_set) self.document.get_buffer().connect('mark-deleted', self.on_mark_deleted)
def __init__(self, workspace): self.count = 0 self.workspace = workspace self.view = ServiceLocator.get_main_window().help_panel self.view.content.connect('decide-policy', self.on_policy_decision) self.view.content.connect('context-menu', self.on_context_menu) self.uri = 'file://' + os.path.join(ServiceLocator.get_resources_path(), 'help', 'latex2e_unofficial_reference_manual_october_2018') self.view.content.load_uri(self.uri) self.view.content.get_back_forward_list().connect('changed', self.on_back_forward_list_changed) self.view.back_button.connect('clicked', self.on_back_button_clicked) self.view.next_button.connect('clicked', self.on_next_button_clicked) self.view.up_button.connect('clicked', self.on_up_button_clicked)
def __init__(self, document_switcher, workspace): self.document_switcher = document_switcher self.workspace = workspace self.button = ServiceLocator.get_main_window().headerbar.center_widget self.view = self.button.open_docs_popover self.workspace.connect('new_document', self.on_new_document) self.workspace.connect('document_removed', self.on_document_removed) self.workspace.connect('new_inactive_document', self.on_new_inactive_document) self.workspace.connect('new_active_document', self.on_new_active_document) self.workspace.connect('root_state_change', self.on_root_state_change) self.document_switcher.connect('docswitcher_mode_change', self.on_docswitcher_mode_change) self.show_welcome_title()
def __init__(self, workspace): Observable.__init__(self) self.workspace = workspace self.settings = ServiceLocator.get_settings() self.document = None self.items = list() self.symbols = { 'Badbox': 'own-badbox-symbolic', 'Error': 'dialog-error-symbolic', 'Warning': 'dialog-warning-symbolic' } self.view = ServiceLocator.get_main_window().build_log self.presenter = build_log_presenter.BuildLogPresenter(self, self.view) self.controller = build_log_controller.BuildLogController( self, self.view)
def __init__(self, workspace): self.workspace = workspace self.main_window = ServiceLocator.get_main_window() self.main_window.latex_shortcutsbar.button_build_log.set_active( self.workspace.get_show_build_log()) self.main_window.latex_shortcutsbar.button_build_log.connect( 'clicked', self.on_build_log_button_clicked) self.main_window.latex_shortcutsbar.button_build_log.get_child( ).set_sensitive(False) self.workspace.connect('document_removed', self.on_document_removed) self.workspace.connect('new_active_document', self.on_new_active_document) self.workspace.connect('new_inactive_document', self.on_new_inactive_document) self.workspace.connect('show_build_log_state_change', self.on_show_build_log_state_change)
def __init__(self, workspace): self.workspace = workspace self.main_window = ServiceLocator.get_main_window() self.observe_workspace_view() self.untitled_documents_no = 0 self.p_allocation = 0 self.pp_allocation = 0 self.s_allocation = 0 self.bl_allocation = 0 # populate workspace self.workspace.populate_from_disk() open_documents = self.workspace.open_documents if len(open_documents) > 0: self.workspace.set_active_document(open_documents[-1])
def __init__(self): self.view = ServiceLocator.get_main_window().sidebar # detect dark mode dm = 'True' if ServiceLocator.get_is_dark_mode() else 'False' # tabbed pages: name, icon name, tooltip, widget self.pages = list() self.pages.append([ 'greek_letters', 'own-symbols-greek-letters-symbolic', _('Greek Letters'), 'sidebar_view.SidebarPageSymbolsList("greek_letters", 25, ' + dm + ')' ]) self.pages.append([ 'arrows', 'own-symbols-arrows-symbolic', _('Arrows'), 'sidebar_view.SidebarPageSymbolsList("arrows", 48, ' + dm + ')' ]) self.pages.append([ 'relations', 'own-symbols-relations-symbolic', _('Relations'), 'sidebar_view.SidebarPageSymbolsList("relations", 39, ' + dm + ')' ]) self.pages.append([ 'operators', 'own-symbols-operators-symbolic', _('Operators'), 'sidebar_view.SidebarPageSymbolsList("operators", 47, ' + dm + ')' ]) self.pages.append([ 'misc_math', 'own-symbols-misc-math-symbolic', _('Misc. Math'), 'sidebar_view.SidebarPageSymbolsList("misc_math", 42, ' + dm + ')' ]) self.pages.append([ 'misc_text', 'own-symbols-misc-text-symbolic', _('Misc. Symbols'), 'sidebar_view.SidebarPageSymbolsList("misc_text", 38, ' + dm + ')' ]) self.page_views = list() self.init_page_stack() self.view.show_all()
def __init__(self, workspace): self.workspace = workspace self.main_window = ServiceLocator.get_main_window() self.main_window.headerbar.document_structure_toggle.connect( 'toggled', self.on_document_structure_toggle_toggled) self.main_window.headerbar.symbols_toggle.connect( 'toggled', self.on_symbols_toggle_toggled) self.main_window.headerbar.preview_toggle.connect( 'toggled', self.on_preview_toggle_toggled) self.main_window.headerbar.help_toggle.connect( 'toggled', self.on_help_toggle_toggled) # populate workspace self.workspace.populate_from_disk() open_documents = self.workspace.open_documents if len(open_documents) > 0: self.workspace.set_active_document(open_documents[-1])
def __init__(self, workspace): self.workspace = workspace self.main_window = ServiceLocator.get_main_window() self.workspace.connect('new_document', self.on_new_document) self.workspace.connect('document_removed', self.on_document_removed) self.workspace.connect('new_active_document', self.on_new_active_document) self.workspace.connect('new_inactive_document', self.on_new_inactive_document) self.workspace.connect('set_show_symbols_or_document_structure', self.on_set_show_symbols_or_document_structure) self.workspace.connect('set_show_preview_or_help', self.on_set_show_preview_or_help) self.workspace.connect('show_build_log_state_change', self.on_show_build_log_state_change) self.workspace.connect('set_dark_mode', self.on_set_dark_mode) self.activate_welcome_screen_mode() self.setup_paneds()
def __init__(self, workspace): Observable.__init__(self) self.workspace = workspace self.view = ServiceLocator.get_main_window().help_panel self.path = 'file://' + os.path.join( ServiceLocator.get_resources_path(), 'help') self.home_uri = self.path + '/latex2e_0.html' self.current_uri = self.home_uri with open( os.path.join(ServiceLocator.get_resources_path(), 'help', 'search_index.pickle'), 'rb') as filehandle: self.search_index = pickle.load(filehandle) self.search_results_blank = list() self.search_results = self.search_results_blank self.query = '' GLib.idle_add(self.activate, priority=GLib.PRIORITY_LOW)
def __init__(self, document, document_view): self.document = document self.document_view = document_view self.main_window = ServiceLocator.get_main_window() self.view = view.DocumentAutocompleteView() self.line_height = 0 self.char_width = 0 self.update_char_size() self.shortcuts_bar_height = 37 self.number_of_matches = 0 self.insert_iter_offset = None self.insert_iter_matched = False self.current_word = "" self.autocomplete_height = None self.autocomplete_width = None self.autocomplete_visible = False self.autocomplete_focus_was_visible = False self.static_proposals = dict() self.dynamic_proposals = dict() self.generate_proposals() GObject.timeout_add(500, self.generate_dynamic_proposals) self.view.list.connect('row-activated', self.on_autocomplete_row_activated) self.view.list.connect('row-selected', self.on_autocomplete_row_selected) self.document_view.scrolled_window.get_vadjustment().connect('value-changed', self.on_adjustment_value_changed) self.document_view.scrolled_window.get_hadjustment().connect('value-changed', self.on_adjustment_value_changed) self.document_view.source_view.connect('focus-out-event', self.on_focus_out) self.document_view.source_view.connect('focus-in-event', self.on_focus_in) self.document.get_buffer().connect('changed', self.on_buffer_changed) self.document.get_buffer().connect('mark-set', self.on_mark_set) self.document.get_buffer().connect('mark-deleted', self.on_mark_deleted)
def __init__(self, workspace): self.workspace = workspace self.view = ServiceLocator.get_main_window().headerbar.document_chooser self.workspace.register_observer(self)
def __init__(self, workspace): self.workspace = workspace main_window = ServiceLocator.get_main_window() settings = ServiceLocator.get_settings() self.new_latex_document_action = Gio.SimpleAction.new('new-latex-document', None) self.new_bibtex_document_action = Gio.SimpleAction.new('new-bibtex-document', None) self.open_document_dialog_action = Gio.SimpleAction.new('open-document-dialog', None) self.build_action = Gio.SimpleAction.new('build', None) self.save_and_build_action = Gio.SimpleAction.new('save-and-build', None) self.save_action = Gio.SimpleAction.new('save', None) self.save_as_action = Gio.SimpleAction.new('save-as', None) self.save_all_action = Gio.SimpleAction.new('save-all', None) self.save_session_action = Gio.SimpleAction.new('save-session', None) self.restore_session_action = Gio.SimpleAction.new('restore-session', GLib.VariantType('as')) self.find_action = Gio.SimpleAction.new('find', None) self.find_next_action = Gio.SimpleAction.new('find-next', None) self.find_prev_action = Gio.SimpleAction.new('find-prev', None) self.find_replace_action = Gio.SimpleAction.new('find-replace', None) self.close_all_action = Gio.SimpleAction.new('close-all-documents', None) self.close_document_action = Gio.SimpleAction.new('close-active-document', None) self.insert_before_after_action = Gio.SimpleAction.new('insert-before-after', GLib.VariantType('as')) self.insert_symbol_action = Gio.SimpleAction.new('insert-symbol', GLib.VariantType('as')) self.insert_before_document_end_action = Gio.SimpleAction.new('insert-before-document-end', GLib.VariantType('as')) self.document_wizard_action = Gio.SimpleAction.new('show-document-wizard', None) self.create_new_bibtex_entry_action = Gio.SimpleAction.new('create-new-bibtex-entry', None) self.show_previous_bibtex_entries_action = Gio.SimpleAction.new('show-previous-bibtex-entries', None) self.search_online_for_bibtex_entries_action = Gio.SimpleAction.new('search-online-for-bibtex-entries', None) self.include_bibtex_file_action = Gio.SimpleAction.new('include-bibtex-file', None) self.include_latex_file_action = Gio.SimpleAction.new('include-latex-file', None) self.add_remove_packages_dialog_action = Gio.SimpleAction.new('add-remove-packages-dialog', None) self.add_packages_action = Gio.SimpleAction.new('add-packages', GLib.VariantType('as')) self.comment_uncomment_action = Gio.SimpleAction.new('comment-uncomment', None) self.shortcuts_window_action = Gio.SimpleAction.new('show-shortcuts-window', None) self.show_preferences_action = Gio.SimpleAction.new('show-preferences-dialog', None) self.show_about_action = Gio.SimpleAction.new('show-about-dialog', None) self.quit_action = Gio.SimpleAction.new('quit', None) self.close_build_log_action = Gio.SimpleAction.new('close-build-log', None) sc_default = GLib.Variant.new_boolean(settings.get_value('preferences', 'inline_spellchecking')) self.toggle_spellchecking_action = Gio.SimpleAction.new_stateful('toggle-spellchecking', None, sc_default) self.set_spellchecking_language_action = Gio.SimpleAction.new('set-spellchecking-language', None) self.spellchecking_action = Gio.SimpleAction.new('spellchecking', None) dm_default = GLib.Variant.new_boolean(settings.get_value('preferences', 'prefer_dark_mode')) self.toggle_dark_mode_action = Gio.SimpleAction.new_stateful('toggle-dark-mode', None, dm_default) settings.gtksettings.get_default().set_property('gtk-application-prefer-dark-theme', dm_default) ip_default = GLib.Variant.new_boolean(settings.get_value('preferences', 'invert_pdf')) self.toggle_invert_pdf_action = Gio.SimpleAction.new_stateful('toggle-invert-pdf', None, ip_default) self.zoom_out_action = Gio.SimpleAction.new('zoom-out', None) self.zoom_in_action = Gio.SimpleAction.new('zoom-in', None) self.reset_zoom_action = Gio.SimpleAction.new('reset-zoom', None) main_window.add_action(self.new_latex_document_action) main_window.add_action(self.new_bibtex_document_action) main_window.add_action(self.open_document_dialog_action) main_window.add_action(self.build_action) main_window.add_action(self.save_and_build_action) main_window.add_action(self.save_action) main_window.add_action(self.save_as_action) main_window.add_action(self.save_all_action) main_window.add_action(self.save_session_action) main_window.add_action(self.restore_session_action) main_window.add_action(self.find_action) main_window.add_action(self.find_next_action) main_window.add_action(self.find_prev_action) main_window.add_action(self.find_replace_action) main_window.add_action(self.close_all_action) main_window.add_action(self.close_document_action) main_window.add_action(self.insert_before_after_action) main_window.add_action(self.insert_symbol_action) main_window.add_action(self.insert_before_document_end_action) main_window.add_action(self.document_wizard_action) main_window.add_action(self.create_new_bibtex_entry_action) main_window.add_action(self.show_previous_bibtex_entries_action) main_window.add_action(self.search_online_for_bibtex_entries_action) main_window.add_action(self.include_bibtex_file_action) main_window.add_action(self.include_latex_file_action) main_window.add_action(self.add_remove_packages_dialog_action) main_window.add_action(self.add_packages_action) main_window.add_action(self.comment_uncomment_action) main_window.add_action(self.shortcuts_window_action) main_window.add_action(self.show_preferences_action) main_window.add_action(self.show_about_action) main_window.add_action(self.quit_action) main_window.add_action(self.close_build_log_action) main_window.add_action(self.toggle_spellchecking_action) main_window.add_action(self.set_spellchecking_language_action) main_window.add_action(self.spellchecking_action) main_window.add_action(self.toggle_dark_mode_action) main_window.add_action(self.toggle_invert_pdf_action) main_window.add_action(self.zoom_out_action) main_window.add_action(self.zoom_in_action) main_window.add_action(self.reset_zoom_action) self.new_latex_document_action.connect('activate', self.on_new_latex_document_action_activated) self.new_bibtex_document_action.connect('activate', self.on_new_bibtex_document_action_activated) self.open_document_dialog_action.connect('activate', self.on_open_document_dialog_action_activated) self.build_action.connect('activate', self.on_build_action_activated) self.save_and_build_action.connect('activate', self.on_save_and_build_action_activated) self.save_action.connect('activate', self.on_save_button_click) self.save_as_action.connect('activate', self.on_save_as_clicked) self.save_all_action.connect('activate', self.on_save_all_clicked) self.save_session_action.connect('activate', self.on_save_session_clicked) self.restore_session_action.connect('activate', self.on_restore_session_clicked) self.find_action.connect('activate', self.on_menu_find_clicked) self.find_next_action.connect('activate', self.find_next) self.find_prev_action.connect('activate', self.find_prev) self.find_replace_action.connect('activate', self.on_menu_find_replace_clicked) self.close_all_action.connect('activate', self.on_close_all_clicked) self.close_document_action.connect('activate', self.on_close_document_clicked) self.insert_before_after_action.connect('activate', self.insert_before_after) self.insert_symbol_action.connect('activate', self.insert_symbol) self.insert_before_document_end_action.connect('activate', self.insert_before_document_end) self.document_wizard_action.connect('activate', self.start_wizard) self.include_bibtex_file_action.connect('activate', self.start_include_bibtex_file_dialog) self.include_latex_file_action.connect('activate', self.start_include_latex_file_dialog) self.add_remove_packages_dialog_action.connect('activate', self.start_add_remove_packages_dialog) self.add_packages_action.connect('activate', self.add_packages) self.comment_uncomment_action.connect('activate', self.comment_uncomment) self.create_new_bibtex_entry_action.connect('activate', self.start_create_new_bibtex_entry_dialog) self.show_previous_bibtex_entries_action.connect('activate', self.start_show_previous_bibtex_entries_dialog) self.search_online_for_bibtex_entries_action.connect('activate', self.start_search_online_for_bibtex_entries_dialog) self.shortcuts_window_action.connect('activate', self.show_shortcuts_window) self.show_preferences_action.connect('activate', self.show_preferences_dialog) self.show_about_action.connect('activate', self.show_about_dialog) self.close_build_log_action.connect('activate', self.close_build_log) self.toggle_spellchecking_action.connect('activate', self.on_spellchecking_toggle_toggled) self.set_spellchecking_language_action.connect('activate', self.start_spellchecking_language_dialog) self.spellchecking_action.connect('activate', self.start_spellchecking_dialog) self.toggle_dark_mode_action.connect('activate', self.on_dark_mode_toggle_toggled) self.toggle_invert_pdf_action.connect('activate', self.on_invert_pdf_toggle_toggled) self.zoom_out_action.connect('activate', self.on_zoom_out) self.zoom_in_action.connect('activate', self.on_zoom_in) self.reset_zoom_action.connect('activate', self.on_reset_zoom) self.font_manager = ServiceLocator.get_font_manager() self.update_zoom_actions() self.workspace.register_observer(self) self.font_manager.register_observer(self)
def __init__(self, workspace): self.workspace = workspace self.main_window = ServiceLocator.get_main_window() self.workspace.register_observer(self) self.activate_blank_slate_mode()
def on_reset_zoom(self, widget=None, event=None): ServiceLocator.get_main_window().reset_zoom_action.activate() return True
def __init__(self, workspace): self.main_window = ServiceLocator.get_main_window() self.workspace = workspace self.setup_shortcuts()