forked from Mirrors/apostrophe
left menu to GMenuModel
parent
9d435b5714
commit
3ae75a4b73
|
@ -0,0 +1,43 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<menu id="SettingsMenu">
|
||||
<section>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">_New</attribute>
|
||||
<attribute name="action">app.new</attribute>
|
||||
</item>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">_Open</attribute>
|
||||
<attribute name="action">app.open</attribute>
|
||||
</item>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">Open Recent File</attribute>
|
||||
<attribute name="action">app.open_recent</attribute>
|
||||
</item>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">Open Examples</attribute>
|
||||
<attribute name="action">app.open_examples</attribute>
|
||||
</item>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">_Save</attribute>
|
||||
<attribute name="action">app.save</attribute>
|
||||
</item>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">Save _As</attribute>
|
||||
<attribute name="action">app.save_as</attribute>
|
||||
</item>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">_Export</attribute>
|
||||
<attribute name="action">app.export</attribute>
|
||||
</item>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">Copy as HTML</attribute>
|
||||
<attribute name="action">app.HTML_copy</attribute>
|
||||
</item>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">_Quit</attribute>
|
||||
<attribute name="action">app.quit</attribute>
|
||||
</item>
|
||||
</section>
|
||||
</menu>
|
||||
</interface>
|
|
@ -60,320 +60,6 @@
|
|||
<object class="GtkGrid" id="grid1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkMenuBar" id="menubar1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="mnu_file">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">_File</property>
|
||||
<property name="use_underline">True</property>
|
||||
<child type="submenu">
|
||||
<object class="GtkMenu" id="menu1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkImageMenuItem" id="mnu_new">
|
||||
<property name="label" translatable="yes">_New</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_stock">False</property>
|
||||
<signal name="activate" handler="new_document" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImageMenuItem" id="mnu_open">
|
||||
<property name="label" translatable="yes">_Open</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_stock">False</property>
|
||||
<signal name="activate" handler="open_document" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="recent">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Open Recent File</property>
|
||||
<property name="use_underline">True</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImageMenuItem" id="mnu_examples">
|
||||
<property name="label" translatable="yes">Open examples</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="use_stock">False</property>
|
||||
<child type="submenu">
|
||||
<object class="GtkMenu" id="menu1_1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="mnu_tutorial">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">_Quick markdown tutorial</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="open_uberwriter_markdown" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparatorMenuItem" id="separatormenuitem3">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImageMenuItem" id="mnu_save">
|
||||
<property name="label" translatable="yes">_Save</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_stock">False</property>
|
||||
<signal name="activate" handler="save_document" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImageMenuItem" id="mnu_save_as">
|
||||
<property name="label" translatable="yes">Save _As</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_stock">False</property>
|
||||
<signal name="activate" handler="save_document_as" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparatorMenuItem" id="separatormenuitem1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImageMenuItem" id="mnu_export_html">
|
||||
<property name="label" translatable="yes">Export as HTML</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="use_stock">False</property>
|
||||
<signal name="activate" handler="export_as_html" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImageMenuItem" id="mnu_export_pdf">
|
||||
<property name="label" translatable="yes">Export as PDF</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="use_stock">False</property>
|
||||
<signal name="activate" handler="export_as_pdf" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImageMenuItem" id="mnu_export_odt">
|
||||
<property name="label" translatable="yes">Export as ODT</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="use_stock">False</property>
|
||||
<signal name="activate" handler="export_as_odt" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="advanced_export">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Advanced Export...</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="open_advanced_export" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparatorMenuItem" id="seperatoritem10">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="copy-html-to-clipboard">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Copy Raw HTML to Clipboard</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="copy_html_to_clipboard" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparatorMenuItem" id="separatormenuitem5">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImageMenuItem" id="mnu_close">
|
||||
<property name="label" translatable="yes">_Quit</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_stock">False</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="mnu_view">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">_View</property>
|
||||
<property name="use_underline">True</property>
|
||||
<child type="submenu">
|
||||
<object class="GtkMenu" id="menu4">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkCheckMenuItem" id="mnu_focusmode">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Focus Mode</property>
|
||||
<signal name="toggled" handler="set_focusmode" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckMenuItem" id="mnu_fullscreen">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Fullscreen</property>
|
||||
<signal name="toggled" handler="toggle_fullscreen" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckMenuItem" id="mnu_sidebar">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Sidebar</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckMenuItem" id="mnu_preview">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="tooltip_text" translatable="yes">Switch to preview mode</property>
|
||||
<property name="label" translatable="yes">Preview</property>
|
||||
<signal name="toggled" handler="toggle_preview" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="searchreplacemenuitem">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="tooltip_text" translatable="yes">Open Search and Replace</property>
|
||||
<property name="label" translatable="yes">Search and Replace ...</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="open_search_and_replace" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparatorMenuItem" id="separatormenuitem6">
|
||||
<property name="can_focus">False</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckMenuItem" id="mnu_toggle_typewriter">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label">Use Typewritermode (experimental)</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw_as_radio">True</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparatorMenuItem" id="separatormenuitem4">
|
||||
<property name="can_focus">False</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckMenuItem" id="disable_spellcheck">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Auto _Spellcheck</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="active">True</property>
|
||||
<signal name="toggled" handler="toggle_spellcheck" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="mnu_help">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">_Help</property>
|
||||
<property name="use_underline">True</property>
|
||||
<child type="submenu">
|
||||
<object class="GtkMenu" id="helpMenu">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="mnu_contents">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Contents</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparatorMenuItem" id="separatormenuitem8">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="mnu_uberwriter_markdown">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Short Markdown Tutorial</property>
|
||||
<signal name="activate" handler="open_uberwriter_markdown" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="mnu_pandoc_markdown">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Open Pandoc Online Markdown Help ...</property>
|
||||
<signal name="activate" handler="open_pandoc_markdown" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparatorMenuItem" id="separatormenuitem9">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImageMenuItem" id="mnu_about">
|
||||
<property name="label">gtk-about</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_stock">False</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="top_attach">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkPaned" id="main_pained">
|
||||
<property name="visible">True</property>
|
||||
|
@ -597,7 +283,7 @@
|
|||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="top_attach">2</property>
|
||||
<property name="top_attach">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
|
@ -857,7 +543,7 @@
|
|||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="top_attach">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
|
|
|
@ -320,7 +320,7 @@ class UberwriterWindow(Window):
|
|||
self.MarkupBuffer.set_multiplier(Pango.units_to_double(mets.get_approximate_char_width()) + 1)
|
||||
|
||||
|
||||
def save_document(self, widget, data=None):
|
||||
def save_document(self, widget=None, data=None):
|
||||
if self.filename:
|
||||
logger.info("saving")
|
||||
filename = self.filename
|
||||
|
@ -376,7 +376,7 @@ class UberwriterWindow(Window):
|
|||
filechooser.destroy()
|
||||
return Gtk.ResponseType.CANCEL
|
||||
|
||||
def save_document_as(self, widget, data=None):
|
||||
def save_document_as(self, widget=None, data=None):
|
||||
filechooser = Gtk.FileChooserDialog(
|
||||
"Save your File",
|
||||
self,
|
||||
|
@ -499,7 +499,7 @@ class UberwriterWindow(Window):
|
|||
self.texlive_installed = True
|
||||
self.export("pdf")
|
||||
|
||||
def copy_html_to_clipboard(self, widget, date=None):
|
||||
def copy_html_to_clipboard(self, widget=None, date=None):
|
||||
"""Copies only html without headers etc. to Clipboard"""
|
||||
|
||||
args = ['pandoc', '--from=markdown', '-smart', '-thtml']
|
||||
|
@ -512,7 +512,7 @@ class UberwriterWindow(Window):
|
|||
cb.set_text(output.decode("utf-8"), -1)
|
||||
cb.store()
|
||||
|
||||
def open_document(self, widget):
|
||||
def open_document(self, widget=None):
|
||||
if self.check_change() == Gtk.ResponseType.CANCEL:
|
||||
return
|
||||
|
||||
|
@ -572,7 +572,7 @@ class UberwriterWindow(Window):
|
|||
dialog.destroy()
|
||||
return Gtk.ResponseType.CANCEL
|
||||
|
||||
def new_document(self, widget):
|
||||
def new_document(self, widget=None):
|
||||
if self.check_change() == Gtk.ResponseType.CANCEL:
|
||||
return
|
||||
else:
|
||||
|
@ -789,13 +789,13 @@ class UberwriterWindow(Window):
|
|||
def open_pandoc_markdown(self, widget, data=None):
|
||||
webbrowser.open("http://johnmacfarlane.net/pandoc/README.html#pandocs-markdown")
|
||||
|
||||
def open_uberwriter_markdown(self, widget, data=None):
|
||||
def open_uberwriter_markdown(self, widget=None, data=None):
|
||||
self.load_file(helpers.get_media_file('uberwriter_markdown.md'))
|
||||
|
||||
def open_search_and_replace(self):
|
||||
self.searchreplace.toggle_search()
|
||||
|
||||
def open_advanced_export(self, widget, data=None):
|
||||
def open_advanced_export(self, widget=None, data=None):
|
||||
if self.UberwriterAdvancedExportDialog is not None:
|
||||
advexp = self.UberwriterAdvancedExportDialog() # pylint: disable=
|
||||
|
||||
|
@ -878,7 +878,6 @@ class UberwriterWindow(Window):
|
|||
pass
|
||||
else:
|
||||
self.fullscr_hb_revealer.set_reveal_child(False)
|
||||
|
||||
|
||||
def focus_out(self, widget, data=None):
|
||||
if self.status_bar_visible == False:
|
||||
|
@ -943,73 +942,77 @@ class UberwriterWindow(Window):
|
|||
|
||||
self.set_name('UberwriterWindow')
|
||||
|
||||
# Headerbars
|
||||
self.hb_container = Gtk.Frame(name='titlebar_container')
|
||||
self.hb_container.set_shadow_type(Gtk.ShadowType.NONE)
|
||||
self.hb_revealer = Gtk.Revealer(name='titlebar_revealer')
|
||||
self.hb = Gtk.HeaderBar()
|
||||
self.hb_revealer.add(self.hb)
|
||||
self.hb_revealer.props.transition_duration = 1000
|
||||
self.hb_revealer.props.transition_type = Gtk.RevealerTransitionType.CROSSFADE
|
||||
self.hb.props.show_close_button = True
|
||||
self.hb.get_style_context().add_class("titlebar")
|
||||
self.hb_container.add(self.hb_revealer)
|
||||
self.hb_container.show()
|
||||
self.set_titlebar(self.hb_container)
|
||||
self.hb_revealer.show()
|
||||
self.hb_revealer.set_reveal_child(True)
|
||||
self.hb.show()
|
||||
|
||||
self.use_headerbar = True
|
||||
if self.use_headerbar == True:
|
||||
self.hb_container = Gtk.Frame(name='titlebar_container')
|
||||
self.hb_container.set_shadow_type(Gtk.ShadowType.NONE)
|
||||
self.hb_revealer = Gtk.Revealer(name='titlebar_revealer')
|
||||
self.hb = Gtk.HeaderBar()
|
||||
self.hb_revealer.add(self.hb)
|
||||
self.hb_revealer.props.transition_duration = 1000
|
||||
self.hb_revealer.props.transition_type = Gtk.RevealerTransitionType.CROSSFADE
|
||||
self.hb.props.show_close_button = True
|
||||
self.hb.get_style_context().add_class("titlebar")
|
||||
self.hb_container.add(self.hb_revealer)
|
||||
self.hb_container.show()
|
||||
self.set_titlebar(self.hb_container)
|
||||
self.hb_revealer.show()
|
||||
self.hb_revealer.set_reveal_child(True)
|
||||
self.hb.show()
|
||||
#TODO: this button/model names are HORRIBLE. Find better ones
|
||||
|
||||
bbtn = Gtk.MenuButton()
|
||||
btn_settings = Gtk.MenuButton()
|
||||
btn_settings.props.image = Gtk.Image.new_from_icon_name('emblem-system-symbolic', Gtk.IconSize.BUTTON)
|
||||
btn_settings.props.use_popover = True
|
||||
self.builder_window_menu = get_builder('WindowMenu')
|
||||
self.model = self.builder_window_menu.get_object("WindowMenu")
|
||||
btn_settings.set_menu_model(self.model)
|
||||
btn_settings = Gtk.MenuButton()
|
||||
btn_settings.props.image = Gtk.Image.new_from_icon_name('emblem-system-symbolic', Gtk.IconSize.BUTTON)
|
||||
btn_settings.props.use_popover = True
|
||||
self.builder_window_menu = get_builder('WindowMenu')
|
||||
self.model = self.builder_window_menu.get_object("WindowMenu")
|
||||
btn_settings.set_menu_model(self.model)
|
||||
|
||||
#self.builder.get_object("menu1").detach()
|
||||
bbtn.set_popup(self.builder.get_object("menu1"))
|
||||
self.hb.pack_start(bbtn)
|
||||
self.hb.pack_end(btn_settings)
|
||||
self.hb.show_all()
|
||||
bbtn = Gtk.MenuButton()
|
||||
bbtn.props.use_popover = True
|
||||
self.builder_settings_menu = get_builder('SettingsMenu')
|
||||
self.model2 = self.builder_settings_menu.get_object("SettingsMenu")
|
||||
bbtn.set_menu_model(self.model2)
|
||||
|
||||
#same for fullscreen headerbar
|
||||
self.hb.pack_start(bbtn)
|
||||
self.hb.pack_end(btn_settings)
|
||||
self.hb.show_all()
|
||||
|
||||
self.fullscr_events = self.builder.get_object("FullscreenEventbox")
|
||||
self.fullscr_hb_revealer = self.builder.get_object("FullscreenHbPlaceholder")
|
||||
self.fullscr_hb = self.builder.get_object("FullscreenHeaderbar")
|
||||
self.fullscr_hb.get_style_context().add_class("titlebar")
|
||||
self.fullscr_hb_revealer.show()
|
||||
self.fullscr_hb_revealer.set_reveal_child(False)
|
||||
self.fullscr_hb.show()
|
||||
self.fullscr_events.hide()
|
||||
#same for fullscreen headerbar
|
||||
|
||||
self.bbtn_fs = Gtk.MenuButton()
|
||||
self.btn_settings_fs = Gtk.MenuButton()
|
||||
self.btn_settings_fs.props.image = Gtk.Image.new_from_icon_name('emblem-system-symbolic', Gtk.IconSize.BUTTON)
|
||||
self.btn_settings_fs.props.use_popover = True
|
||||
self.btn_settings_fs.set_menu_model(self.model)
|
||||
self.fullscr_events = self.builder.get_object("FullscreenEventbox")
|
||||
self.fullscr_hb_revealer = self.builder.get_object("FullscreenHbPlaceholder")
|
||||
self.fullscr_hb = self.builder.get_object("FullscreenHeaderbar")
|
||||
self.fullscr_hb.get_style_context().add_class("titlebar")
|
||||
self.fullscr_hb_revealer.show()
|
||||
self.fullscr_hb_revealer.set_reveal_child(False)
|
||||
self.fullscr_hb.show()
|
||||
self.fullscr_events.hide()
|
||||
|
||||
#self.builder.get_object("menu1").detach()
|
||||
self.bbtn_fs.set_popup(self.builder.get_object("menu1"))
|
||||
self.btn_settings_fs = Gtk.MenuButton()
|
||||
self.btn_settings_fs.props.image = Gtk.Image.new_from_icon_name('emblem-system-symbolic', Gtk.IconSize.BUTTON)
|
||||
self.btn_settings_fs.props.use_popover = True
|
||||
self.btn_settings_fs.set_menu_model(self.model)
|
||||
|
||||
btn_exit_fs = Gtk.Button()
|
||||
btn_exit_fs.props.image = Gtk.Image.new_from_icon_name('view-restore-symbolic', Gtk.IconSize.BUTTON)
|
||||
btn_exit_fs.set_action_name("app.fullscreen")
|
||||
self.bbtn_fs = Gtk.MenuButton()
|
||||
self.bbtn_fs.props.use_popover = True
|
||||
self.bbtn_fs.set_menu_model(self.model2)
|
||||
|
||||
self.fullscr_hb.pack_start(self.bbtn_fs)
|
||||
self.fullscr_hb.pack_end(btn_exit_fs)
|
||||
self.fullscr_hb.pack_end(self.btn_settings_fs)
|
||||
self.fullscr_hb.show_all()
|
||||
# this is a little tricky
|
||||
# we show hb when the cursor enters an area of 1 px at the top of the window
|
||||
# as the hb is shown the height of the eventbox grows to accomodate it
|
||||
self.fullscr_events.connect('enter_notify_event', self.show_fs_hb)
|
||||
self.fullscr_events.connect('leave_notify_event', self.hide_fs_hb)
|
||||
self.btn_settings_fs.connect('focus_out_event', self.hide_fs_hb)
|
||||
|
||||
btn_exit_fs = Gtk.Button()
|
||||
btn_exit_fs.props.image = Gtk.Image.new_from_icon_name('view-restore-symbolic', Gtk.IconSize.BUTTON)
|
||||
btn_exit_fs.set_action_name("app.fullscreen")
|
||||
|
||||
self.fullscr_hb.pack_start(self.bbtn_fs)
|
||||
self.fullscr_hb.pack_end(btn_exit_fs)
|
||||
self.fullscr_hb.pack_end(self.btn_settings_fs)
|
||||
self.fullscr_hb.show_all()
|
||||
# this is a little tricky
|
||||
# we show hb when the cursor enters an area of 1 px at the top of the window
|
||||
# as the hb is shown the height of the eventbox grows to accomodate it
|
||||
self.fullscr_events.connect('enter_notify_event', self.show_fs_hb)
|
||||
self.fullscr_events.connect('leave_notify_event', self.hide_fs_hb)
|
||||
self.btn_settings_fs.connect('focus_out_event', self.hide_fs_hb)
|
||||
|
||||
self.title_end = " – UberWriter"
|
||||
self.set_headerbar_title("New File" + self.title_end)
|
||||
|
@ -1018,10 +1021,7 @@ class UberwriterWindow(Window):
|
|||
|
||||
self.word_count = builder.get_object('word_count')
|
||||
self.char_count = builder.get_object('char_count')
|
||||
self.menubar = builder.get_object('menubar1')
|
||||
self.menubar.hide()
|
||||
|
||||
|
||||
# Wire up buttons
|
||||
self.fullscreen_button = builder.get_object('fullscreen_toggle')
|
||||
self.focusmode_button = builder.get_object('focus_toggle')
|
||||
|
@ -1118,7 +1118,8 @@ class UberwriterWindow(Window):
|
|||
# Init file name with None
|
||||
self.set_filename()
|
||||
|
||||
self.generate_recent_files_menu(self.builder.get_object('recent'))
|
||||
#TODO: set recents menu
|
||||
# self.generate_recent_files_menu(self.builder.get_object('recent'))
|
||||
|
||||
self.style_provider = Gtk.CssProvider()
|
||||
self.style_provider.load_from_path(helpers.get_media_path('style.css'))
|
||||
|
@ -1243,8 +1244,8 @@ class UberwriterWindow(Window):
|
|||
Gtk.main_quit()
|
||||
|
||||
def set_headerbar_title(self, title):
|
||||
if self.use_headerbar:
|
||||
self.hb.props.title = title
|
||||
self.hb.props.title = title
|
||||
self.fullscr_hb.props.title = title
|
||||
self.set_title(title)
|
||||
|
||||
def set_filename(self, filename=None):
|
||||
|
|
|
@ -179,6 +179,40 @@ class Application(Gtk.Application):
|
|||
action.connect("change-state", self.on_spellcheck)
|
||||
self.add_action(action)
|
||||
|
||||
'''Left Menu Actions'''
|
||||
|
||||
action = Gio.SimpleAction.new("new", None)
|
||||
action.connect("activate", self.on_new)
|
||||
self.add_action(action)
|
||||
|
||||
action = Gio.SimpleAction.new("open", None)
|
||||
action.connect("activate", self.on_open)
|
||||
self.add_action(action)
|
||||
|
||||
action = Gio.SimpleAction.new("open_recent", None)
|
||||
action.connect("activate", self.on_open_recent)
|
||||
self.add_action(action)
|
||||
|
||||
action = Gio.SimpleAction.new("open_examples", None)
|
||||
action.connect("activate", self.on_example)
|
||||
self.add_action(action)
|
||||
|
||||
action = Gio.SimpleAction.new("save", None)
|
||||
action.connect("activate", self.on_save)
|
||||
self.add_action(action)
|
||||
|
||||
action = Gio.SimpleAction.new("save_as", None)
|
||||
action.connect("activate", self.on_save_as)
|
||||
self.add_action(action)
|
||||
|
||||
action = Gio.SimpleAction.new("export", None)
|
||||
action.connect("activate", self.on_export)
|
||||
self.add_action(action)
|
||||
|
||||
action = Gio.SimpleAction.new("HTML_copy", None)
|
||||
action.connect("activate", self.on_html_copy)
|
||||
self.add_action(action)
|
||||
|
||||
builder = get_builder('App_menu')
|
||||
self.set_app_menu(builder.get_object("app-menu"))
|
||||
|
||||
|
@ -284,7 +318,31 @@ class Application(Gtk.Application):
|
|||
def on_spellcheck(self, action, value):
|
||||
action.set_state(value)
|
||||
self.window.toggle_spellcheck(value)
|
||||
|
||||
|
||||
def on_new(self, action, value):
|
||||
self.window.new_document()
|
||||
|
||||
def on_open(self, action, value):
|
||||
self.window.open_document()
|
||||
|
||||
def on_open_recent(self, action, value):
|
||||
pass
|
||||
|
||||
def on_example(self, action, value):
|
||||
self.window.open_uberwriter_markdown()
|
||||
|
||||
def on_save(self, action, value):
|
||||
self.window.save_document()
|
||||
|
||||
def on_save_as(self, action, value):
|
||||
self.window.save_document_as()
|
||||
|
||||
def on_export(self, action, value):
|
||||
self.window.open_advanced_export()
|
||||
|
||||
def on_html_copy(self, action, value):
|
||||
self.window.copy_html_to_clipboard()
|
||||
|
||||
def on_quit(self, action, param):
|
||||
self.quit()
|
||||
|
||||
|
|
Loading…
Reference in New Issue