mirror of
https://github.com/ZoiteChat/zoitechat.git
synced 2026-07-10 05:49:23 +00:00
Add topic layout prefs for inline modes/multiline topics
This commit is contained in:
@@ -58,6 +58,7 @@ static gboolean color_change;
|
||||
static struct zoitechatprefs setup_prefs;
|
||||
static GtkWidget *cancel_button;
|
||||
static GtkWidget *font_dialog = NULL;
|
||||
static GtkWidget *setup_topicbar_multiline_toggle = NULL;
|
||||
|
||||
enum
|
||||
{
|
||||
@@ -274,6 +275,8 @@ static const setting userlist_settings[] =
|
||||
{ST_TOGGLE, N_("Show icons for user modes"), P_OFFINTNL(hex_gui_ulist_icons), N_("Use graphical icons instead of text symbols in the user list."), 0, 0},
|
||||
{ST_TOGGLE, N_("Color nicknames in userlist"), P_OFFINTNL(hex_gui_ulist_color), N_("Will color nicknames the same as in chat."), 0, 0},
|
||||
{ST_TOGGLE, N_("Show user count in channels"), P_OFFINTNL(hex_gui_ulist_count), 0, 0, 0},
|
||||
{ST_TOGGLE, N_("Place mode buttons beside the topic"), P_OFFINTNL(hex_gui_mode_buttons_inline), 0, 0, 0},
|
||||
{ST_TOGGLE, N_("Allow multi-line topics"), P_OFFINTNL(hex_gui_topicbar_multiline), 0, 0, 0},
|
||||
{ST_MENU, N_("User list sorted by:"), P_OFFINTNL(hex_gui_ulist_sort), 0, ulmenutext, 0},
|
||||
{ST_MENU, N_("Show user list at:"), P_OFFINTNL(hex_gui_ulist_pos), 0, ulpos, 1},
|
||||
|
||||
@@ -833,6 +836,16 @@ setup_toggle_sensitive_cb (GtkToggleButton *but, GtkWidget *wid)
|
||||
gtk_widget_set_sensitive (wid, gtk_toggle_button_get_active (but));
|
||||
}
|
||||
|
||||
static void
|
||||
setup_topicbar_inline_toggled_cb (GtkToggleButton *but, gpointer userdata)
|
||||
{
|
||||
(void) userdata;
|
||||
|
||||
if (setup_topicbar_multiline_toggle)
|
||||
gtk_widget_set_sensitive (setup_topicbar_multiline_toggle,
|
||||
!gtk_toggle_button_get_active (but));
|
||||
}
|
||||
|
||||
static void
|
||||
setup_create_toggleR (GtkWidget *tab, int row, const setting *set)
|
||||
{
|
||||
@@ -859,6 +872,14 @@ setup_create_toggleL (GtkWidget *tab, int row, const setting *set)
|
||||
setup_get_int (&setup_prefs, set));
|
||||
g_signal_connect (G_OBJECT (wid), "toggled",
|
||||
G_CALLBACK (setup_toggle_cb), (gpointer)set);
|
||||
if (set->offset == STRUCT_OFFSET_INT (struct zoitechatprefs, hex_gui_mode_buttons_inline))
|
||||
g_signal_connect (G_OBJECT (wid), "toggled",
|
||||
G_CALLBACK (setup_topicbar_inline_toggled_cb), NULL);
|
||||
if (set->offset == STRUCT_OFFSET_INT (struct zoitechatprefs, hex_gui_topicbar_multiline))
|
||||
{
|
||||
setup_topicbar_multiline_toggle = wid;
|
||||
gtk_widget_set_sensitive (wid, !setup_prefs.hex_gui_mode_buttons_inline);
|
||||
}
|
||||
if (set->tooltip)
|
||||
gtk_widget_set_tooltip_text (wid, _(set->tooltip));
|
||||
setup_table_attach (tab, wid, 2, row==6 ? 6 : 4, row, row + 1, FALSE, FALSE,
|
||||
@@ -2286,6 +2307,8 @@ setup_apply (struct zoitechatprefs *pr)
|
||||
noapply = TRUE;
|
||||
if (DIFF (hex_gui_lagometer))
|
||||
noapply = TRUE;
|
||||
if (DIFF (hex_gui_mode_buttons_inline))
|
||||
noapply = TRUE;
|
||||
if (DIFF (hex_gui_tab_icons))
|
||||
noapply = TRUE;
|
||||
if (DIFF (hex_gui_tab_closebuttons))
|
||||
@@ -2300,6 +2323,8 @@ setup_apply (struct zoitechatprefs *pr)
|
||||
noapply = TRUE;
|
||||
if (DIFF (hex_gui_throttlemeter))
|
||||
noapply = TRUE;
|
||||
if (DIFF (hex_gui_topicbar_multiline))
|
||||
noapply = TRUE;
|
||||
if (DIFF (hex_gui_ulist_count))
|
||||
noapply = TRUE;
|
||||
if (DIFF (hex_gui_ulist_icons))
|
||||
|
||||
Reference in New Issue
Block a user