Initial commit
This commit is contained in:
commit
274596b58f
20 changed files with 4220 additions and 0 deletions
33
Sources/Luminate/Localized.yml
Normal file
33
Sources/Luminate/Localized.yml
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
default: en
|
||||
|
||||
about:
|
||||
de: "Info zu Luminate"
|
||||
en: "About Luminate"
|
||||
|
||||
closeWindow:
|
||||
de: "Fenster schliessen"
|
||||
en: "Close Window"
|
||||
|
||||
generalShortcuts:
|
||||
de: "Allgemein"
|
||||
en: "General"
|
||||
|
||||
helloWorld:
|
||||
de: "Hallo, Welt!"
|
||||
en: "Hello, world!"
|
||||
|
||||
keyboardShortcuts:
|
||||
de: "Tastenkürzel"
|
||||
en: "Keyboard Shortcuts"
|
||||
|
||||
mainMenu:
|
||||
de: "Hauptmenü"
|
||||
en: "Main Menu"
|
||||
|
||||
newWindow:
|
||||
de: "Neues Fenster"
|
||||
en: "New Window"
|
||||
|
||||
quitShortcut:
|
||||
de: "App beenden"
|
||||
en: "Quit the Application"
|
||||
25
Sources/Luminate/Luminate.swift
Normal file
25
Sources/Luminate/Luminate.swift
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
// The Swift Programming Language
|
||||
// https://docs.swift.org/swift-book
|
||||
|
||||
import Adwaita
|
||||
|
||||
@main
|
||||
struct Luminate: App {
|
||||
|
||||
let app = AdwaitaApp(id: "dev.bscubed.Luminate")
|
||||
|
||||
var scene: Scene {
|
||||
Window(id: "main") { window in
|
||||
Text(Loc.helloWorld)
|
||||
.padding()
|
||||
.topToolbar {
|
||||
ToolbarView(app: app, window: window)
|
||||
}
|
||||
}
|
||||
.defaultSize(width: 450, height: 300)
|
||||
.quitShortcut()
|
||||
.closeShortcut()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
53
Sources/Luminate/ToolbarView.swift
Normal file
53
Sources/Luminate/ToolbarView.swift
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
import Adwaita
|
||||
|
||||
struct ToolbarView: View {
|
||||
|
||||
@State private var about = false
|
||||
@State private var shortcuts = false
|
||||
var app: AdwaitaApp
|
||||
var window: AdwaitaWindow
|
||||
|
||||
var view: Body {
|
||||
HeaderBar.end {
|
||||
content
|
||||
.aboutDialog(
|
||||
visible: $about,
|
||||
app: "Luminate",
|
||||
developer: "david-swift",
|
||||
version: "dev",
|
||||
icon: .custom(name: "dev.bscubed.Luminate"),
|
||||
website: .init(string: "https://git.bscubed.dev/luminate")!,
|
||||
issues: .init(string: "https://git.bscubed.dev/luminate/issues")!
|
||||
)
|
||||
.shortcutsDialog(visible: $shortcuts)
|
||||
.shortcutsSection { section in
|
||||
section
|
||||
.shortcutsItem(Loc.newWindow, accelerator: "n".ctrl())
|
||||
.shortcutsItem(Loc.closeWindow, accelerator: "w".ctrl())
|
||||
.shortcutsItem(Loc.quitShortcut, accelerator: "q".ctrl())
|
||||
.shortcutsItem(Loc.keyboardShortcuts, accelerator: "question".ctrl())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var content: AnyView {
|
||||
Menu(icon: .default(icon: .openMenu)) {
|
||||
MenuButton(Loc.newWindow, window: false) {
|
||||
app.addWindow("main")
|
||||
}
|
||||
.keyboardShortcut("n".ctrl())
|
||||
MenuSection {
|
||||
MenuButton(Loc.keyboardShortcuts, window: false) {
|
||||
shortcuts = true
|
||||
}
|
||||
.keyboardShortcut("question".ctrl())
|
||||
MenuButton(Loc.about, window: false) {
|
||||
about = true
|
||||
}
|
||||
}
|
||||
}
|
||||
.primary()
|
||||
.tooltip(Loc.mainMenu)
|
||||
}
|
||||
|
||||
}
|
||||
1
Sources/LuminateCore/LuminateCore.swift
Normal file
1
Sources/LuminateCore/LuminateCore.swift
Normal file
|
|
@ -0,0 +1 @@
|
|||
public struct LuminateCore {}
|
||||
3
Sources/LuminateHome/LuminateHome.swift
Normal file
3
Sources/LuminateHome/LuminateHome.swift
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
import Adwaita
|
||||
import LuminateCore
|
||||
public struct LuminateHome {}
|
||||
3
Sources/LuminateLibrary/LuminateLibrary.swift
Normal file
3
Sources/LuminateLibrary/LuminateLibrary.swift
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
import Adwaita
|
||||
import LuminateCore
|
||||
public struct LuminateLibrary {}
|
||||
3
Sources/LuminatePlayer/LuminatePlayer.swift
Normal file
3
Sources/LuminatePlayer/LuminatePlayer.swift
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
import Adwaita
|
||||
import LuminateCore
|
||||
public struct LuminatePlayer {}
|
||||
Loading…
Add table
Add a link
Reference in a new issue