Commit graph

39 commits

Author SHA1 Message Date
84437e219b yoda: libcosmic-yoda dead-code purge (14→0 warnings)
Real bug fixes:
- spin_button::vertical(): was constructing the SpinButton with
  Orientation::Horizontal — vertical() rendered horizontally. Fixed
  to use Orientation::Vertical, which also resolves the
  'Vertical never constructed' warning.
- text_input/input.rs: rewrite the iterator-skip logic for trailing
  icon layout. The previous `let mut icon_layout = ...; if has_start
  ... = ...; ... = ...;` triggered two value-never-read warnings and
  obscured the intent. Now it reads as 'skip text, optionally skip
  start-icon, then take the trailing-icon layout'.

Dead code removed:
- core::Core::portal_is_high_contrast — assigned at construction,
  never read anywhere
- widget::menu::menu_bar::bar_pressed field and the
  pub fn get_mut_or_default helper — no callers
- widget::popover::State — declared, never constructed
- widget::segmented_button::widget::Focus.now — sibling of updated_at,
  never read
- widget::wayland::tooltip::widget::Variant — orphan enum (and the
  cargo fix follow-up dropped a now-unused Element import)
- widget::button::widget::Button::is_hovered method — trivial getter
  with no callers; the underlying `is_hovered` field is still used

Visibility / nits:
- segmented_button::widget::TabDragSource: gain pub(super) so the
  pub(super) field tab_drag stops exposing a more private type
- widget::menu::flex::resolve: #[allow(dead_code)] (170-line public
  helper, kept for future use)
- app/cosmic.rs: drop one unreachable arm in the surface-message match
- widget::dropdown::multi: drop unused Paragraph import

Leyoda 2026 – GPLv3
2026-05-05 19:02:31 +02:00
cdf349385b yoda: cargo fix --lib (libcosmic-yoda) — drop 99 trivial warnings
Auto-applied suggestions on libcosmic-yoda lib only: unused imports,
unused-by-name params (prefixed with _), redundant mutability. From 113
warnings down to 14 (the 14 remaining are real signals: never-read
fields, unreachable patterns, etc., to be reviewed manually).

Leyoda 2026 – GPLv3
2026-05-05 16:27:29 +02:00
Hojjat
24464908f6 fix: buttons are focusable again 2026-04-03 02:28:00 +02:00
Ashley Wulber
e8d53b14ea chore: various fixes and some cleanup 2026-03-04 12:04:32 -05:00
Ashley Wulber
e10459fb37 wip rebase updates 2026-03-04 12:04:32 -05:00
Cheong Lau
a27bb5e05d chore: apply clippy suggestions 2025-10-05 04:40:51 +02:00
Michael Aaron Murphy
8412dd5939
fix(image_button): improve rendering of selected image buttons 2025-08-13 21:39:29 +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
92ec78ba29
feat: menu bar popups 2025-06-10 18:22:07 +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
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
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
Ashley Wulber
a3525ef56e refactor: track virtual offset in the layout 2025-03-21 03:45:30 +01:00
Ashley Wulber
337b80d4ca
feat: Tooltips and Better Surface Management 2025-03-14 16:56:21 +01:00
Ashley Wulber
795654610a fix: button 2024-10-22 19:11:44 -06:00
Ashley Wulber
722f30c724 fix: bounds for button 2024-10-22 15:46:35 -06:00
Ashley Wulber
0491c4baaa libcosmic updates 2024-10-18 14:04:39 -04:00
Victoria Brekenfeld
b40839638a fix: Use globals instead of thread-locals
Better support for multi-threaded applications,
especially cosmic-comp rendering in parallel on
multiple threads, each potentially accessing
global configurations such as the active theme,
icon_theme and more...
2024-08-02 20:27:08 +02:00
Ashley Wulber
6f2c893cf5 feat: add overlay option to appearance for vertical icon button 2024-07-17 22:31:21 +02:00
Ashley Wulber
33eec39268
fix: border artifacts in button and input 2024-06-15 22:04:42 +02:00
Michael Aaron Murphy
375a2d127b
chore(button): remove unused import 2024-05-28 15:31:34 +02:00
Michael Aaron Murphy
d559403f7f fix(image-button): fix rendering on wgpu 2024-05-28 09:04:07 +02:00
Michael Aaron Murphy
f9f8eb51cb
fix(menu_bar): root text will inherit icon color from header 2024-05-21 04:34:35 +02:00
Michael Aaron Murphy
f4936344f0
chore(doc): add documentation for a handful of widgets 2024-05-20 20:01:47 +02:00
Ashley Wulber
2af549f5b1 feat(button): on_press_down 2024-05-18 03:07:42 +02:00
Michael Aaron Murphy
1355588723 improv(button): specialize button for cosmic, and apply alpha to header buttons 2024-05-17 20:58:38 +02:00
Ashley Wulber
e47684ffdb refactor: icon styling and headerbar icon styling
Headerbar icons are transparent when their window is not focused, but otherwise share the same style as icons with selection. This updates the icon styles to match figma when selected.
2024-03-11 16:26:48 -04:00
Michael Aaron Murphy
bd353c6b54 improv(widget): share object-select svg handle between widgets using it 2024-02-26 19:17:49 +01:00
Ashley Wulber
3c1a60cb05 fix: build with a11y feature 2024-02-08 17:29:02 -07:00
Ashley Wulber
82dfab633a refactor: make Theme a generic parameter for the button
This makes the button possible to use with custom themes in cosmic-time
2024-02-06 11:28:27 -05:00
Ashley Wulber
f4ad098647 wip: update to use latest iced 2024-02-06 11:28:27 -05:00
Ashley Wulber
310064ca1d refactor: use theme corner radii everywhere
not all values matched a default value but I picked the next closest in that case
2023-12-13 13:10:39 -05:00
Ashley Wulber
9202383596 chore: update to 0.12 2023-12-04 17:53:24 -05:00
danieleades
8e99406a8b
chore: fixing linter warnings 2023-11-28 20:02:08 +01:00
Michael Aaron Murphy
2c445d820f feat(image_button): add optional removable button overlay 2023-11-15 16:50:15 +01:00
Michael Aaron Murphy
14614e4e03 fix(button): image button rendering fixes 2023-11-13 12:14:51 +01:00
Michael Aaron Murphy
34386561b3 feat(button): add ImageButton widget variant 2023-11-03 16:41:31 +01:00
Michael Aaron Murphy
b404497e76
fix(widget): allow None for button text color to inherit from container 2023-09-18 08:28:57 +02:00
Michael Aaron Murphy
4e4eeaac12 feat!(widget): rewrite button & icon widget APIs 2023-09-14 01:38:56 +02:00