initial commit: barebones
This commit is contained in:
32
src/conversation-list-view.vala
Normal file
32
src/conversation-list-view.vala
Normal 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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
24
src/kordophone-application.vala
Normal file
24
src/kordophone-application.vala
Normal 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
16
src/main-window.vala
Normal 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
16
src/meson.build
Normal 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
|
||||
)
|
||||
Reference in New Issue
Block a user