diff options
-rw-r--r-- | cmdline.cpp | 3 | ||||
-rw-r--r-- | gtk-info-popup.gob | 16 |
2 files changed, 16 insertions, 3 deletions
diff --git a/cmdline.cpp b/cmdline.cpp index 9f3a438..ea8894e 100644 --- a/cmdline.cpp +++ b/cmdline.cpp @@ -234,7 +234,8 @@ filename_complete(const gchar *filename, gchar completed) ? GTK_INFO_POPUP_DIRECTORY : GTK_INFO_POPUP_FILE; gtk_info_popup_add_filename(filename_popup, - type, (gchar *)file->data); + type, (gchar *)file->data, + FALSE); } gtk_widget_show(GTK_WIDGET(filename_popup)); diff --git a/gtk-info-popup.gob b/gtk-info-popup.gob index 65d13e8..b7dbf44 100644 --- a/gtk-info-popup.gob +++ b/gtk-info-popup.gob @@ -91,13 +91,15 @@ class Gtk:Info:Popup from Gtk:Window { } public void - add_filename(self, Gtk:Info:Popup:File:Type type, const gchar *filename) + add_filename(self, Gtk:Info:Popup:File:Type type, const gchar *filename, + gboolean highlight) { GtkWidget *vbox = gtk_bin_get_child(GTK_BIN(self)); const gchar *stock_id; GtkWidget *hbox; GtkWidget *image, *label; + gchar *markup; switch (type) { case GTK_INFO_POPUP_FILE: @@ -111,7 +113,17 @@ class Gtk:Info:Popup from Gtk:Window { hbox = gtk_hbox_new(FALSE, 5); image = gtk_image_new_from_stock(stock_id, GTK_ICON_SIZE_MENU); gtk_box_pack_start(GTK_BOX(hbox), image, FALSE, FALSE, 0); - label = gtk_label_new(filename); + + /* + * FIXME: setting Pango attributes directly would be + * much more efficient + */ + label = gtk_label_new(NULL); + markup = g_markup_printf_escaped("<span weight=\"%s\">%s</span>", + highlight ? "bold" : "normal", + filename); + gtk_label_set_markup(GTK_LABEL(label), markup); + g_free(markup); gtk_misc_set_alignment(GTK_MISC(label), 0., 0.5); gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 0); |