GtkPathBar: Don't make current dir bold
This is closer to the nautilus path bar. https://bugzilla.gnome.org/show_bug.cgi?id=706451
This commit is contained in:
@ -1515,32 +1515,6 @@ get_dir_name (ButtonData *button_data)
|
|||||||
return button_data->dir_name;
|
return button_data->dir_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* We always want to request the same size for the label, whether
|
|
||||||
* or not the contents are bold
|
|
||||||
*/
|
|
||||||
static void
|
|
||||||
set_label_size_request (GtkWidget *widget,
|
|
||||||
ButtonData *button_data)
|
|
||||||
{
|
|
||||||
const gchar *dir_name = get_dir_name (button_data);
|
|
||||||
PangoLayout *layout = gtk_widget_create_pango_layout (button_data->label, dir_name);
|
|
||||||
gint width, height, bold_width, bold_height;
|
|
||||||
gchar *markup;
|
|
||||||
|
|
||||||
pango_layout_get_pixel_size (layout, &width, &height);
|
|
||||||
|
|
||||||
markup = g_markup_printf_escaped ("<b>%s</b>", dir_name);
|
|
||||||
pango_layout_set_markup (layout, markup, -1);
|
|
||||||
g_free (markup);
|
|
||||||
|
|
||||||
pango_layout_get_pixel_size (layout, &bold_width, &bold_height);
|
|
||||||
|
|
||||||
gtk_widget_set_size_request (widget,
|
|
||||||
MAX (width, bold_width),
|
|
||||||
MAX (height, bold_height));
|
|
||||||
g_object_unref (layout);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_path_bar_update_button_appearance (GtkPathBar *path_bar,
|
gtk_path_bar_update_button_appearance (GtkPathBar *path_bar,
|
||||||
ButtonData *button_data,
|
ButtonData *button_data,
|
||||||
@ -1550,18 +1524,7 @@ gtk_path_bar_update_button_appearance (GtkPathBar *path_bar,
|
|||||||
|
|
||||||
if (button_data->label != NULL)
|
if (button_data->label != NULL)
|
||||||
{
|
{
|
||||||
if (current_dir)
|
gtk_label_set_text (GTK_LABEL (button_data->label), dir_name);
|
||||||
{
|
|
||||||
char *markup;
|
|
||||||
|
|
||||||
markup = g_markup_printf_escaped ("<b>%s</b>", dir_name);
|
|
||||||
gtk_label_set_markup (GTK_LABEL (button_data->label), markup);
|
|
||||||
g_free (markup);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
gtk_label_set_text (GTK_LABEL (button_data->label), dir_name);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (button_data->image != NULL)
|
if (button_data->image != NULL)
|
||||||
@ -1655,7 +1618,6 @@ make_directory_button (GtkPathBar *path_bar,
|
|||||||
case NORMAL_BUTTON:
|
case NORMAL_BUTTON:
|
||||||
default:
|
default:
|
||||||
button_data->label = gtk_label_new (NULL);
|
button_data->label = gtk_label_new (NULL);
|
||||||
gtk_label_set_ellipsize (GTK_LABEL (button_data->label), PANGO_ELLIPSIZE_END);
|
|
||||||
child = button_data->label;
|
child = button_data->label;
|
||||||
button_data->image = NULL;
|
button_data->image = NULL;
|
||||||
}
|
}
|
||||||
@ -1664,13 +1626,6 @@ make_directory_button (GtkPathBar *path_bar,
|
|||||||
button_data->file = g_object_ref (file);
|
button_data->file = g_object_ref (file);
|
||||||
button_data->file_is_hidden = file_is_hidden;
|
button_data->file_is_hidden = file_is_hidden;
|
||||||
|
|
||||||
/*
|
|
||||||
* The following function ensures that the alignment will always
|
|
||||||
* request the same size whether the button's text is bold or not.
|
|
||||||
*/
|
|
||||||
if (button_data->label)
|
|
||||||
set_label_size_request (button_data->label, button_data);
|
|
||||||
|
|
||||||
gtk_container_add (GTK_CONTAINER (button_data->button), child);
|
gtk_container_add (GTK_CONTAINER (button_data->button), child);
|
||||||
gtk_widget_show_all (button_data->button);
|
gtk_widget_show_all (button_data->button);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user