Private
Public Access
1
0

initial commit: barebones

This commit is contained in:
2025-04-28 17:29:32 -07:00
commit 4eff88a51b
6 changed files with 96 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
build/

7
meson.build Normal file
View File

@@ -0,0 +1,7 @@
project('kordophone', 'vala',
version : '0.1.0',
meson_version : '>=0.56.0',
default_options : ['warning_level=2']
)
subdir('src')

View File

@@ -0,0 +1,32 @@
using Adw;
using Gtk;
public class ConversationListView : Adw.Bin
{
private Adw.ToolbarView container;
private ListBox list_box;
private Adw.HeaderBar header_bar;
public ConversationListView () {
container = new Adw.ToolbarView ();
set_child (container);
list_box = new ListBox ();
list_box.add_css_class ("boxed-list");
list_box.set_selection_mode (SelectionMode.SINGLE);
container.set_content (list_box);
header_bar = new Adw.HeaderBar ();
header_bar.set_title_widget (new Label ("Kordophone"));
container.add_top_bar (header_bar);
// Populate with test data
for (int i = 0; i < 10; i++) {
var row = new ActionRow ();
row.title = "Conversation %d".printf(i);
list_box.append (row);
}
}
}

View File

@@ -0,0 +1,24 @@
using Adw;
using Gtk;
public class KordophoneApp : Adw.Application
{
private MainWindow window;
public KordophoneApp () {
Object (application_id: "net.buzzert.kordophone2", flags: ApplicationFlags.FLAGS_NONE);
}
protected override void activate () {
window = new MainWindow ();
window.set_default_size (1200, 1000);
window.application = this;
window.present ();
}
public static int main (string[] args) {
var app = new KordophoneApp ();
return app.run (args);
}
}

16
src/main-window.vala Normal file
View File

@@ -0,0 +1,16 @@
using Adw;
using Gtk;
public class MainWindow : Adw.ApplicationWindow
{
public MainWindow () {
Object (title: "Kordophone");
var split_view = new NavigationSplitView ();
split_view.set_min_sidebar_width (400);
set_content (split_view);
var conversation_list_page = new NavigationPage (new ConversationListView (), "Conversations");
split_view.sidebar = conversation_list_page;
}
}

16
src/meson.build Normal file
View File

@@ -0,0 +1,16 @@
dependencies = [
dependency('gtk4', required : true),
dependency('libadwaita-1', required : true)
]
sources = [
'kordophone-application.vala',
'main-window.vala',
'conversation-list-view.vala',
]
executable('kordophone',
sources,
dependencies : dependencies,
install : true
)