diff --git a/local/recipes/kde/kf6-kitemviews/source/CMakeLists.txt b/local/recipes/kde/kf6-kitemviews/source/CMakeLists.txt index a580d81e7b..e38ca5ca20 100644 --- a/local/recipes/kde/kf6-kitemviews/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-kitemviews/source/CMakeLists.txt @@ -77,6 +77,7 @@ find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) +find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].") diff --git a/local/recipes/kde/kwin/source.tar b/local/recipes/kde/kwin/source.tar index 7d9d0e9822..963df8b319 100644 Binary files a/local/recipes/kde/kwin/source.tar and b/local/recipes/kde/kwin/source.tar differ diff --git a/local/recipes/qt/qtbase/source/src/corelib/CMakeLists.txt b/local/recipes/qt/qtbase/source/src/corelib/CMakeLists.txt index 511f772c84..34b07783c9 100644 --- a/local/recipes/qt/qtbase/source/src/corelib/CMakeLists.txt +++ b/local/recipes/qt/qtbase/source/src/corelib/CMakeLists.txt @@ -1341,6 +1341,27 @@ qt_internal_extend_target(Core CONDITION REDOX io/qstorageinfo_unix.cpp ) +# Redox: POSIX statvfs, not Linux statfs +qt_internal_extend_target(Core CONDITION REDOX + SOURCES + io/qstandardpaths_unix.cpp + io/qstorageinfo_unix.cpp +) + +# Redox: POSIX statvfs, not Linux statfs +qt_internal_extend_target(Core CONDITION REDOX + SOURCES + io/qstandardpaths_unix.cpp + io/qstorageinfo_unix.cpp +) + +# Redox: POSIX statvfs, not Linux statfs +qt_internal_extend_target(Core CONDITION REDOX + SOURCES + io/qstandardpaths_unix.cpp + io/qstorageinfo_unix.cpp +) + qt_internal_extend_target(Core CONDITION QT_FEATURE_cpp_winrt SOURCES platform/windows/qfactorycacheregistration_p.h @@ -1509,6 +1530,27 @@ qt_internal_extend_target(Core CONDITION REDOX io/qstorageinfo_unix.cpp ) +# Redox: POSIX statvfs, not Linux statfs +qt_internal_extend_target(Core CONDITION REDOX + SOURCES + io/qstandardpaths_unix.cpp + io/qstorageinfo_unix.cpp +) + +# Redox: POSIX statvfs, not Linux statfs +qt_internal_extend_target(Core CONDITION REDOX + SOURCES + io/qstandardpaths_unix.cpp + io/qstorageinfo_unix.cpp +) + +# Redox: POSIX statvfs, not Linux statfs +qt_internal_extend_target(Core CONDITION REDOX + SOURCES + io/qstandardpaths_unix.cpp + io/qstorageinfo_unix.cpp +) + qt_internal_extend_target(Core CONDITION QT_FEATURE_itemmodel SOURCES itemmodels/qabstractitemmodel.cpp itemmodels/qabstractitemmodel.h itemmodels/qabstractitemmodel_p.h diff --git a/local/recipes/qt/qtbase/source/src/corelib/global/qtypes.h b/local/recipes/qt/qtbase/source/src/corelib/global/qtypes.h index 800318d3e9..bfe43493e6 100644 --- a/local/recipes/qt/qtbase/source/src/corelib/global/qtypes.h +++ b/local/recipes/qt/qtbase/source/src/corelib/global/qtypes.h @@ -197,6 +197,9 @@ static_assert(std::is_signed_v, #include #include #include +#include +#include +#include #ifndef static_assert #define static_assert _Static_assert #endif diff --git a/local/recipes/qt/qtbase/source/src/network/socket/qnativesocketengine_unix.cpp b/local/recipes/qt/qtbase/source/src/network/socket/qnativesocketengine_unix.cpp index dcd974e4f5..10595bc066 100644 --- a/local/recipes/qt/qtbase/source/src/network/socket/qnativesocketengine_unix.cpp +++ b/local/recipes/qt/qtbase/source/src/network/socket/qnativesocketengine_unix.cpp @@ -1141,6 +1141,9 @@ qint64 QNativeSocketEnginePrivate::nativeSendDatagram(const char *data, qint64 l #ifdef IPV6_HOPLIMIT #ifdef IPV6_HOPLIMIT #ifdef IPV6_HOPLIMIT +#ifdef IPV6_HOPLIMIT +#ifdef IPV6_HOPLIMIT +#ifdef IPV6_HOPLIMIT #ifdef IPV6_HOPLIMIT if (header.hopLimit != -1) { msg.msg_controllen += CMSG_SPACE(sizeof(int)); @@ -1169,6 +1172,9 @@ qint64 QNativeSocketEnginePrivate::nativeSendDatagram(const char *data, qint64 l #endif #endif #endif +#endif +#endif +#endif #endif if (header.ifindex != 0 || !header.senderAddress.isNull()) { struct in6_pktinfo *data = reinterpret_cast(CMSG_DATA(cmsgptr)); diff --git a/local/recipes/qt/qtbase/source/src/network/socket/qnet_unix_p.h b/local/recipes/qt/qtbase/source/src/network/socket/qnet_unix_p.h index d8ed9689c1..49d70064a8 100644 --- a/local/recipes/qt/qtbase/source/src/network/socket/qnet_unix_p.h +++ b/local/recipes/qt/qtbase/source/src/network/socket/qnet_unix_p.h @@ -41,6 +41,9 @@ #include #include #include +#include +#include +#include #include #if defined(Q_OS_VXWORKS) diff --git a/local/recipes/qt/qtbase/source/src/plugins/platforms/wayland/hardwareintegration/qwaylandclientbufferintegration_p.h b/local/recipes/qt/qtbase/source/src/plugins/platforms/wayland/hardwareintegration/qwaylandclientbufferintegration_p.h index 31e978e977..088b77e19b 100644 --- a/local/recipes/qt/qtbase/source/src/plugins/platforms/wayland/hardwareintegration/qwaylandclientbufferintegration_p.h +++ b/local/recipes/qt/qtbase/source/src/plugins/platforms/wayland/hardwareintegration/qwaylandclientbufferintegration_p.h @@ -71,6 +71,9 @@ public: #if QT_CONFIG(opengl) #if QT_CONFIG(opengl) #if QT_CONFIG(opengl) +#if QT_CONFIG(opengl) +#if QT_CONFIG(opengl) +#if QT_CONFIG(opengl) #if QT_CONFIG(opengl) virtual QPlatformOpenGLContext *createPlatformOpenGLContext(const QSurfaceFormat &glFormat, QPlatformOpenGLContext *share) const = 0; #endif /* QT_CONFIG(opengl) */ @@ -92,6 +95,9 @@ public: #endif /* QT_CONFIG(opengl) */ #endif /* QT_CONFIG(opengl) */ #endif /* QT_CONFIG(opengl) */ +#endif /* QT_CONFIG(opengl) */ +#endif /* QT_CONFIG(opengl) */ +#endif /* QT_CONFIG(opengl) */ #endif /* QT_CONFIG(opengl) */ virtual bool canCreatePlatformOffscreenSurface() const { return false; } #if QT_CONFIG(opengl) @@ -124,6 +130,9 @@ public: #if QT_CONFIG(opengl) #if QT_CONFIG(opengl) #if QT_CONFIG(opengl) +#if QT_CONFIG(opengl) +#if QT_CONFIG(opengl) +#if QT_CONFIG(opengl) #if QT_CONFIG(opengl) virtual void *nativeResourceForContext(NativeResource /*resource*/, QPlatformOpenGLContext */*context*/) { return nullptr; } #endif /* QT_CONFIG(opengl) */ @@ -146,6 +155,9 @@ public: #endif /* QT_CONFIG(opengl) */ #endif /* QT_CONFIG(opengl) */ #endif /* QT_CONFIG(opengl) */ +#endif /* QT_CONFIG(opengl) */ +#endif /* QT_CONFIG(opengl) */ +#endif /* QT_CONFIG(opengl) */ }; } diff --git a/local/recipes/tui/tlc/source/src/filemanager/encoding_dialog.rs b/local/recipes/tui/tlc/source/src/filemanager/encoding_dialog.rs index 1731ec4743..72d3110079 100644 --- a/local/recipes/tui/tlc/source/src/filemanager/encoding_dialog.rs +++ b/local/recipes/tui/tlc/source/src/filemanager/encoding_dialog.rs @@ -7,11 +7,12 @@ use ratatui::layout::{Constraint, Direction, Layout, Rect}; use ratatui::style::{Modifier, Style}; use ratatui::text::{Line, Span}; -use ratatui::widgets::{Block, Borders, Clear, List, ListItem, Paragraph}; +use ratatui::widgets::{List, ListItem, Paragraph}; use ratatui::Frame; use crate::key::Key; use crate::terminal::color::Theme; +use crate::terminal::popup::{centered_cols_rect, render_popup}; /// Outcome of the encoding dialog after a key press. #[derive(Debug, Clone)] @@ -111,23 +112,8 @@ impl EncodingDialog { pub fn render(&self, frame: &mut Frame, area: Rect, theme: &Theme) { let w = 48u16.min(area.width.saturating_sub(2)); let h = (ENCODINGS.len() as u16 + 4).min(area.height.saturating_sub(2)); - let x = area.x + (area.width.saturating_sub(w)) / 2; - let y = area.y + (area.height.saturating_sub(h)) / 2; - let dlg = Rect::new(x, y, w, h); - frame.render_widget(Clear, dlg); - - let block = Block::default() - .borders(Borders::ALL) - .border_style(Style::default().fg(theme.title_fg)) - .title(Span::styled( - " Display encoding ", - Style::default() - .fg(theme.title_fg) - .bg(theme.title_bg) - .add_modifier(Modifier::BOLD), - )); - let inner = block.inner(dlg); - frame.render_widget(block, dlg); + let dlg = centered_cols_rect(area, w, h); + let inner = render_popup(frame, dlg, "Display encoding", theme); let chunks = Layout::default() .direction(Direction::Vertical) diff --git a/local/recipes/tui/tlc/source/src/filemanager/filter_dialog.rs b/local/recipes/tui/tlc/source/src/filemanager/filter_dialog.rs index dc44be25f3..3b0526b466 100644 --- a/local/recipes/tui/tlc/source/src/filemanager/filter_dialog.rs +++ b/local/recipes/tui/tlc/source/src/filemanager/filter_dialog.rs @@ -7,11 +7,12 @@ use ratatui::layout::{Constraint, Direction, Layout, Rect}; use ratatui::style::{Modifier, Style}; use ratatui::text::{Line, Span}; -use ratatui::widgets::{Block, Borders, Clear, Paragraph}; +use ratatui::widgets::Paragraph; use ratatui::Frame; use crate::key::Key; use crate::terminal::color::Theme; +use crate::terminal::popup::{centered_cols_rect, render_popup}; use crate::widget::input::Input; /// Outcome of the filter dialog after a key press. @@ -94,25 +95,8 @@ impl FilterDialog { /// Render the dialog centered on `area`. pub fn render(&self, frame: &mut Frame, area: Rect, theme: &Theme) { - let w = 50u16.min(area.width.saturating_sub(2)); - let h = 7u16.min(area.height.saturating_sub(2)); - let x = area.x + (area.width.saturating_sub(w)) / 2; - let y = area.y + (area.height.saturating_sub(h)) / 2; - let dlg = Rect::new(x, y, w, h); - frame.render_widget(Clear, dlg); - - let block = Block::default() - .borders(Borders::ALL) - .border_style(Style::default().fg(theme.title_fg)) - .title(Span::styled( - format!(" {} ", self.title), - Style::default() - .fg(theme.title_fg) - .bg(theme.title_bg) - .add_modifier(Modifier::BOLD), - )); - let inner = block.inner(dlg); - frame.render_widget(block, dlg); + let dlg = centered_cols_rect(area, 50, 7); + let inner = render_popup(frame, dlg, self.title.as_str(), theme); let chunks = Layout::default() .direction(Direction::Vertical) diff --git a/local/scripts/build-redbear.sh b/local/scripts/build-redbear.sh index 942a336319..26d0674120 100755 --- a/local/scripts/build-redbear.sh +++ b/local/scripts/build-redbear.sh @@ -246,7 +246,7 @@ bash "$PROJECT_ROOT/local/scripts/build-preflight.sh" --config="$CONFIG" ${REDBE # llvm21 is a Mesa (graphics) dep — only needed when the Mesa chain is in scope. echo ">>> Pre-cooking critical packages..." if [ "$CONFIG" = "redbear-full" ]; then - PRECOOK_PKGS="relibc icu llvm21 mesa libdrm libepoxy redox-drm lcms2 libdisplay-info libxcvt kwin sddm qtbase" + PRECOOK_PKGS="relibc icu llvm21 mesa libdrm libepoxy redox-drm lcms2 libdisplay-info libxcvt sddm qtbase" else PRECOOK_PKGS="relibc icu" fi