diff options
author | kotontrion <[email protected]> | 2024-08-23 10:52:40 +0200 |
---|---|---|
committer | kotontrion <[email protected]> | 2024-09-02 09:36:06 +0200 |
commit | d248645888c88eaf28ef334264bf4e41a06f6b4d (patch) | |
tree | ebb52cea020114d067b5e99f1f3ef5323492a057 | |
parent | 8da6a2174296bc1b78c6dde13f6bca46e67e156a (diff) |
fixes circular progress widgets
-rw-r--r-- | core/gjs/src/jsx/jsx-runtime.ts | 4 | ||||
-rw-r--r-- | core/gjs/src/widgets.ts | 6 | ||||
-rw-r--r-- | core/lua/astal/widget.lua | 2 | ||||
-rw-r--r-- | core/meson.build | 2 | ||||
-rw-r--r-- | core/src/meson.build | 8 | ||||
-rw-r--r-- | core/src/widget/circularprogress.vala | 13 |
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; |