def __init__(self, settings): super().__init__() self.set_relative_to(None) self.settings = settings zoom_out_button = Gtk.Button.new_from_icon_name( "zoom-out-symbolic", Gtk.IconSize.MENU) zoom_out_button.set_action_name('document.zoom_out') zoom_out_button.set_tooltip_markup( Granite.markup_accel_tooltip(('<Control>minus', ), _('Zoom Out'))) self.zoom_default_button = Gtk.Button( "100%", action_name='document.zoom_default') self.zoom_default_button.set_tooltip_markup( Granite.markup_accel_tooltip(('<Control>0', ), _('Zoom 1:1'))) zoom_in_button = Gtk.Button.new_from_icon_name("zoom-in-symbolic", Gtk.IconSize.MENU) zoom_in_button.set_action_name('document.zoom_in') zoom_in_button.set_tooltip_markup( Granite.markup_accel_tooltip(('<Control>equal', '<Control>plus'), _('Zoom In'))) font_size_grid = Gtk.Grid(column_homogeneous=True, hexpand=True, margin=12) font_size_grid.get_style_context().add_class(Gtk.STYLE_CLASS_LINKED) font_size_grid.add(zoom_out_button) font_size_grid.add(self.zoom_default_button) font_size_grid.add(zoom_in_button) preferences_menuitem = Gtk.ModelButton(text=_("Preferences"), action_name='app.preferences') about_menuitem = Gtk.ModelButton(text=_("About"), action_name='app.about') shortcuts_menuitem = Gtk.ModelButton(text=_("Shortcuts"), action_name='app.shortcuts') quit_menuitem = Gtk.ModelButton(text=_("Quit"), action_name='app.quit') menu_separator = Gtk.Separator(margin_top=12, orientation=Gtk.Orientation.HORIZONTAL) menu_grid = Gtk.Grid(margin_bottom=3, orientation=Gtk.Orientation.VERTICAL, width_request=200) menu_grid.attach(font_size_grid, 0, 0, 3, 1) menu_grid.attach(preferences_menuitem, 0, 1, 3, 1) menu_grid.attach(shortcuts_menuitem, 0, 2, 3, 1) menu_grid.attach(about_menuitem, 0, 3, 3, 1) menu_grid.attach(menu_separator, 0, 4, 3, 1) menu_grid.attach(quit_menuitem, 0, 5, 3, 1) self.add(menu_grid) menu_grid.show_all() self.zoom_default_button.set_label(f"{settings.get_int('zoom')}%") self.settings.connect('changed', self.on_settings_changed)
def __init__(self, settings): super().__init__() self.document_mode_active = False self.settings = settings self.set_title(APP_TITLE) self.set_subtitle(APP_SUBTITLE) self.set_has_subtitle(True) self.set_show_close_button(True) self.get_style_context().add_class('norka-header') self.add_button = Gtk.Button.new_from_icon_name( 'document-new', Gtk.IconSize.LARGE_TOOLBAR) self.add_button.set_visible(True) self.add_button.set_tooltip_markup( Granite.markup_accel_tooltip(('<Control>n', ), 'Create new document')) self.add_button.set_action_name('document.create') self.back_button = Gtk.Button.new_with_label('Documents') self.back_button.set_valign(Gtk.Align.CENTER) self.back_button.get_style_context().add_class('back-button') self.back_button.set_tooltip_markup( Granite.markup_accel_tooltip( ('<Control>w', ), 'Save document and return to documents list')) self.back_button.set_visible(False) self.back_button.set_action_name('document.close') self.export_button = Gtk.Button.new_from_icon_name( 'document-save-as', Gtk.IconSize.LARGE_TOOLBAR) self.export_button.set_tooltip_markup( Granite.markup_accel_tooltip(('<Control>e', ), 'Export document to file')) self.export_button.set_action_name('document.export') self.export_button.set_visible(False) self.menu_button = Gtk.MenuButton(tooltip_text="Menu") self.menu_button.set_image( Gtk.Image.new_from_icon_name('open-menu', Gtk.IconSize.LARGE_TOOLBAR)) self.menu_button.set_popover(MenuPopover(settings=self.settings)) self.menu_button.set_visible(True) self.pack_start(self.back_button) self.pack_start(self.add_button) self.pack_end(self.menu_button) self.pack_end(self.export_button)
def __init__(self, settings, **kwargs): super().__init__(**kwargs) self.builder = Gtk.Builder.new_from_resource( f'{RESOURCE_PREFIX}/ui/headerbar.ui') self.header_box: Gtk.Stack = self.builder.get_object('header_box') self.grid_header: Handy.HeaderBar = self.builder.get_object( 'grid_header') self.editor_header: Handy.HeaderBar = self.builder.get_object( 'editor_header') self.loader_spinner: Gtk.Spinner = self.builder.get_object( 'loader_spinner') self.editor_spinner: Gtk.Spinner = self.builder.get_object( 'editor_spinner') self.subtitle_path_label: Gtk.Label = self.builder.get_object( 'subtitle_path_label') self.title_label: Gtk.Label = self.builder.get_object('title_label') self.subtitle_label: Gtk.Label = self.builder.get_object( 'subtitle_label') self.subtitle_eventbox: Gtk.EventBox = self.builder.get_object( 'subtitle_eventbox') self.stats_mode = StatsMode.STATS self.document_mode_active = False self.settings = settings self.stats = None self.document_path = "/" self.header_box.set_visible_child_name("grid_header") self.add(self.header_box) self.subtitle_eventbox.connect('button-release-event', self.change_subtitle_mode) self.import_button: Gtk.Button = self.builder.get_object( "import_button") self.import_button.set_tooltip_markup( Granite.markup_accel_tooltip(('<Control>o', ), _('Import file to Norka'))) # self.add_button: Gtk.Button = self.builder.get_object("add_button") self.add_button.set_tooltip_markup( Granite.markup_accel_tooltip(('<Control>n', ), _('Create new document'))) self.add_folder_button: Gtk.Button = self.builder.get_object( "add_folder_button") self.add_folder_button.set_tooltip_markup( Granite.markup_accel_tooltip(('<Control><Shift>n', ), _('Create new folder'))) self.back_button: Gtk.Button = self.builder.get_object("back_button") self.back_button.set_tooltip_markup( Granite.markup_accel_tooltip( ('<Control>w', ), _('Save document and return to documents list'))) # # self.search_button = Gtk.ToggleButton() # # self.search_button.set_image(Gtk.Image.new_from_icon_name('edit-find', Gtk.IconSize.LARGE_TOOLBAR)) # # self.search_button.set_tooltip_markup(Granite.markup_accel_tooltip(('<Control>f',), 'Find text')) # # self.search_button.set_action_name('document.search_text') # # self.search_button.set_visible(False) self.print_button: Gtk.ToggleButton() = self.builder.get_object( "print_button") self.print_button.set_tooltip_markup( Granite.markup_accel_tooltip(('<Control>p', ), _('Print the document'))) self.extended_stats_button: Gtk.ToggleButton( ) = self.builder.get_object("extended_stats_button") self.extended_stats_button.set_tooltip_markup( Granite.markup_accel_tooltip(None, _('Show document info'))) self.share_app_menu: Gtk.MenuButton = self.builder.get_object( "share_app_menu") self.share_app_menu.set_image( Gtk.Image.new_from_icon_name('document-save-as', Gtk.IconSize.LARGE_TOOLBAR)) self.share_app_menu.set_popover(MenuExport(settings=self.settings)) self.archived_button: Gtk.ToggleButton() = self.builder.get_object( "archived_button") self.archived_button.set_tooltip_markup( Granite.markup_accel_tooltip(None, _('Show Archived files'))) self.grid_menu_button: Gtk.MenuButton = self.builder.get_object( "grid_menu_button") self.grid_menu_button.set_image( Gtk.Image.new_from_icon_name('open-menu', Gtk.IconSize.LARGE_TOOLBAR)) self.grid_menu_button.set_popover(MenuPopover(settings=self.settings)) self.editor_menu_button: Gtk.MenuButton = self.builder.get_object( "editor_menu_button") self.editor_menu_button.set_image( Gtk.Image.new_from_icon_name('open-menu', Gtk.IconSize.LARGE_TOOLBAR)) self.editor_menu_button.set_popover( MenuPopover(settings=self.settings))
def __init__(self, settings): super().__init__() self.document_mode_active = False self.settings = settings self.set_title(_("Norka")) self.set_subtitle(APP_SUBTITLE) self.set_has_subtitle(True) self.set_show_close_button(True) self.get_style_context().add_class('norka-header') self.spinner = Gtk.Spinner(visible=False) self.import_button = Gtk.Button.new_from_icon_name('document-open', Gtk.IconSize.LARGE_TOOLBAR) self.import_button.set_visible(True) self.import_button.set_tooltip_markup(Granite.markup_accel_tooltip(('<Control>o',), _('Import file to Norka'))) self.import_button.set_action_name('document.import') self.add_button = Gtk.Button.new_from_icon_name('document-new', Gtk.IconSize.LARGE_TOOLBAR) self.add_button.set_visible(True) self.add_button.set_tooltip_markup(Granite.markup_accel_tooltip(('<Control>n',), _('Create new document'))) self.add_button.set_action_name('document.create') self.back_button = Gtk.Button.new_with_label(_('Documents')) self.back_button.set_valign(Gtk.Align.CENTER) self.back_button.get_style_context().add_class('back-button') self.back_button.set_tooltip_markup(Granite.markup_accel_tooltip( ('<Control>w',), _('Save document and return to documents list'))) self.back_button.set_visible(False) self.back_button.set_action_name('document.close') # self.search_button = Gtk.ToggleButton() # self.search_button.set_image(Gtk.Image.new_from_icon_name('edit-find', Gtk.IconSize.LARGE_TOOLBAR)) # self.search_button.set_tooltip_markup(Granite.markup_accel_tooltip(('<Control>f',), 'Find text')) # self.search_button.set_action_name('document.search_text') # self.search_button.set_visible(False) self.share_app_menu = Gtk.MenuButton(tooltip_text=_("Share")) self.share_app_menu.set_image(Gtk.Image.new_from_icon_name('document-save-as', Gtk.IconSize.LARGE_TOOLBAR)) self.share_app_menu.set_popover(MenuExport(settings=self.settings)) self.archived_button = Gtk.ToggleButton() self.archived_button.set_image(Gtk.Image.new_from_icon_name('user-trash', Gtk.IconSize.LARGE_TOOLBAR)) self.archived_button.set_tooltip_markup(Granite.markup_accel_tooltip(None, _('Show Archived files'))) self.archived_button.set_action_name('document.toggle_archived') self.archived_button.set_visible(True) self.menu_button = Gtk.MenuButton(tooltip_text=_("Menu")) self.menu_button.set_image(Gtk.Image.new_from_icon_name('open-menu', Gtk.IconSize.LARGE_TOOLBAR)) self.menu_button.set_popover(MenuPopover(settings=self.settings)) self.menu_button.set_visible(True) self.pack_start(self.back_button) self.pack_start(self.add_button) self.pack_start(self.import_button) self.pack_start(self.spinner) self.pack_end(self.menu_button) self.pack_end(self.share_app_menu) self.pack_end(self.archived_button)
def __init__(self, settings): super().__init__() self.set_constrain_to(Gtk.PopoverConstraint.NONE) self.settings = settings self.export_plain = Gtk.Button( label=_("Text"), action_name="document.export", tooltip_text=_("Export document to plain text file"), relief=Gtk.ReliefStyle.NONE, always_show_image=True, image_position=Gtk.PositionType.TOP) self.export_plain.set_image( Gtk.Image.new_from_resource(f"{RESOURCE_PREFIX}/icons/text.svg")) self.export_markdown = Gtk.Button( label=_("Markdown"), action_name="document.export-markdown", tooltip_markup=Granite.markup_accel_tooltip( ("<Control><Shift>s", ), _("Export document to markdown")), relief=Gtk.ReliefStyle.NONE, always_show_image=True, image_position=Gtk.PositionType.TOP) self.export_markdown.set_image( Gtk.Image.new_from_resource( f"{RESOURCE_PREFIX}/icons/text-markdown.svg")) self.export_html = Gtk.Button( _("Html"), action_name="document.export-html", tooltip_text=_("Export document to HTML"), relief=Gtk.ReliefStyle.NONE, always_show_image=True, image_position=Gtk.PositionType.TOP) self.export_html.set_tooltip_text(_("Export document to HTML")) self.export_html.set_image( Gtk.Image.new_from_resource( f"{RESOURCE_PREFIX}/icons/text-html.svg")) self.export_pdf = Gtk.Button( _("Pdf"), action_name="document.export-pdf", tooltip_text=_("Export document to PDF"), relief=Gtk.ReliefStyle.NONE, always_show_image=True, image_position=Gtk.PositionType.TOP, ) self.export_pdf.set_tooltip_text(_("Export document to PDF")) self.export_pdf.set_image( Gtk.Image.new_from_resource( f"{RESOURCE_PREFIX}/icons/application-pdf.svg")) self.export_docx = Gtk.Button( _("Docx"), action_name="document.export-docx", tooltip_text=_("Export document to Docx"), relief=Gtk.ReliefStyle.NONE, always_show_image=True, image_position=Gtk.PositionType.TOP) self.export_docx.set_tooltip_text(_("Export document to Docx")) self.export_docx.set_image( Gtk.Image.new_from_resource( f"{RESOURCE_PREFIX}/icons/application-msword.svg")) export_grid_1 = Gtk.Grid() export_grid_1.attach(self.export_plain, 0, 1, 1, 1) export_grid_1.attach(self.export_markdown, 1, 1, 1, 1) export_grid_1.attach(self.export_html, 2, 1, 1, 1) export_grid_2 = Gtk.Grid() export_grid_2.attach(self.export_pdf, 0, 1, 1, 1) export_grid_2.attach(self.export_docx, 1, 1, 1, 1) self.carousel = Handy.Carousel() self.carousel_indicator = Handy.CarouselIndicatorLines( carousel=self.carousel) self.carousel.insert(export_grid_1, 0) self.carousel.insert(export_grid_2, 1) self.export_file = Gtk.ModelButton() self.export_file.get_child().destroy() self.export_file.add( Granite.AccelLabel(label=_("Export to file"), accel_string='<Control><Shift>s')) self.export_file.set_action_name("document.export") self.export_medium = Gtk.ModelButton() self.export_medium.get_child().destroy() self.export_medium.add(Granite.AccelLabel(label=_("To Medium"))) self.export_medium.set_action_name("document.export-medium") self.export_writeas = Gtk.ModelButton() self.export_writeas.get_child().destroy() self.export_writeas.add(Granite.AccelLabel(label=_("To Write.as"))) self.export_writeas.set_action_name("document.export-writeas") menu_grid = Gtk.Grid(margin_bottom=3, margin_top=3, orientation=Gtk.Orientation.VERTICAL, width_request=200) menu_grid.attach( Granite.HeaderLabel(_("Files"), margin_left=12, margin_right=12), 0, 0, 3, 1) menu_grid.attach(self.carousel, 0, 1, 3, 1) menu_grid.attach(self.carousel_indicator, 0, 2, 3, 1) menu_grid.attach( Gtk.Separator(orientation=Gtk.Orientation.HORIZONTAL, margin_top=12), 0, 2, 3, 1) menu_grid.attach( Granite.HeaderLabel(_("Internet"), margin_left=12, margin_right=12), 0, 3, 3, 1) menu_grid.attach(self.export_medium, 0, 4, 3, 1) menu_grid.attach(self.export_writeas, 0, 5, 3, 1) self.add(menu_grid) menu_grid.show_all() self.export_pdf.set_visible(False)
def __init__(self, settings): super().__init__() self.set_relative_to(None) self.settings = settings self.export_plain = Gtk.Button( label=_("Text"), action_name="document.export", tooltip_text=_("Export document to plain text file"), relief=Gtk.ReliefStyle.NONE, always_show_image=True, image_position=Gtk.PositionType.TOP) self.export_plain.set_image( Gtk.Image.new_from_resource("/com/github/tenderowl/norka/icons/text.svg")) self.export_markdown = Gtk.Button( label=_("Markdown"), action_name="document.export-markdown", tooltip_markup=Granite.markup_accel_tooltip( ("<Control><Shift>s",), _("Export document to markdown")), relief=Gtk.ReliefStyle.NONE, always_show_image=True, image_position=Gtk.PositionType.TOP) self.export_markdown.set_image( Gtk.Image.new_from_resource("/com/github/tenderowl/norka/icons/text-markdown.svg")) self.export_html = Gtk.Button( _("Html"), action_name="document.export-html", tooltip_text=_("Export document to HTML"), relief=Gtk.ReliefStyle.NONE, always_show_image=True, image_position=Gtk.PositionType.TOP) self.export_html.set_tooltip_text(_("Export document to HTML")) self.export_html.set_image( Gtk.Image.new_from_resource("/com/github/tenderowl/norka/icons/text-html.svg")) self.export_file = Gtk.ModelButton() self.export_file.get_child().destroy() self.export_file.add(Granite.AccelLabel(label=_("Export to file"), accel_string='<Control><Shift>s')) self.export_file.set_action_name("document.export") self.export_medium = Gtk.ModelButton() self.export_medium.get_child().destroy() self.export_medium.add(Granite.AccelLabel(label=_("To Medium"))) self.export_medium.set_action_name("document.export-medium") self.export_writeas = Gtk.ModelButton() self.export_writeas.get_child().destroy() self.export_writeas.add(Granite.AccelLabel(label=_("To Write.as"))) self.export_writeas.set_action_name("document.export-writeas") menu_grid = Gtk.Grid(margin_bottom=3, margin_top=3, orientation=Gtk.Orientation.VERTICAL, width_request=200) menu_grid.attach(Granite.HeaderLabel(_("Files"), margin_left=12, margin_right=12), 0, 0, 3, 1) menu_grid.attach(self.export_plain, 0, 1, 1, 1) menu_grid.attach(self.export_markdown, 1, 1, 1, 1) menu_grid.attach(self.export_html, 2, 1, 1, 1) menu_grid.attach(Gtk.Separator(orientation=Gtk.Orientation.HORIZONTAL, margin_top=12), 0, 2, 3, 1) menu_grid.attach(Granite.HeaderLabel(_("Internet"), margin_left=12, margin_right=12), 0, 3, 3, 1) menu_grid.attach(self.export_medium, 0, 4, 3, 1) menu_grid.attach(self.export_writeas, 0, 5, 3, 1) self.add(menu_grid) menu_grid.show_all()