maturita.c/sprechen.c
dvorakmortonxd 20344fea5c initial commit
2026-09-03 13:01:25 +02:00

70 lines
2.5 KiB
C

#include <gtk/gtk.h>
static void activate(GtkApplication *app, gpointer user_data) {
GtkWidget *window;
GtkWidget *box;
GtkWidget *label;
GtkCssProvider *provider;
// Create a new application window
window = gtk_application_window_new(app);
gtk_window_set_title(GTK_WINDOW(window), "Sprechen.c");
gtk_window_set_default_size(GTK_WINDOW(window), 600, 400);
// Create a vertical box to hold contents
box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 20);
gtk_widget_set_halign(box, GTK_ALIGN_CENTER);
gtk_widget_set_valign(box, GTK_ALIGN_CENTER);
gtk_window_set_child(GTK_WINDOW(window), box);
// Create a label with welcome message
label = gtk_label_new("Vítejte ve Sprechen.C!\n\nSprechen.C je vzdělávací program na procvičování Němčiny, určený pro studenty středních škol a gymnázií. Program je napsaný v Céčku studentama ze SSŠVT!");
gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_CENTER);
gtk_label_set_lines(label, -1); // Allow multiple lines
gtk_label_set_xalign(label, 0.5); // Center horizontally
gtk_label_set_yalign(label, 0.5); // Center vertically
gtk_label_set_wrap(label, TRUE); // Enable line wrapping
gtk_label_set_max_width_chars(label, 40);
gtk_box_append(GTK_BOX(box), label);
// Load CSS for beautiful background
provider = gtk_css_provider_new();
gtk_css_provider_load_from_string(provider,
"window {"
" background-color: #2E3440;" /* Dark bluish background */
" background-image: linear-gradient(135deg, #2E3440 0%, #3B4252 100%);"
" color: #ECEFF4;"
" font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;"
" font-size: 18px;"
"}"
"label {"
" margin: 30px;"
" padding: 30px;"
" background-color: rgba(59, 66, 82, 0.8);"
" border-radius: 16px;"
" box-shadow: 0 8px 16px rgba(0,0,0,0.4);"
"}"
);
// Apply CSS to the window
gtk_style_context_add_provider_for_display(
gdk_display_get_default(),
GTK_STYLE_PROVIDER(provider),
GTK_STYLE_PROVIDER_PRIORITY_USER);
g_object_unref(provider);
gtk_window_present(window);
}
int main(int argc, char **argv) {
GtkApplication *app;
int status;
app = gtk_application_new("org.example.Sprechen", G_APPLICATION_DEFAULT_FLAGS);
g_signal_connect(app, "activate", G_CALLBACK(activate), NULL);
status = g_application_run(G_APPLICATION(app), argc, argv);
g_object_unref(app);
return status;
}