/* main.c * * Copyright 2025 Win * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * SPDX-License-Identifier: GPL-3.0-or-later */ #include "config.h" #include #include "jobwizarddesktop-c-application.h" static void goto_register(GtkButton *btn, gpointer stack) { adw_view_stack_set_visible_child_name(ADW_VIEW_STACK(stack), "register-window"); } static void goto_login(GtkButton *btn, gpointer stack) { adw_view_stack_set_visible_child_name(ADW_VIEW_STACK(stack), "login-window"); } static void on_activate(GApplication *app) { GtkBuilder *b_win = gtk_builder_new_from_resource("/me/winsdominoes/jobwizarddesktop/jobwizarddesktop-c-window.ui"); GtkWidget *win = GTK_WIDGET(gtk_builder_get_object(b_win, "window")); GtkWidget *stack = GTK_WIDGET(gtk_builder_get_object(b_win, "stack")); gtk_window_set_application(GTK_WINDOW(win), GTK_APPLICATION(app)); GtkBuilder *b_login = gtk_builder_new_from_resource("/me/winsdominoes/jobwizarddesktop/login-window.ui"); GtkWidget *login_page = GTK_WIDGET(gtk_builder_get_object(b_login, "login_page")); GtkWidget *btn_reg = GTK_WIDGET(gtk_builder_get_object(b_login, "register_button")); GtkBuilder *b_reg = gtk_builder_new_from_resource("/me/winsdominoes/jobwizarddesktop/register-window.ui"); GtkWidget *reg_page = GTK_WIDGET(gtk_builder_get_object(b_reg, "register_page")); GtkWidget *btn_login = GTK_WIDGET(gtk_builder_get_object(b_reg, "login_button")); // Add pages to ViewStack adw_view_stack_add_titled(ADW_VIEW_STACK(stack), login_page, "login-window", "Login"); adw_view_stack_add_titled(ADW_VIEW_STACK(stack), reg_page, "register-window", "Register"); // Connect button actions g_signal_connect(btn_reg, "clicked", G_CALLBACK(goto_register), stack); g_signal_connect(btn_login, "clicked", G_CALLBACK(goto_login), stack); gtk_window_present(GTK_WINDOW(win)); } int main (int argc, char *argv[]) { /* g_autoptr(JobwizarddesktopCApplication) app = NULL; int ret; bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); textdomain (GETTEXT_PACKAGE); app = jobwizarddesktop_c_application_new ("me.winsdominoes.jobwizarddesktop", G_APPLICATION_DEFAULT_FLAGS); g_signal_connect(app, "activate", G_CALLBACK(on_activate), NULL); ret = g_application_run (G_APPLICATION (app), argc, argv); return ret; * */ g_autoptr(JobwizarddesktopCApplication) app = jobwizarddesktop_c_application_new( "me.winsdominoes.jobwizarddesktop", G_APPLICATION_FLAGS_NONE ); g_signal_connect(app, "activate", G_CALLBACK(on_activate), NULL); return g_application_run(G_APPLICATION(app), argc, argv); }