Commit graph

544 commits

Author SHA1 Message Date
Joshua Megnauth
46cbce033b
fix(header_bar): Windows build fix 2025-06-26 06:36:52 +02:00
Ashley Wulber
7fb514bfac fix(menu): only draw within intersection of viewport bounds 2025-06-25 19:37:52 -04:00
Ashley Wulber
5be9611c8a fix(segmented-button): context menu state management 2025-06-19 08:02:54 -06:00
Ashley Wulber
6be5403852 improv(header): remove title if condensed and better handle large fixed size elements 2025-06-18 18:02:21 -04:00
Ashley Wulber
b0f62a5109 improv: use full root menu width when using wayland popups 2025-06-18 16:04:44 -04:00
Ashley Wulber
bf9fc4c29f fix(menu): disable slide_x for repositioned nested popups 2025-06-18 16:04:44 -04:00
Ashley Wulber
7d7274b801 fix(header-bar): allocate space that accounts for window controls 2025-06-18 09:10:37 +02:00
Ashley Wulber
00ba16fe01 refactor(menu): fallback behavior for non wayland windowing system 2025-06-12 10:21:45 -06:00
Ashley Wulber
ba72aed6fb feat: context menu popups 2025-06-11 16:46:31 -04:00
Ashley Wulber
4c6061d40a fix(menu inner): avoid unnecessary panic in debug builds. 2025-06-11 12:15:12 -04:00
Michael Aaron Murphy
3f4a50ee2c
chore: remove eprintln logs 2025-06-11 11:49:32 +02:00
Michael Aaron Murphy
f835afa59c
fix(segmented_button): unfocus when clicking out of bounds 2025-06-11 09:26:18 +02:00
Ashley Wulber
96416c2a3f fix(button): return from draw if there is no content layout 2025-06-10 18:57:06 -04:00
Ashley Wulber
7f2d34ead4 fix(menu-bar): exit early from popup creation if no root is hovered 2025-06-10 18:57:06 -04:00
Ashley Wulber
92ec78ba29
feat: menu bar popups 2025-06-10 18:22:07 +02:00
Eduardo Flores
5b77f37fde feat: allow dialog resize 2025-06-02 04:17:57 +02:00
Soso
a55ed23ba8
improv!(dropdown): accept impl Into<Cow<'_, str> (#881) 2025-05-26 22:53:35 +02:00
Ashley Wulber
1fce5df160 refactor: add optional parameter for layout offset and bounds for button handlers
Buttons are often used for toggling popups, so something allowing more straightforward positioning is important.
2025-05-23 19:19:42 +02:00
Ashley Wulber
ce56237ab9 fix(dnd): leave event handlers should expect None as the drag Id 2025-05-22 17:18:56 +02:00
Vukašin Vojinović
a46483f161 fix(header_bar): add is_ssd field 2025-05-19 19:07:25 +02:00
Vukašin Vojinović
147fc5a2a4 improv(header_bar): reduce chance of end elements being pushed out 2025-05-19 19:07:25 +02:00
Ashley Wulber
2a1af3a24f
chore: update iced 2025-05-19 19:06:09 +02:00
UchiWerfer
b7aed0e4d6
feat(calendar): add first day of week parameter 2025-05-16 17:02:16 +02:00
Mia McMahill
d4a87bd394
fix: embed spin button and warning icons on non-linux systems 2025-05-16 17:00:35 +02:00
Ashley Wulber
c8c650c041 fix: text input RTL panic
RTL text will want to alight to the right, and will try to use all of an unbounded width in the input. It also tends to be offset in a negative direction.
2025-05-06 14:21:19 -04:00
Ashley Wulber
8fa4b1cae2 fix: card style 2025-04-30 21:36:41 +02:00
Michael Aaron Murphy
7aadfe6ba6
improv(context-drawer): import definitions and add map method 2025-04-21 18:12:41 +02:00
Ashley Wulber
1abd6d7578 refactor(responsive menu): define a custom width for the collapsed menu
This can be much smaller than a regular menu to save space
2025-04-16 11:21:36 -04:00
Ashley Wulber
bbcd874d9c refactor: responsive headers should allow some options 2025-04-15 17:02:32 -04:00
Vadim Khitrin
c2a7d63060 fix: Calculate Icons For Header Bar Individually
Based on the existing non Linux macro, we are required to calculate
icons individually.
2025-04-14 14:16:00 +02:00
Johann Tuffe
67df54f383
perf(table): sort optimizations 2025-04-11 18:19:43 +02:00
Ashley Wulber
924a9ff371 fix(input): don't ignore typing for managed inputs 2025-04-11 18:18:37 +02:00
Dryadxon
0ddde755ee fix(about): use fde::IconSource following commit 9b9600a5d6 2025-04-07 14:33:01 -06:00
Vukašin Vojinović
dd1b16a353 feat(scrollable): add helper for horizontal scrollables
Adds a helper function to get horizontal scrollables with COSMIC styling.
2025-04-04 18:34:55 +02:00
Vukašin Vojinović
1509163230 fix(app): match padding to designs
Also makes the maximize button change to restore when the window is maximized.
2025-04-04 18:34:55 +02:00
Vukašin Vojinović
1486569481 chore: use theme::spacing() where applicable 2025-04-02 00:33:21 +02:00
Vukašin Vojinović
227f7a76b1 fix(about): match section spacing to designs
Also makes the buttons use the `Button::Link` class.
2025-04-02 00:33:21 +02:00
Michael Aaron Murphy
f16bc4a764
fix(text_input): Backspace key ignored 2025-03-27 16:38:28 +01:00
Michael Aaron Murphy
0eb86850ce fix(text_input): support numpad keys 2025-03-27 16:33:23 +01:00
Michael Aaron Murphy
c0b0b817e8 fix(text_input): send on_unfocus message where they were missing 2025-03-26 16:42:50 +01:00
Michael Aaron Murphy
8bce57ed83 chore(table): format code 2025-03-26 16:42:50 +01:00
Michael Aaron Murphy
61c0fc7543 fix(popover): modal popover handling broken 2025-03-26 16:42:50 +01:00
Adam Cosner
2753941aad
feat(widget): add table widget 2025-03-24 17:48:20 +01:00
Michael Aaron Murphy
c955c8400f
fix(segmented_button): fix widget focus not being applied on click 2025-03-24 04:36:53 +01:00
Michael Aaron Murphy
d011be6feb
fix(button): unfocus on click to prevent multiple focused buttons 2025-03-24 04:27:41 +01:00
Michael Aaron Murphy
ae5bb40d6e
fix(text_input): conflicts with keyboard focus navigation 2025-03-24 03:37:14 +01:00
Ashley Wulber
cb682be3c8
fix(applet): fixes for recent updates 2025-03-21 17:23:46 +01:00
Michael Aaron Murphy
0aa518984e
chore: format for 2024 edition 2025-03-21 13:33:07 +01:00
Michael Aaron Murphy
8cf372c9b9
perf: inline public getters/setters, and use non-generic inner functions
To reduce compile-times and avoid some overhead to binary size, this will modify some of our
generic functions to use non-generic inner functions where possible. The inner functions are
marked carefully with `#[inline(never)]` to prevent being inlined by LLVM at their callsites

While looking for generic functions to optimize, I have also taken the opportunity to annotate
public non-generic getters and setters with `#[inline]` to ensure that LLVM will inline them
across crate boundaries. By default, only generic functions are automatically inlined, and
only when enabling fat LTO are constant functions reliably inlined across crate boundaries.
2025-03-21 13:31:34 +01:00
Michael Aaron Murphy
c538d672df
improv(text_input): optimize, fix, and improve the text inputs 2025-03-21 13:21:57 +01:00