Skip to content

Commit 83059f9

Browse files
committed
Use better pattern
1 parent 2ceccbb commit 83059f9

File tree

3 files changed

+11
-16
lines changed

3 files changed

+11
-16
lines changed

lib/CloseButton.vala

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,7 @@ public class Gala.CloseButton : Clutter.Actor {
99

1010
public signal void triggered (uint32 timestamp);
1111

12-
private float _monitor_scale = 1.0f;
13-
public float monitor_scale {
14-
get {
15-
return _monitor_scale;
16-
}
17-
set {
18-
_monitor_scale = value;
19-
20-
load_pixbuf ();
21-
}
22-
}
12+
public float monitor_scale { get; construct set; }
2313

2414
// used to avoid changing hitbox of the button
2515
private Clutter.Actor pixbuf_actor;
@@ -29,6 +19,10 @@ public class Gala.CloseButton : Clutter.Actor {
2919
close_pixbufs = new Gee.HashMap<int, Gdk.Pixbuf?> ();
3020
}
3121

22+
public CloseButton (float monitor_scale) {
23+
Object (monitor_scale: monitor_scale);
24+
}
25+
3226
construct {
3327
reactive = true;
3428

@@ -38,6 +32,7 @@ public class Gala.CloseButton : Clutter.Actor {
3832
add_child (pixbuf_actor);
3933

4034
load_pixbuf ();
35+
notify["monitor-scale"].connect (load_pixbuf);
4136
}
4237

4338
private void load_pixbuf () {
@@ -53,7 +48,7 @@ public class Gala.CloseButton : Clutter.Actor {
5348
}
5449

5550
private static Gdk.Pixbuf? get_close_button_pixbuf (float monitor_scale) {
56-
var height = Utils.calculate_button_size (scale);
51+
var height = Utils.calculate_button_size (monitor_scale);
5752

5853
if (close_pixbufs[height] == null) {
5954
try {
@@ -78,7 +73,7 @@ public class Gala.CloseButton : Clutter.Actor {
7873
// works as good as some weird fallback-image-failed-to-load pixbuf
7974
critical ("Could not create close button");
8075

81-
var size = Utils.calculate_button_size (scale);
76+
var size = Utils.calculate_button_size (monitor_scale);
8277
pixbuf_actor.set_size (size, size);
8378
pixbuf_actor.background_color = { 255, 0, 0, 255 };
8479
}

plugins/pip/PopupWindow.vala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ public class Gala.Plugins.PIP.PopupWindow : Clutter.Actor {
9797

9898
set_position (x_position, y_position);
9999

100-
close_button = new Gala.CloseButton () {
100+
close_button = new Gala.CloseButton (scale) {
101101
opacity = 0
102102
};
103103
// TODO: Check if close button should be on the right

src/Widgets/MultitaskingView/WindowClone.vala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,10 +136,10 @@ public class Gala.WindowClone : ActorTarget, RootTarget {
136136

137137
window_title = new Tooltip ();
138138

139-
close_button = new Gala.CloseButton () {
139+
close_button = new Gala.CloseButton (monitor_scale) {
140140
opacity = 0
141141
};
142-
bind_property ("monitor-scale", close_button, "monitor-scale", SYNC_CREATE);
142+
bind_property ("monitor-scale", close_button, "monitor-scale");
143143
close_button.triggered.connect (close_window);
144144
close_button.notify["has-pointer"].connect (() => update_hover_widgets ());
145145

0 commit comments

Comments
 (0)