From 7871fafb0a4d329c968d70f193426a1a8fb80c45 Mon Sep 17 00:00:00 2001 From: Patrick McDermott Date: Sun, 29 Oct 2017 18:38:45 -0400 Subject: mq_application_*_tab(): New tab registration functions --- (limited to 'src/application.c') diff --git a/src/application.c b/src/application.c index 98f3c98..38904c8 100644 --- a/src/application.c +++ b/src/application.c @@ -38,6 +38,8 @@ struct MqApplication { GList *windows; + GHashTable *tabs; + gint64 last_tab_id; MqConfig *config; WebKitSettings *settings; gboolean marquee_mode; @@ -82,6 +84,8 @@ mq_application_new(const gchar *profile, gboolean G_GNUC_UNUSED private) application->config = mq_config_new(profile); mq_config_load(application->config); application->windows = NULL; + application->tabs = g_hash_table_new(g_int64_hash, g_int64_equal); + application->last_tab_id = 0; application->marquee_mode = FALSE; #if defined(RUN_IN_PLACE) && RUN_IN_PLACE @@ -244,6 +248,27 @@ mq_application_delete_window(MqApplication *application, MqWindow *window) } } +gint64 +mq_application_register_tab(MqApplication *application, MqTabPage *tab_page) +{ + ++application->last_tab_id; + g_hash_table_insert(application->tabs, &application->last_tab_id, + tab_page); + return application->last_tab_id; +} + +gboolean +mq_application_unregister_tab(MqApplication *application, gint64 tab_id) +{ + return g_hash_table_remove(application->tabs, &tab_id); +} + +MqTabPage * +mq_application_get_tab(MqApplication *application, gint64 tab_id) +{ + return g_hash_table_lookup(application->tabs, &tab_id); +} + const gchar * mq_application_get_resources_dir(MqApplication *application) { -- cgit v0.9.1