From e09179d504540d14f465ba94d61f53fd37d77005 Mon Sep 17 00:00:00 2001 From: ab5tract Date: Wed, 15 Jul 2020 15:36:12 +0200 Subject: [PATCH 1/2] Starting down a road --- res/help-overlay.ui | 10 ++++++++-- src/showdown.vala | 2 +- src/window.vala | 9 +++++++++ 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/res/help-overlay.ui b/res/help-overlay.ui index 6bd14ff..62afaad 100644 --- a/res/help-overlay.ui +++ b/res/help-overlay.ui @@ -4,9 +4,8 @@ - 8 + 12 True - Application @@ -46,6 +45,13 @@ True + + + Help + F1 + True + + Menu diff --git a/src/showdown.vala b/src/showdown.vala index b2cc384..03b84e0 100644 --- a/src/showdown.vala +++ b/src/showdown.vala @@ -22,7 +22,7 @@ class Showdown.Application: Gtk.Application { {"win.zoom_in", "plus", "equal"}, {"win.zoom_out", "minus", "dstroke"}, {"win.zoom_reset", "0"}, - {"win.show-help-overlay", "F1"}, + {"win.toggle_help_view", "F1"}, }; static string? wflag = null; diff --git a/src/window.vala b/src/window.vala index b258938..d81c962 100644 --- a/src/window.vala +++ b/src/window.vala @@ -5,6 +5,7 @@ class Showdown.Window: Gtk.ApplicationWindow { [GtkChild] Gtk.MenuButton menu_button; [GtkChild] Gtk.SearchBar search_bar; [GtkChild] Gtk.Grid grid; + MarkdownView mdview; const ActionEntry[] actions = { @@ -14,6 +15,7 @@ class Showdown.Window: Gtk.ApplicationWindow { {"print", print}, {"toggle_searchbar", toggle_searchbar}, {"toggle_headerbar", toggle_headerbar}, + {"toggle_help_view", toggle_help_view}, {"zoom_in", zoom_in}, {"zoom_out", zoom_out}, {"zoom_reset", zoom_reset}, @@ -55,6 +57,13 @@ class Showdown.Window: Gtk.ApplicationWindow { header.visible = !header.visible; } + void toggle_help_view() { + //var help_view = get_help_overlay; + help_overlay.decorated = app.default_headerbar_visibility; + help_view.window_position = CENTER_ON_PARENT; + help_view.visible = !help_overlay.visible; + } + void zoom_in() { mdview.zoom_level += 0.1; } -- GitLab From 258a7d856f41c32375102051e00368338626e464 Mon Sep 17 00:00:00 2001 From: ab5tract Date: Wed, 15 Jul 2020 18:48:15 +0200 Subject: [PATCH 2/2] A non-functional attempt --- mk/build.mk | 1 + res/help-overlay.ui | 2 +- src/help.vala | 10 ++++++++++ src/window.vala | 10 +++++----- 4 files changed, 17 insertions(+), 6 deletions(-) create mode 100644 src/help.vala diff --git a/mk/build.mk b/mk/build.mk index b4cc39a..f7387ae 100644 --- a/mk/build.mk +++ b/mk/build.mk @@ -21,6 +21,7 @@ VALAFILES = \ src/showdown.vala \ src/window.vala \ src/view.vala \ + src/help.vala \ build/version.vala RESOURCES = $(addprefix res/, \ diff --git a/res/help-overlay.ui b/res/help-overlay.ui index 62afaad..2ab5ede 100644 --- a/res/help-overlay.ui +++ b/res/help-overlay.ui @@ -1,7 +1,7 @@ - + 12 diff --git a/src/help.vala b/src/help.vala new file mode 100644 index 0000000..f4b7dc7 --- /dev/null +++ b/src/help.vala @@ -0,0 +1,10 @@ +class Showdown.ShortcutsWindow: Gtk.ShortcutsWindow { + Showdown.Window parent_window; + + public ShortcutsWindow(Showdown.Window window) { + parent_window = window; + decorated = window.default_headerbar_visibility; + visible = false; + window_position = Gtk.WindowPosition.CENTER_ON_PARENT; + } +} diff --git a/src/window.vala b/src/window.vala index d81c962..897f312 100644 --- a/src/window.vala +++ b/src/window.vala @@ -7,6 +7,7 @@ class Showdown.Window: Gtk.ApplicationWindow { [GtkChild] Gtk.Grid grid; MarkdownView mdview; + Showdown.ShortcutsWindow help_view; const ActionEntry[] actions = { {"open", open}, @@ -30,13 +31,15 @@ class Showdown.Window: Gtk.ApplicationWindow { public Window(Gtk.Application application) { Object(application: application); add_action_entries(actions, this); - header.visible = app.default_headerbar_visibility; + default_headerbar_visibility = header.visible = app.default_headerbar_visibility; menu_button.menu_model = application.get_menu_by_id("header-menu"); mdview = new Showdown.MarkdownView(this); grid.add(mdview); show(); } + public bool default_headerbar_visibility { get; set; } + [GtkCallback] void search_entry_changed(Gtk.SearchEntry entry) { const WebKit.FindOptions WRAP = WebKit.FindOptions.WRAP_AROUND; @@ -58,10 +61,7 @@ class Showdown.Window: Gtk.ApplicationWindow { } void toggle_help_view() { - //var help_view = get_help_overlay; - help_overlay.decorated = app.default_headerbar_visibility; - help_view.window_position = CENTER_ON_PARENT; - help_view.visible = !help_overlay.visible; + help_view.visible = !help_view.visible; } void zoom_in() { -- GitLab