-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
// Copyright 2025 Shota FUJI
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
//
// SPDX-License-Identifier: MPL-2.0
using GLib;
namespace TimeTracker {
public class Application : Adw.Application {
public Application() {
Object(application_id: Config.APP_ID);
}
protected override void activate() {
Storage.Storage storage;
try {
storage = Storage.Local.from_dir(
File.new_build_filename(Environment.get_user_data_dir(), "timetracker")
);
} catch (Error error) {
critical(@"Failed to init storage: $(error.message)");
return;
}
var window = new TimeTracker.Widget.MainWindow(this, storage);
window.present();
}
}
}