From 8e45b8d3daf5d23dcfd41120177f6da300c8fd5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Genov=C3=A9s?= Date: Tue, 28 Jan 2020 22:44:41 +0100 Subject: [PATCH] Start redesign of the headerbar Added (non functional) export and preview layout switcher popovers --- data/uberwriter.gresource.xml | 4 + data/ui/Headerbar.ui | 443 ++++++++++++++++++++++++++++++++-- uberwriter/headerbars.py | 6 + uberwriter/main_window.py | 6 + 4 files changed, 445 insertions(+), 14 deletions(-) diff --git a/data/uberwriter.gresource.xml b/data/uberwriter.gresource.xml index c85d3be..62f1d65 100644 --- a/data/uberwriter.gresource.xml +++ b/data/uberwriter.gresource.xml @@ -1,6 +1,10 @@ + media/icons/preview-layout-full-width-symbolic.svg + media/icons/preview-layout-half-width-symbolic.svg + media/icons/preview-layout-windowed-symbolic.svg + media/icons/preview-layout-half-height-symbolic.svg media/css/gtk/base.css ui/Export.ui ui/Menu.ui diff --git a/data/ui/Headerbar.ui b/data/ui/Headerbar.ui index ce65cd8..0e8cc2b 100644 --- a/data/ui/Headerbar.ui +++ b/data/ui/Headerbar.ui @@ -7,6 +7,316 @@ False view-restore-symbolic + + False + + + True + False + 6 + 18 + 12 + 12 + vertical + + + True + True + True + app.save_as + Save as... + + + False + True + 0 + + + + + True + False + + + False + True + 1 + + + + + True + True + True + Pdf + + + False + True + 2 + + + + + True + True + True + Html + + + False + True + 3 + + + + + True + True + True + ODT + + + False + True + 4 + + + + + True + True + True + Advanced + + + False + True + 5 + + + + + + + True + False + document-new-symbolic + + + True + False + view-dual-symbolic + + + False + + + True + False + vertical + + + True + False + 6 + 6 + 6 + 6 + 0 + in + + + True + False + + + True + False + + + True + False + 10 + + + True + False + 32 + preview-layout-full-width-symbolic + + + False + True + 0 + + + + + True + False + start + 6 + Full-Width + + + True + True + 1 + + + + + + + + + True + False + + + True + False + 10 + + + True + False + 32 + preview-layout-half-width-symbolic + + + False + True + 0 + + + + + True + False + start + 6 + Half-Width + + + True + True + 1 + + + + + + + + + True + True + + + True + False + 10 + + + True + False + 32 + preview-layout-half-height-symbolic + + + False + True + 0 + + + + + True + False + start + Half-Height + + + True + True + 1 + + + + + + + + + True + True + + + True + False + 10 + + + True + False + 32 + preview-layout-windowed-symbolic + + + False + True + 0 + + + + + True + False + start + Windowed + + + True + True + 1 + + + + + + + + + + + + + + False + True + 0 + + + + + Sync views + True + True + False + 4 + True + + + False + True + 1 + + + + + True False @@ -24,13 +334,14 @@ True False + 7 - New True True True app.new + new_icon @@ -76,6 +387,48 @@ 1 + + + True + False + + + Save + True + True + True + app.save + + + False + True + 0 + + + + + True + True + True + export_menu + + + + + + False + True + 1 + + + + + + 2 + + True @@ -108,6 +461,81 @@ 2 + + + True + False + 2 + + + True + True + True + app.preview + preview_icon + + + False + True + 0 + + + + + True + False + slide-right + + + True + True + True + preview_switcher + + + True + False + + + True + False + gtk-copy + + + False + True + 0 + + + + + True + False + pan-down-symbolic + + + False + True + 1 + + + + + + + + + False + True + 1 + + + + + end + 3 + + True @@ -118,19 +546,6 @@ search_icon True - - end - 3 - - - - - Save - True - True - True - app.save - end 4 diff --git a/uberwriter/headerbars.py b/uberwriter/headerbars.py index f0203f3..102b44a 100644 --- a/uberwriter/headerbars.py +++ b/uberwriter/headerbars.py @@ -35,9 +35,15 @@ class BaseHeaderbar: self.hb = self.builder.get_object("Headerbar") self.hb_revealer = self.builder.get_object("titlebar_revealer") + self.preview_toggle_revealer = self.builder.get_object("preview_switch_revealer") + self.menu_button = self.builder.get_object("menu_button") self.recents_button = self.builder.get_object("recents_button") + def set_preview_layout_icon(self, icon): + + self.preview_switcher_icon = self.builder.get_object("preview_switch_toggle_icon") + class MainHeaderbar(BaseHeaderbar): # pylint: disable=too-few-public-methods """Sets up the main application headerbar diff --git a/uberwriter/main_window.py b/uberwriter/main_window.py index f47d843..6db1653 100644 --- a/uberwriter/main_window.py +++ b/uberwriter/main_window.py @@ -242,9 +242,15 @@ class MainWindow(StyledWindow): if state.get_boolean(): self.text_view.grab_focus() self.preview_handler.show() + self.headerbar.preview_toggle_revealer.set_reveal_child(True) + self.fs_headerbar.preview_toggle_revealer.set_reveal_child(True) + self.dm_headerbar.preview_toggle_revealer.set_reveal_child(True) else: self.preview_handler.hide() self.text_view.grab_focus() + self.headerbar.preview_toggle_revealer.set_reveal_child(False) + self.fs_headerbar.preview_toggle_revealer.set_reveal_child(False) + self.dm_headerbar.preview_toggle_revealer.set_reveal_child(False) return True