87 lines
3.3 KiB
C
87 lines
3.3 KiB
C
/* 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 <https://www.gnu.org/licenses/>.
|
|
*
|
|
* SPDX-License-Identifier: GPL-3.0-or-later
|
|
*/
|
|
|
|
#include "config.h"
|
|
|
|
#include <glib/gi18n.h>
|
|
|
|
#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);
|
|
}
|