From ae632193c0ba4c81b38dedd1a94bf53bf2d88214 Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Tue, 6 Feb 2018 08:21:53 -0500 Subject: [PATCH] migrate to virtual void and start mac impl --- atom/browser/api/atom_api_window.cc | 3 +-- atom/browser/native_window.h | 1 + atom/browser/native_window_mac.mm | 8 ++++++++ atom/browser/native_window_views.h | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/atom/browser/api/atom_api_window.cc b/atom/browser/api/atom_api_window.cc index 7195abfdda7..2158592ff2f 100644 --- a/atom/browser/api/atom_api_window.cc +++ b/atom/browser/api/atom_api_window.cc @@ -391,8 +391,7 @@ bool Window::IsEnabled() { } void Window::SetEnabled(bool enable) { - auto window = static_cast(window_.get()); - window->SetEnabled(enable); + window_->SetEnabled(enable); } void Window::Maximize() { diff --git a/atom/browser/native_window.h b/atom/browser/native_window.h index e63d0e3be91..d1cfa7cc352 100644 --- a/atom/browser/native_window.h +++ b/atom/browser/native_window.h @@ -80,6 +80,7 @@ class NativeWindow : public base::SupportsUserData, virtual void Hide() = 0; virtual bool IsVisible() = 0; virtual bool IsEnabled() = 0; + virtual void SetEnabled(bool enable) = 0; virtual void Maximize() = 0; virtual void Unmaximize() = 0; virtual bool IsMaximized() = 0; diff --git a/atom/browser/native_window_mac.mm b/atom/browser/native_window_mac.mm index e973a51c4fc..f50fd605fb0 100644 --- a/atom/browser/native_window_mac.mm +++ b/atom/browser/native_window_mac.mm @@ -1135,6 +1135,14 @@ bool NativeWindowMac::IsEnabled() { return [window_ attachedSheet] == nil; } +void NativeWindowMac::SetEnabled(bool enable) { + if (enable == false){ + [window_ attachedSheet] = nil; + } else { + [window_ beginSheet:window_]; + } +} + void NativeWindowMac::Maximize() { if (IsMaximized()) return; diff --git a/atom/browser/native_window_views.h b/atom/browser/native_window_views.h index f08603d1234..2d24b50deff 100644 --- a/atom/browser/native_window_views.h +++ b/atom/browser/native_window_views.h @@ -132,7 +132,7 @@ class NativeWindowViews : public NativeWindow, void SetIcon(const gfx::ImageSkia& icon); #endif - void SetEnabled(bool enable); + void SetEnabled(bool enable) override; views::Widget* widget() const { return window_.get(); }