mac: Add "double-clicked" event for Tray.
This commit is contained in:
parent
ec1db0c7bb
commit
67cbecaba0
6 changed files with 17 additions and 1 deletions
|
@ -36,6 +36,10 @@ void Tray::OnClicked() {
|
||||||
Emit("clicked");
|
Emit("clicked");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Tray::OnDoubleClicked() {
|
||||||
|
Emit("double-clicked");
|
||||||
|
}
|
||||||
|
|
||||||
void Tray::SetImage(const gfx::ImageSkia& image) {
|
void Tray::SetImage(const gfx::ImageSkia& image) {
|
||||||
tray_icon_->SetImage(image);
|
tray_icon_->SetImage(image);
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,6 +37,7 @@ class Tray : public mate::EventEmitter,
|
||||||
|
|
||||||
// TrayIcon implementations:
|
// TrayIcon implementations:
|
||||||
virtual void OnClicked() OVERRIDE;
|
virtual void OnClicked() OVERRIDE;
|
||||||
|
virtual void OnDoubleClicked() OVERRIDE;
|
||||||
|
|
||||||
void SetImage(const gfx::ImageSkia& image);
|
void SetImage(const gfx::ImageSkia& image);
|
||||||
void SetPressedImage(const gfx::ImageSkia& image);
|
void SetPressedImage(const gfx::ImageSkia& image);
|
||||||
|
|
|
@ -22,4 +22,8 @@ void TrayIcon::NotifyClicked() {
|
||||||
FOR_EACH_OBSERVER(TrayIconObserver, observers_, OnClicked());
|
FOR_EACH_OBSERVER(TrayIconObserver, observers_, OnClicked());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TrayIcon::NotifyDoubleClicked() {
|
||||||
|
FOR_EACH_OBSERVER(TrayIconObserver, observers_, OnDoubleClicked());
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace atom
|
} // namespace atom
|
||||||
|
|
|
@ -45,6 +45,7 @@ class TrayIcon {
|
||||||
void AddObserver(TrayIconObserver* obs) { observers_.AddObserver(obs); }
|
void AddObserver(TrayIconObserver* obs) { observers_.AddObserver(obs); }
|
||||||
void RemoveObserver(TrayIconObserver* obs) { observers_.RemoveObserver(obs); }
|
void RemoveObserver(TrayIconObserver* obs) { observers_.RemoveObserver(obs); }
|
||||||
void NotifyClicked();
|
void NotifyClicked();
|
||||||
|
void NotifyDoubleClicked();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
TrayIcon();
|
TrayIcon();
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
}
|
}
|
||||||
- (id)initWithIcon:(atom::TrayIconCocoa*)icon;
|
- (id)initWithIcon:(atom::TrayIconCocoa*)icon;
|
||||||
- (void)handleClick:(id)sender;
|
- (void)handleClick:(id)sender;
|
||||||
|
- (void)handleDoubleClick:(id)sender;
|
||||||
|
|
||||||
@end // @interface StatusItemController
|
@end // @interface StatusItemController
|
||||||
|
|
||||||
|
@ -24,10 +25,13 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)handleClick:(id)sender {
|
- (void)handleClick:(id)sender {
|
||||||
DCHECK(trayIcon_);
|
|
||||||
trayIcon_->NotifyClicked();
|
trayIcon_->NotifyClicked();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)handleDoubleClick:(id)sender {
|
||||||
|
trayIcon_->NotifyDoubleClicked();
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
namespace atom {
|
namespace atom {
|
||||||
|
@ -40,6 +44,7 @@ TrayIconCocoa::TrayIconCocoa() {
|
||||||
[item_ setEnabled:YES];
|
[item_ setEnabled:YES];
|
||||||
[item_ setTarget:controller_];
|
[item_ setTarget:controller_];
|
||||||
[item_ setAction:@selector(handleClick:)];
|
[item_ setAction:@selector(handleClick:)];
|
||||||
|
[item_ setDoubleAction:@selector(handleDoubleClick:)];
|
||||||
[item_ setHighlightMode:YES];
|
[item_ setHighlightMode:YES];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,7 @@ namespace atom {
|
||||||
class TrayIconObserver {
|
class TrayIconObserver {
|
||||||
public:
|
public:
|
||||||
virtual void OnClicked() {}
|
virtual void OnClicked() {}
|
||||||
|
virtual void OnDoubleClicked() {}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual ~TrayIconObserver() {}
|
virtual ~TrayIconObserver() {}
|
||||||
|
|
Loading…
Reference in a new issue