Merge branch 'theme-integration-in-preferences' into merge-with-theme-update

This commit is contained in:
deepend-tildeclub
2026-01-16 23:09:44 -07:00
committed by GitHub
41 changed files with 2360 additions and 3213 deletions

View File

@@ -84,6 +84,9 @@ static void mg_emoji_insert_cb (GtkMenuItem *item, session_gui *gui);
static void mg_create_entry (session *sess, GtkWidget *box);
static void mg_create_search (session *sess, GtkWidget *box);
#ifdef G_OS_WIN32
static GdkFilterReturn mg_win32_filter (GdkXEvent *xevent, GdkEvent *event, gpointer data);
#endif
static void mg_link_irctab (session *sess, int focus);
static session_gui static_mg_gui;
@@ -3358,8 +3361,11 @@ mg_create_irctab (session *sess, GtkWidget *table)
static void
mg_create_topwindow (session *sess)
{
GtkWidget *win;
GtkWidget *table;
GtkWidget *win;
GtkWidget *table;
#ifdef G_OS_WIN32
GdkWindow *parent_win;
#endif
if (sess->type == SESS_DIALOG)
win = gtkutil_window_new ("ZoiteChat", NULL,
@@ -3434,7 +3440,12 @@ mg_create_topwindow (session *sess)
mg_place_userlist_and_chanview (sess->gui);
gtk_widget_show (win);
gtk_widget_show (win);
#ifdef G_OS_WIN32
parent_win = gtk_widget_get_window (win);
gdk_window_add_filter (parent_win, mg_win32_filter, NULL);
#endif
}
static gboolean
@@ -3463,14 +3474,35 @@ mg_tabwindow_de_cb (GtkWidget *widget, GdkEvent *event, gpointer user_data)
#ifdef G_OS_WIN32
static GdkFilterReturn
mg_time_change (GdkXEvent *xevent, GdkEvent *event, gpointer data)
mg_win32_filter (GdkXEvent *xevent, GdkEvent *event, gpointer data)
{
MSG *msg = (MSG*)xevent;
if (msg->message == WM_TIMECHANGE)
{
_tzset();
}
if (!msg)
return GDK_FILTER_CONTINUE;
if (msg->message == WM_TIMECHANGE)
{
_tzset();
return GDK_FILTER_CONTINUE;
}
if (msg->message == WM_COPYDATA)
{
COPYDATASTRUCT *copy_data = (COPYDATASTRUCT *)msg->lParam;
if (copy_data && copy_data->lpData && copy_data->cbData > 0 && current_sess)
{
char *command = g_strndup ((const char *)copy_data->lpData, copy_data->cbData);
if (command)
{
handle_command (current_sess, command, FALSE);
g_free (command);
return GDK_FILTER_REMOVE;
}
}
}
return GDK_FILTER_CONTINUE;
}
@@ -3550,8 +3582,8 @@ mg_create_tabwindow (session *sess)
gtk_widget_show (win);
#ifdef G_OS_WIN32
parent_win = gtk_widget_get_window (win);
gdk_window_add_filter (parent_win, mg_time_change, NULL);
parent_win = gtk_widget_get_window (win);
gdk_window_add_filter (parent_win, mg_win32_filter, NULL);
#endif
}

File diff suppressed because it is too large Load Diff