Add IsSwipeTrackingFromScrollEventsEnabled in system prefs

This commit is contained in:
Anthony Tseng 2016-08-03 10:27:56 +08:00
parent beca2d26f3
commit e0c0e3e5f7
7 changed files with 17 additions and 18 deletions

View file

@ -58,6 +58,8 @@ void SystemPreferences::BuildPrototype(
.SetMethod("unsubscribeLocalNotification",
&SystemPreferences::UnsubscribeLocalNotification)
.SetMethod("getUserDefault", &SystemPreferences::GetUserDefault)
.SetMethod("isSwipeTrackingFromScrollEventsEnabled",
&SystemPreferences::IsSwipeTrackingFromScrollEventsEnabled)
#endif
.SetMethod("isDarkMode", &SystemPreferences::IsDarkMode);
}

View file

@ -40,6 +40,10 @@ class SystemPreferences : public mate::EventEmitter<SystemPreferences> {
void UnsubscribeLocalNotification(int request_id);
v8::Local<v8::Value> GetUserDefault(const std::string& name,
const std::string& type);
// On 10.7+, back and forward swipe gestures can be triggered using a scroll
// gesture, if enabled in System Preferences. This function returns true if
// the feature is supported and enabled, and false otherwise.
bool IsSwipeTrackingFromScrollEventsEnabled();
#endif
bool IsDarkMode();

View file

@ -11,6 +11,7 @@
#include "atom/browser/mac/dict_util.h"
#include "atom/common/native_mate_converters/value_converter.h"
#include "atom/common/native_mate_converters/gurl_converter.h"
#import "base/mac/sdk_forward_declarations.h"
#include "base/strings/sys_string_conversions.h"
#include "base/values.h"
#include "net/base/mac/url_conversions.h"
@ -122,6 +123,12 @@ bool SystemPreferences::IsDarkMode() {
return [mode isEqualToString:@"Dark"];
}
bool SystemPreferences::IsSwipeTrackingFromScrollEventsEnabled() {
SEL selector = @selector(isSwipeTrackingFromScrollEventsEnabled);
return [NSEvent respondsToSelector:selector]
&& [NSEvent performSelector:selector];
}
} // namespace api
} // namespace atom