mirror of
https://github.com/ZoiteChat/zoitechat.git
synced 2026-04-01 02:00:19 +00:00
Compare commits
2 Commits
b32f6522ac
...
7c24c1137d
| Author | SHA1 | Date | |
|---|---|---|---|
| 7c24c1137d | |||
| 7138a8f397 |
@@ -307,6 +307,34 @@ mg_set_label_alignment_start (GtkWidget *widget)
|
|||||||
gtk_widget_set_valign (widget, GTK_ALIGN_CENTER);
|
gtk_widget_set_valign (widget, GTK_ALIGN_CENTER);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
mg_apply_compact_mode_css (GtkWidget *widget)
|
||||||
|
{
|
||||||
|
GtkStyleContext *context;
|
||||||
|
GtkCssProvider *provider;
|
||||||
|
|
||||||
|
if (!widget)
|
||||||
|
return;
|
||||||
|
|
||||||
|
context = gtk_widget_get_style_context (widget);
|
||||||
|
if (!context)
|
||||||
|
return;
|
||||||
|
|
||||||
|
provider = g_object_get_data (G_OBJECT (widget), "mg-mode-css-provider");
|
||||||
|
if (!provider)
|
||||||
|
{
|
||||||
|
provider = gtk_css_provider_new ();
|
||||||
|
g_object_set_data_full (G_OBJECT (widget), "mg-mode-css-provider", provider, g_object_unref);
|
||||||
|
}
|
||||||
|
|
||||||
|
gtk_css_provider_load_from_data (provider,
|
||||||
|
".zoitechat-mode-control { min-height: 11px; padding-top: 0; padding-bottom: 0; }"
|
||||||
|
".zoitechat-mode-control label { padding-top: 0; padding-bottom: 0; }",
|
||||||
|
-1, NULL);
|
||||||
|
gtk_style_context_add_class (context, "zoitechat-mode-control");
|
||||||
|
theme_css_apply_widget_provider (widget, GTK_STYLE_PROVIDER (provider));
|
||||||
|
}
|
||||||
|
|
||||||
static GtkWidget *
|
static GtkWidget *
|
||||||
mg_box_new (GtkOrientation orientation, gboolean homogeneous, gint spacing)
|
mg_box_new (GtkOrientation orientation, gboolean homogeneous, gint spacing)
|
||||||
{
|
{
|
||||||
@@ -2716,8 +2744,10 @@ mg_create_flagbutton (char *tip, GtkWidget *box, char *face)
|
|||||||
gtk_label_set_markup (GTK_LABEL(lbl), label_markup);
|
gtk_label_set_markup (GTK_LABEL(lbl), label_markup);
|
||||||
|
|
||||||
btn = gtk_toggle_button_new ();
|
btn = gtk_toggle_button_new ();
|
||||||
gtk_widget_set_size_request (btn, -1, 0);
|
gtk_widget_set_size_request (btn, -1, 11);
|
||||||
gtk_widget_set_tooltip_text (btn, tip);
|
gtk_widget_set_tooltip_text (btn, tip);
|
||||||
|
gtk_button_set_relief (GTK_BUTTON (btn), GTK_RELIEF_NONE);
|
||||||
|
mg_apply_compact_mode_css (btn);
|
||||||
gtk_container_add (GTK_CONTAINER(btn), lbl);
|
gtk_container_add (GTK_CONTAINER(btn), lbl);
|
||||||
|
|
||||||
gtk_box_pack_start (GTK_BOX (box), btn, 0, 0, 0);
|
gtk_box_pack_start (GTK_BOX (box), btn, 0, 0, 0);
|
||||||
@@ -2801,9 +2831,10 @@ mg_create_chanmodebuttons (session_gui *gui, GtkWidget *box)
|
|||||||
gui->key_entry = gtk_entry_new ();
|
gui->key_entry = gtk_entry_new ();
|
||||||
gtk_widget_set_name (gui->key_entry, "zoitechat-inputbox");
|
gtk_widget_set_name (gui->key_entry, "zoitechat-inputbox");
|
||||||
gtk_entry_set_max_length (GTK_ENTRY (gui->key_entry), 23);
|
gtk_entry_set_max_length (GTK_ENTRY (gui->key_entry), 23);
|
||||||
gtk_widget_set_size_request (gui->key_entry, 115, -1);
|
gtk_widget_set_size_request (gui->key_entry, 115, 11);
|
||||||
gtk_box_pack_start (GTK_BOX (box), gui->key_entry, 0, 0, 0);
|
gtk_box_pack_start (GTK_BOX (box), gui->key_entry, 0, 0, 0);
|
||||||
mg_apply_emoji_fallback_widget (gui->key_entry);
|
mg_apply_emoji_fallback_widget (gui->key_entry);
|
||||||
|
mg_apply_compact_mode_css (gui->key_entry);
|
||||||
g_signal_connect (G_OBJECT (gui->key_entry), "activate",
|
g_signal_connect (G_OBJECT (gui->key_entry), "activate",
|
||||||
G_CALLBACK (mg_key_entry_cb), NULL);
|
G_CALLBACK (mg_key_entry_cb), NULL);
|
||||||
g_signal_connect (G_OBJECT (gui->key_entry), "key-press-event",
|
g_signal_connect (G_OBJECT (gui->key_entry), "key-press-event",
|
||||||
@@ -2816,9 +2847,10 @@ mg_create_chanmodebuttons (session_gui *gui, GtkWidget *box)
|
|||||||
gui->limit_entry = gtk_entry_new ();
|
gui->limit_entry = gtk_entry_new ();
|
||||||
gtk_widget_set_name (gui->limit_entry, "zoitechat-inputbox");
|
gtk_widget_set_name (gui->limit_entry, "zoitechat-inputbox");
|
||||||
gtk_entry_set_max_length (GTK_ENTRY (gui->limit_entry), 10);
|
gtk_entry_set_max_length (GTK_ENTRY (gui->limit_entry), 10);
|
||||||
gtk_widget_set_size_request (gui->limit_entry, 30, -1);
|
gtk_widget_set_size_request (gui->limit_entry, 30, 11);
|
||||||
gtk_box_pack_start (GTK_BOX (box), gui->limit_entry, 0, 0, 0);
|
gtk_box_pack_start (GTK_BOX (box), gui->limit_entry, 0, 0, 0);
|
||||||
mg_apply_emoji_fallback_widget (gui->limit_entry);
|
mg_apply_emoji_fallback_widget (gui->limit_entry);
|
||||||
|
mg_apply_compact_mode_css (gui->limit_entry);
|
||||||
g_signal_connect (G_OBJECT (gui->limit_entry), "activate",
|
g_signal_connect (G_OBJECT (gui->limit_entry), "activate",
|
||||||
G_CALLBACK (mg_limit_entry_cb), NULL);
|
G_CALLBACK (mg_limit_entry_cb), NULL);
|
||||||
g_signal_connect (G_OBJECT (gui->limit_entry), "key-press-event",
|
g_signal_connect (G_OBJECT (gui->limit_entry), "key-press-event",
|
||||||
@@ -2904,11 +2936,14 @@ mg_create_dialogbuttons (GtkWidget *box)
|
|||||||
static void
|
static void
|
||||||
mg_create_topicbar (session *sess, GtkWidget *box)
|
mg_create_topicbar (session *sess, GtkWidget *box)
|
||||||
{
|
{
|
||||||
GtkWidget *hbox, *topic, *bbox;
|
GtkWidget *vbox, *hbox, *mode_hbox, *topic, *bbox;
|
||||||
session_gui *gui = sess->gui;
|
session_gui *gui = sess->gui;
|
||||||
|
|
||||||
gui->topic_bar = hbox = mg_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0);
|
gui->topic_bar = vbox = mg_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0);
|
||||||
gtk_box_pack_start (GTK_BOX (box), hbox, 0, 0, 0);
|
gtk_box_pack_start (GTK_BOX (box), vbox, 0, 0, 0);
|
||||||
|
|
||||||
|
hbox = mg_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0);
|
||||||
|
gtk_box_pack_start (GTK_BOX (vbox), hbox, 0, 0, 0);
|
||||||
|
|
||||||
if (!gui->is_tab)
|
if (!gui->is_tab)
|
||||||
sess->res->tab = NULL;
|
sess->res->tab = NULL;
|
||||||
@@ -2931,13 +2966,16 @@ mg_create_topicbar (session *sess, GtkWidget *box)
|
|||||||
g_signal_connect (G_OBJECT (topic), "leave-notify-event",
|
g_signal_connect (G_OBJECT (topic), "leave-notify-event",
|
||||||
G_CALLBACK (mg_topic_leave_cb), NULL);
|
G_CALLBACK (mg_topic_leave_cb), NULL);
|
||||||
|
|
||||||
gui->topicbutton_box = bbox = mg_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0);
|
gui->dialogbutton_box = bbox = mg_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0);
|
||||||
gtk_box_pack_start (GTK_BOX (hbox), bbox, 0, 0, 0);
|
gtk_box_pack_start (GTK_BOX (hbox), bbox, 0, 0, 0);
|
||||||
mg_create_chanmodebuttons (gui, bbox);
|
mg_create_dialogbuttons (bbox);
|
||||||
|
|
||||||
gui->dialogbutton_box = bbox = mg_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0);
|
mode_hbox = mg_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0);
|
||||||
gtk_box_pack_start (GTK_BOX (hbox), bbox, 0, 0, 0);
|
gtk_box_pack_start (GTK_BOX (vbox), mode_hbox, 0, 0, 0);
|
||||||
mg_create_dialogbuttons (bbox);
|
|
||||||
|
gui->topicbutton_box = bbox = mg_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0);
|
||||||
|
gtk_box_pack_end (GTK_BOX (mode_hbox), bbox, 0, 0, 0);
|
||||||
|
mg_create_chanmodebuttons (gui, bbox);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* check if a word is clickable */
|
/* check if a word is clickable */
|
||||||
@@ -3290,19 +3328,16 @@ mg_theme_window_destroy_cb (GtkWidget *widget, gpointer userdata)
|
|||||||
static void
|
static void
|
||||||
mg_create_userlist (session_gui *gui, GtkWidget *box)
|
mg_create_userlist (session_gui *gui, GtkWidget *box)
|
||||||
{
|
{
|
||||||
GtkWidget *frame, *ulist, *vbox;
|
GtkWidget *ulist, *vbox;
|
||||||
|
|
||||||
vbox = mg_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 1);
|
vbox = mg_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 1);
|
||||||
gtk_box_pack_start (GTK_BOX (box), vbox, TRUE, TRUE, 0);
|
gtk_box_pack_start (GTK_BOX (box), vbox, TRUE, TRUE, 0);
|
||||||
|
|
||||||
frame = gtk_frame_new (NULL);
|
|
||||||
if (prefs.hex_gui_ulist_count)
|
|
||||||
gtk_box_pack_start (GTK_BOX (vbox), frame, 0, 0, GUI_SPACING);
|
|
||||||
|
|
||||||
gui->namelistinfo = gtk_label_new (NULL);
|
gui->namelistinfo = gtk_label_new (NULL);
|
||||||
gtk_label_set_xalign (GTK_LABEL (gui->namelistinfo), 0.0f);
|
gtk_label_set_xalign (GTK_LABEL (gui->namelistinfo), 0.0f);
|
||||||
gtk_widget_set_halign (gui->namelistinfo, GTK_ALIGN_START);
|
gtk_widget_set_halign (gui->namelistinfo, GTK_ALIGN_START);
|
||||||
gtk_container_add (GTK_CONTAINER (frame), gui->namelistinfo);
|
if (prefs.hex_gui_ulist_count)
|
||||||
|
gtk_box_pack_start (GTK_BOX (vbox), gui->namelistinfo, 0, 0, 0);
|
||||||
|
|
||||||
gui->user_tree = ulist = userlist_create (vbox);
|
gui->user_tree = ulist = userlist_create (vbox);
|
||||||
|
|
||||||
|
|||||||
@@ -886,7 +886,7 @@ userlist_create (GtkWidget *box)
|
|||||||
treeview = gtk_tree_view_new ();
|
treeview = gtk_tree_view_new ();
|
||||||
gtk_widget_set_name (treeview, "zoitechat-userlist");
|
gtk_widget_set_name (treeview, "zoitechat-userlist");
|
||||||
gtk_widget_set_can_focus (treeview, TRUE);
|
gtk_widget_set_can_focus (treeview, TRUE);
|
||||||
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview), TRUE);
|
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview), FALSE);
|
||||||
gtk_tree_selection_set_mode (gtk_tree_view_get_selection
|
gtk_tree_selection_set_mode (gtk_tree_view_get_selection
|
||||||
(GTK_TREE_VIEW (treeview)),
|
(GTK_TREE_VIEW (treeview)),
|
||||||
GTK_SELECTION_MULTIPLE);
|
GTK_SELECTION_MULTIPLE);
|
||||||
|
|||||||
Reference in New Issue
Block a user