mirror of https://github.com/daleclack/My_GtkUi
Add about page
This commit is contained in:
parent
f661abf671
commit
965d9a13ad
|
@ -2,6 +2,8 @@
|
||||||
#include "MyDock.h"
|
#include "MyDock.h"
|
||||||
#include "winpe.xpm"
|
#include "winpe.xpm"
|
||||||
|
|
||||||
|
static GtkWidget *dock;
|
||||||
|
|
||||||
static void btnlogin_clicked(GtkWidget *widget, GtkStack *stack)
|
static void btnlogin_clicked(GtkWidget *widget, GtkStack *stack)
|
||||||
{
|
{
|
||||||
gtk_stack_set_visible_child_name(stack, "main_page1");
|
gtk_stack_set_visible_child_name(stack, "main_page1");
|
||||||
|
@ -11,14 +13,70 @@ static void logout_activated(GSimpleAction *action,
|
||||||
GVariant *parmeter,
|
GVariant *parmeter,
|
||||||
gpointer win)
|
gpointer win)
|
||||||
{
|
{
|
||||||
|
// Logout
|
||||||
GtkWidget *stack = gtk_window_get_child(GTK_WINDOW(win));
|
GtkWidget *stack = gtk_window_get_child(GTK_WINDOW(win));
|
||||||
gtk_stack_set_visible_child_name(GTK_STACK(stack), "login_page1");
|
gtk_stack_set_visible_child_name(GTK_STACK(stack), "login_page1");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void quit_activated(GSimpleAction *action,
|
||||||
|
GVariant *parmeter,
|
||||||
|
gpointer win)
|
||||||
|
{
|
||||||
|
// Destroy the main window
|
||||||
|
gtk_window_destroy(GTK_WINDOW(win));
|
||||||
|
}
|
||||||
|
|
||||||
|
static void about_activated(GSimpleAction *action,
|
||||||
|
GVariant *parmeter,
|
||||||
|
gpointer win)
|
||||||
|
{
|
||||||
|
// Authors information
|
||||||
|
const char *authors[] = {
|
||||||
|
"Dale Clack",
|
||||||
|
"GCR_CMake on github https://github.com/Makman2/GCR_CMake",
|
||||||
|
NULL};
|
||||||
|
|
||||||
|
// Version information
|
||||||
|
char *version;
|
||||||
|
version = g_strdup_printf("7.0\nRunning Against: Gtk %d.%d.%d",
|
||||||
|
gtk_get_major_version(),
|
||||||
|
gtk_get_minor_version(),
|
||||||
|
gtk_get_micro_version());
|
||||||
|
|
||||||
|
// Get Year information
|
||||||
|
time_t t;
|
||||||
|
t = time(NULL);
|
||||||
|
struct tm *local;
|
||||||
|
local = localtime(&t);
|
||||||
|
|
||||||
|
// Copyright
|
||||||
|
char *copyright;
|
||||||
|
copyright = g_strdup_printf("© 2019—%04d The Xe Project", local->tm_year + 1900);
|
||||||
|
|
||||||
|
btnlaunch_clicked(NULL, MY_DOCK(dock));
|
||||||
|
// Show the about dialog
|
||||||
|
gtk_show_about_dialog(GTK_WINDOW(win),
|
||||||
|
"program-name", "My_GtkUI",
|
||||||
|
"version", version,
|
||||||
|
"copyright", copyright,
|
||||||
|
"comments", "A program that simulates desktop (Mac Version)",
|
||||||
|
"authors", authors,
|
||||||
|
"license-type", GTK_LICENSE_GPL_3_0,
|
||||||
|
"logo-icon-name", "My_GtkUI",
|
||||||
|
"title", "About My GtkUI Mac Version",
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
// Free Memory
|
||||||
|
g_free(version);
|
||||||
|
g_free(copyright);
|
||||||
|
}
|
||||||
|
|
||||||
void create_main_stack(GtkWindow *win)
|
void create_main_stack(GtkWindow *win)
|
||||||
{
|
{
|
||||||
static GActionEntry entries[] = {
|
static GActionEntry entries[] = {
|
||||||
{"logout", logout_activated, NULL, NULL, NULL}};
|
{"logout", logout_activated, NULL, NULL, NULL},
|
||||||
|
{"quit", quit_activated, NULL, NULL, NULL},
|
||||||
|
{"about", about_activated, NULL, NULL, NULL}};
|
||||||
|
|
||||||
// Create a builder
|
// Create a builder
|
||||||
GtkBuilder *builder = gtk_builder_new_from_resource("/org/gtk/daleclack/stack.ui");
|
GtkBuilder *builder = gtk_builder_new_from_resource("/org/gtk/daleclack/stack.ui");
|
||||||
|
@ -46,7 +104,7 @@ void create_main_stack(GtkWindow *win)
|
||||||
G_N_ELEMENTS(entries), win);
|
G_N_ELEMENTS(entries), win);
|
||||||
|
|
||||||
// Add dock and finder
|
// Add dock and finder
|
||||||
GtkWidget *dock = my_dock_new();
|
dock = my_dock_new();
|
||||||
gtk_widget_set_hexpand(dock, TRUE);
|
gtk_widget_set_hexpand(dock, TRUE);
|
||||||
gtk_widget_set_vexpand(dock, TRUE);
|
gtk_widget_set_vexpand(dock, TRUE);
|
||||||
gtk_box_append(GTK_BOX(main_page), dock);
|
gtk_box_append(GTK_BOX(main_page), dock);
|
||||||
|
|
|
@ -25,7 +25,7 @@ struct _MyDock
|
||||||
|
|
||||||
G_DEFINE_TYPE(MyDock, my_dock, GTK_TYPE_BOX)
|
G_DEFINE_TYPE(MyDock, my_dock, GTK_TYPE_BOX)
|
||||||
|
|
||||||
static void btnlaunch_clicked(GtkWidget *widget, MyDock *dock)
|
void btnlaunch_clicked(GtkWidget *widget, MyDock *dock)
|
||||||
{
|
{
|
||||||
// Check is launchpad page is shown and switch pages
|
// Check is launchpad page is shown and switch pages
|
||||||
if (dock->current_page == MainPage)
|
if (dock->current_page == MainPage)
|
||||||
|
|
|
@ -4,4 +4,6 @@
|
||||||
|
|
||||||
G_DECLARE_FINAL_TYPE(MyDock, my_dock, MY, DOCK, GtkBox)
|
G_DECLARE_FINAL_TYPE(MyDock, my_dock, MY, DOCK, GtkBox)
|
||||||
|
|
||||||
GtkWidget *my_dock_new();
|
GtkWidget *my_dock_new(); // Create a new MyDock
|
||||||
|
|
||||||
|
void btnlaunch_clicked(GtkWidget *widget, MyDock *dock); // Hide/Show the launchpad
|
||||||
|
|
Loading…
Reference in New Issue