summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkotontrion <[email protected]>2024-08-23 10:52:40 +0200
committerkotontrion <[email protected]>2024-09-02 09:36:06 +0200
commitd248645888c88eaf28ef334264bf4e41a06f6b4d (patch)
treeebb52cea020114d067b5e99f1f3ef5323492a057
parent8da6a2174296bc1b78c6dde13f6bca46e67e156a (diff)
fixes circular progress widgets
-rw-r--r--core/gjs/src/jsx/jsx-runtime.ts4
-rw-r--r--core/gjs/src/widgets.ts6
-rw-r--r--core/lua/astal/widget.lua2
-rw-r--r--core/meson.build2
-rw-r--r--core/src/meson.build8
-rw-r--r--core/src/widget/circularprogress.vala13
6 files changed, 19 insertions, 16 deletions
diff --git a/core/gjs/src/jsx/jsx-runtime.ts b/core/gjs/src/jsx/jsx-runtime.ts
index 70f098f..02fd39d 100644
--- a/core/gjs/src/jsx/jsx-runtime.ts
+++ b/core/gjs/src/jsx/jsx-runtime.ts
@@ -35,7 +35,7 @@ const ctors = {
box: Widget.Box,
button: Widget.Button,
centerbox: Widget.CenterBox,
- // TODO: circularprogress
+ circularprogress: Widget.CircularProgress,
drawingarea: Widget.DrawingArea,
entry: Widget.Entry,
eventbox: Widget.EventBox,
@@ -63,7 +63,7 @@ declare global {
box: Widget.BoxProps
button: Widget.ButtonProps
centerbox: Widget.CenterBoxProps
- // TODO: circularprogress
+ circularprogress: Widget.CircularProgressProps,
drawingarea: Widget.DrawingAreaProps
entry: Widget.EntryProps
eventbox: Widget.EventBoxProps
diff --git a/core/gjs/src/widgets.ts b/core/gjs/src/widgets.ts
index 82d4708..0a71d8b 100644
--- a/core/gjs/src/widgets.ts
+++ b/core/gjs/src/widgets.ts
@@ -26,7 +26,11 @@ export type CenterBox = Widget<Astal.CenterBox>
export const CenterBox = astalify<typeof Astal.CenterBox, CenterBoxProps, "CenterBox">(Astal.CenterBox)
export type CenterBoxProps = ConstructProps<Astal.CenterBox, Astal.CenterBox.ConstructorProps>
-// TODO: CircularProgress
+// CircularProgress
+export type CircularProgress = Widget<Astal.CircularProgress>
+export const CircularProgress = astalify<typeof Astal.CircularProgress, CircularProgressProps, "CircularProgress">(Astal.CircularProgress)
+export type CircularProgressProps = ConstructProps<Astal.CircularProgress, Astal.CircularProgress.ConstructorProps>
+
// DrawingArea
export type DrawingArea = Widget<Gtk.DrawingArea>
diff --git a/core/lua/astal/widget.lua b/core/lua/astal/widget.lua
index d2dadc6..e2bd612 100644
--- a/core/lua/astal/widget.lua
+++ b/core/lua/astal/widget.lua
@@ -209,7 +209,7 @@ local Widget = {
Box = astalify(Astal.Box),
Button = astalify(Astal.Button),
CenterBox = astalify(Astal.CenterBox),
- -- TODO: CircularProgress
+ CircularProgress = astalify(Astal.CircularProgress),
DrawingArea = astalify(Gtk.DrawingArea),
Entry = astalify(Gtk.Entry),
EventBox = astalify(Astal.EventBox),
diff --git a/core/meson.build b/core/meson.build
index 4020a81..12b4f1d 100644
--- a/core/meson.build
+++ b/core/meson.build
@@ -15,8 +15,6 @@ prefix = get_option('prefix')
libdir = get_option('prefix') / get_option('libdir')
pkgdatadir = prefix / get_option('datadir') / 'astal'
-# math
-add_project_arguments(['-X', '-lm'], language: 'vala')
assert(
get_option('lib') or get_option('cli'),
diff --git a/core/src/meson.build b/core/src/meson.build
index 3e28d16..ade182e 100644
--- a/core/src/meson.build
+++ b/core/src/meson.build
@@ -14,7 +14,7 @@ config = configure_file(
},
)
-deps = [
+pkgconfig_deps = [
dependency('glib-2.0'),
dependency('gio-unix-2.0'),
dependency('gobject-2.0'),
@@ -24,12 +24,14 @@ deps = [
dependency('gtk-layer-shell-0'),
]
+deps = pkgconfig_deps + meson.get_compiler('c').find_library('m')
+
sources = [
config,
'widget/box.vala',
'widget/button.vala',
'widget/centerbox.vala',
- # 'widget/circularprogress.vala', # TODO: math lib -X -lm
+ 'widget/circularprogress.vala',
'widget/eventbox.vala',
'widget/icon.vala',
'widget/label.vala',
@@ -65,7 +67,7 @@ if get_option('lib')
filebase: meson.project_name() + '-' + api_version,
version: meson.project_version(),
subdirs: meson.project_name(),
- requires: deps,
+ requires: pkgconfig_deps,
install_dir: libdir / 'pkgconfig',
variables: {
'gjs': pkgdatadir / 'gjs',
diff --git a/core/src/widget/circularprogress.vala b/core/src/widget/circularprogress.vala
index 9cd3e26..a142780 100644
--- a/core/src/widget/circularprogress.vala
+++ b/core/src/widget/circularprogress.vala
@@ -1,6 +1,5 @@
namespace Astal {
public class CircularProgress : Gtk.Bin {
- public new Gtk.Widget child { get; set; }
public double start_at { get; set; }
public double end_at { get; set; }
public double value { get; set; }
@@ -20,7 +19,7 @@ public class CircularProgress : Gtk.Bin {
set_css_name("circular-progress");
}
- public new void get_preferred_height(out int minh, out int nath) {
+ public override void get_preferred_height(out int minh, out int nath) {
var val = get_style_context().get_property("min-height", Gtk.StateFlags.NORMAL);
if (val.get_int() <= 0) {
minh = 40;
@@ -31,7 +30,7 @@ public class CircularProgress : Gtk.Bin {
nath = val.get_int();
}
- public new void get_preferred_width(out int minw, out int natw) {
+ public override void get_preferred_width(out int minw, out int natw) {
var val = get_style_context().get_property("min-width", Gtk.StateFlags.NORMAL);
if (val.get_int() <= 0) {
minw = 40;
@@ -89,7 +88,7 @@ public class CircularProgress : Gtk.Bin {
return max;
}
- public new bool draw(Cairo.Context cr) {
+ public override bool draw(Cairo.Context cr) {
Gtk.Allocation allocation;
get_allocation(out allocation);
@@ -162,9 +161,9 @@ public class CircularProgress : Gtk.Bin {
cr.fill();
}
- if (this.child != null) {
- this.child.size_allocate(allocation);
- this.propagate_draw(this.child, cr);
+ if (this.get_child() != null) {
+ this.get_child().size_allocate(allocation);
+ this.propagate_draw(this.get_child(), cr);
}
return true;