diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index 4390761..238ae16 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -46,8 +46,8 @@ jobs:
- name: Modify Docs
run: |
echo "" > docs/index.html;
- sed -i '' 's/#06f/#ea3358/g' docs/css/documentation-topic~topic~tutorials-overview.d6f5411c.css
- sed -i '' 's/,2px/,10px/g' docs/css/index.038e887c.css
+ sed -i '' 's/#06f/#ea3358/g' docs/css/documentation-topic~topic~tutorials-overview.*.css
+ sed -i '' 's/,2px/,10px/g' docs/css/index.*.css
- name: Upload Artifact
uses: actions/upload-pages-artifact@v3
with:
diff --git a/.swiftlint.yml b/.swiftlint.yml
index 4a37d11..17bee73 100644
--- a/.swiftlint.yml
+++ b/.swiftlint.yml
@@ -164,3 +164,4 @@ type_contents_order:
excluded:
- Sources/Adwaita/View/Generated/
- Sources/Adwaita/Adwaita.docc/
+ - .build/
\ No newline at end of file
diff --git a/Sources/Adwaita/Model/Data Flow/Binding.swift b/Sources/Adwaita/Model/Data Flow/Binding.swift
index e05d1ac..4b3e298 100644
--- a/Sources/Adwaita/Model/Data Flow/Binding.swift
+++ b/Sources/Adwaita/Model/Data Flow/Binding.swift
@@ -112,6 +112,7 @@ public struct Binding {
}
+/// An extension
extension Binding where Value: MutableCollection {
/// Get a child at a certain index of the array as a binding.
@@ -134,6 +135,7 @@ extension Binding where Value: MutableCollection {
}
+/// An extension
extension Binding where Value: MutableCollection, Value.Element: Identifiable {
/// Get a child of the array with a certain id as a binding.
diff --git a/Sources/Adwaita/Model/Data Flow/State.swift b/Sources/Adwaita/Model/Data Flow/State.swift
index 842b9b2..afcd276 100644
--- a/Sources/Adwaita/Model/Data Flow/State.swift
+++ b/Sources/Adwaita/Model/Data Flow/State.swift
@@ -185,6 +185,7 @@ public struct State: StateProtocol {
}
+/// An extension
extension State where Value: Codable {
/// Initialize a property representing a state in the view.
diff --git a/Sources/Adwaita/Model/Extensions/Array.swift b/Sources/Adwaita/Model/Extensions/Array.swift
index e819577..5bf7aae 100644
--- a/Sources/Adwaita/Model/Extensions/Array.swift
+++ b/Sources/Adwaita/Model/Extensions/Array.swift
@@ -7,6 +7,7 @@
import Foundation
+// An extension
extension Array: View where Element == View {
/// The array's view body is the array itself.
@@ -46,6 +47,7 @@ extension Array: View where Element == View {
}
+// An extension
extension Array where Element == WindowSceneGroup {
/// Get the content of an array of window scene groups.
@@ -56,6 +58,7 @@ extension Array where Element == WindowSceneGroup {
}
+// An extension
extension Array where Element == String {
/// Get the C version of the array.
@@ -78,6 +81,7 @@ extension Array where Element == String {
}
+// An extension
extension Array {
/// Accesses the element at the specified position safely.
@@ -105,6 +109,7 @@ extension Array {
}
+// An extension
extension Array where Element: Identifiable {
/// Accesses the element with a certain id safely.
diff --git a/Sources/Adwaita/Model/Extensions/Bool.swift b/Sources/Adwaita/Model/Extensions/Bool.swift
index ea35d6f..f33d303 100644
--- a/Sources/Adwaita/Model/Extensions/Bool.swift
+++ b/Sources/Adwaita/Model/Extensions/Bool.swift
@@ -5,6 +5,7 @@
// Created by david-swift on 15.01.24.
//
+// An extension
extension Bool {
/// Get the gboolean for C.
diff --git a/Sources/Adwaita/Model/Extensions/Int.swift b/Sources/Adwaita/Model/Extensions/Int.swift
index 580036b..4c8f25f 100644
--- a/Sources/Adwaita/Model/Extensions/Int.swift
+++ b/Sources/Adwaita/Model/Extensions/Int.swift
@@ -5,6 +5,7 @@
// Created by david-swift on 15.01.24.
//
+// An extension
extension Int: Identifiable {
/// Get the integer itself as the identifier.
diff --git a/Sources/Adwaita/Model/Extensions/OpaquePointer.swift b/Sources/Adwaita/Model/Extensions/OpaquePointer.swift
index b594bfd..0eb4c32 100644
--- a/Sources/Adwaita/Model/Extensions/OpaquePointer.swift
+++ b/Sources/Adwaita/Model/Extensions/OpaquePointer.swift
@@ -5,6 +5,7 @@
// Created by david-swift on 15.01.23.
//
+// An extension
extension OpaquePointer {
/// Convert an opaque pointer into an unsafe mutable pointer with a defined type.
diff --git a/Sources/Adwaita/Model/Extensions/Set.swift b/Sources/Adwaita/Model/Extensions/Set.swift
index 7df5c9c..ef3fccf 100644
--- a/Sources/Adwaita/Model/Extensions/Set.swift
+++ b/Sources/Adwaita/Model/Extensions/Set.swift
@@ -5,6 +5,7 @@
// Created by david-swift on 21.01.24.
//
+// An extension
extension Set where Element == Edge {
/// Horizontal and vertical edges.
diff --git a/Sources/Adwaita/Model/Extensions/String.swift b/Sources/Adwaita/Model/Extensions/String.swift
index 1f76efe..4d2bda5 100644
--- a/Sources/Adwaita/Model/Extensions/String.swift
+++ b/Sources/Adwaita/Model/Extensions/String.swift
@@ -5,6 +5,7 @@
// Created by david-swift on 09.09.23.
//
+// An extension
extension String {
/// A label for main content in a view storage.
diff --git a/Sources/Adwaita/Model/Extensions/UInt.swift b/Sources/Adwaita/Model/Extensions/UInt.swift
index e417c3d..a41f938 100644
--- a/Sources/Adwaita/Model/Extensions/UInt.swift
+++ b/Sources/Adwaita/Model/Extensions/UInt.swift
@@ -5,6 +5,7 @@
// Created by david-swift on 19.01.24.
//
+// An extension
extension UInt {
/// Convert an unsigned integer into the C form.
diff --git a/Sources/Adwaita/Model/Extensions/UnsafeMutablePointer.swift b/Sources/Adwaita/Model/Extensions/UnsafeMutablePointer.swift
index 52475a2..9bb2b92 100644
--- a/Sources/Adwaita/Model/Extensions/UnsafeMutablePointer.swift
+++ b/Sources/Adwaita/Model/Extensions/UnsafeMutablePointer.swift
@@ -5,6 +5,7 @@
// Created by david-swift on 15.01.24.
//
+// An extension
extension UnsafeMutablePointer {
/// Convert into an opaque pointer.
diff --git a/Sources/Adwaita/Model/Extensions/UnsafeMutableRawPointer.swift b/Sources/Adwaita/Model/Extensions/UnsafeMutableRawPointer.swift
index 2ab2fdb..889570b 100644
--- a/Sources/Adwaita/Model/Extensions/UnsafeMutableRawPointer.swift
+++ b/Sources/Adwaita/Model/Extensions/UnsafeMutableRawPointer.swift
@@ -5,6 +5,7 @@
// Created by david-swift on 15.01.24.
//
+// An extension
extension UnsafeMutableRawPointer {
/// Convert into an unsafe mutable pointer of a certain type.
diff --git a/Sources/Adwaita/Model/User Interface/App/App.swift b/Sources/Adwaita/Model/User Interface/App/App.swift
index 208d503..f1cec75 100644
--- a/Sources/Adwaita/Model/User Interface/App/App.swift
+++ b/Sources/Adwaita/Model/User Interface/App/App.swift
@@ -38,6 +38,7 @@ public protocol App {
}
+/// An extension
extension App {
/// The application's entry point.
diff --git a/Sources/Adwaita/Model/User Interface/Menu/MenuItem.swift b/Sources/Adwaita/Model/User Interface/Menu/MenuItem.swift
index 06e44ee..4f3986e 100644
--- a/Sources/Adwaita/Model/User Interface/Menu/MenuItem.swift
+++ b/Sources/Adwaita/Model/User Interface/Menu/MenuItem.swift
@@ -19,6 +19,7 @@ public protocol MenuItem: MenuItemGroup {
}
+/// An extension
extension MenuItem {
/// The menu item's content is itself.
diff --git a/Sources/Adwaita/Model/User Interface/Menu/MenuItemGroup.swift b/Sources/Adwaita/Model/User Interface/Menu/MenuItemGroup.swift
index 8125e1d..7ab8945 100644
--- a/Sources/Adwaita/Model/User Interface/Menu/MenuItemGroup.swift
+++ b/Sources/Adwaita/Model/User Interface/Menu/MenuItemGroup.swift
@@ -15,6 +15,7 @@ public protocol MenuItemGroup {
}
+/// An extension
extension MenuItemGroup {
/// Add the menu items described by the group to a menu.
diff --git a/Sources/Adwaita/Model/User Interface/View/View.swift b/Sources/Adwaita/Model/User Interface/View/View.swift
index cf117f4..18d9226 100644
--- a/Sources/Adwaita/Model/User Interface/View/View.swift
+++ b/Sources/Adwaita/Model/User Interface/View/View.swift
@@ -25,6 +25,7 @@ public protocol View {
}
+/// An extension
extension View {
/// Wrap the view into a widget.
@@ -54,6 +55,8 @@ extension View {
}
}
+ /// Get the state.
+ /// - Returns: The state.
func getState() -> [String: StateProtocol] {
var state: [String: StateProtocol] = [:]
for property in Mirror(reflecting: self).children {
@@ -71,6 +74,9 @@ extension View {
widget(modifiers: modifiers).container(modifiers: modifiers)
}
+ /// Get the modified view.
+ /// - Parameter modifiers: The modifiers.
+ /// - Returns: The modified view.
func getModified(modifiers: [(View) -> View]) -> View {
var modified: View = self
for modifier in modifiers {
diff --git a/Sources/Adwaita/Model/User Interface/View/Widget.swift b/Sources/Adwaita/Model/User Interface/View/Widget.swift
index a631658..4b6c873 100644
--- a/Sources/Adwaita/Model/User Interface/View/Widget.swift
+++ b/Sources/Adwaita/Model/User Interface/View/Widget.swift
@@ -20,6 +20,7 @@ public protocol Widget: View {
}
+/// An extension
extension Widget {
/// A widget's view is empty.
diff --git a/Sources/Adwaita/Model/User Interface/Window/WindowScene.swift b/Sources/Adwaita/Model/User Interface/Window/WindowScene.swift
index aa329a1..9d888fe 100644
--- a/Sources/Adwaita/Model/User Interface/Window/WindowScene.swift
+++ b/Sources/Adwaita/Model/User Interface/Window/WindowScene.swift
@@ -29,6 +29,7 @@ public protocol WindowScene: WindowSceneGroup {
}
+/// An extension
extension WindowScene {
/// The window scene's body is itself.
diff --git a/Sources/Adwaita/Model/User Interface/Window/WindowSceneGroup.swift b/Sources/Adwaita/Model/User Interface/Window/WindowSceneGroup.swift
index 209af7d..a7a71ff 100644
--- a/Sources/Adwaita/Model/User Interface/Window/WindowSceneGroup.swift
+++ b/Sources/Adwaita/Model/User Interface/Window/WindowSceneGroup.swift
@@ -13,6 +13,7 @@ public protocol WindowSceneGroup {
}
+/// An extension
extension WindowSceneGroup {
/// Get the windows described by the group.
diff --git a/Sources/Adwaita/View/Menu+.swift b/Sources/Adwaita/View/Menu+.swift
index 1b06e64..142aff2 100644
--- a/Sources/Adwaita/View/Menu+.swift
+++ b/Sources/Adwaita/View/Menu+.swift
@@ -7,6 +7,7 @@
import CAdw
+// An extension
extension Menu {
// swiftlint:disable function_default_parameter_at_end
diff --git a/Sources/CAdw/shim.h b/Sources/CAdw/shim.h
index 33f2be2..4a08ff1 100644
--- a/Sources/CAdw/shim.h
+++ b/Sources/CAdw/shim.h
@@ -27,7 +27,8 @@ static void
gtui_filedialog_open_finish (uint64_t dialog, uint64_t result, uint64_t data)
{
GFile *file = gtk_file_dialog_open_finish (dialog, result, NULL);
- const char *path = g_file_get_path (file);
+ const char *path = g_file_peek_path (file);
+ g_object_unref (file);
filedialog_on_open_cb (dialog, path, data);
}