mirror of
https://gitlab.gnome.org/GNOME/nautilus
synced 2024-08-24 18:25:50 +00:00
![Cosimo Cecchi](/assets/img/avatar_default.png)
2009-02-02 Cosimo Cecchi <cosimoc@pluto> * libnautilus-extension/nautilus-column.c: (nautilus_column_finalize), (nautilus_column_init), (nautilus_column_class_init): * libnautilus-extension/nautilus-menu.c: (nautilus_menu_finalize): * libnautilus-private/nautilus-cell-renderer-pixbuf-emblem.c: (nautilus_cell_renderer_pixbuf_emblem_class_init), (nautilus_cell_renderer_pixbuf_emblem_finalize): * libnautilus-private/nautilus-cell-renderer-text-ellipsized.c: (nautilus_cell_renderer_text_ellipsized_init), (nautilus_cell_renderer_text_ellipsized_class_init), (nautilus_cell_renderer_text_ellipsized_get_size): * libnautilus-private/nautilus-entry.c: (nautilus_entry_finalize), (nautilus_entry_key_press), (nautilus_entry_motion_notify), (nautilus_entry_button_press), (nautilus_entry_button_release), (nautilus_entry_selection_clear), (nautilus_entry_class_init): * libnautilus-private/nautilus-file.c: (nautilus_file_init), (nautilus_file_constructor), (finalize), (nautilus_file_class_init): * libnautilus-private/nautilus-icon-canvas-item.c: (nautilus_icon_canvas_item_finalize), (nautilus_icon_canvas_item_update), (nautilus_icon_canvas_item_class_init): * libnautilus-private/nautilus-icon-container.c: (nautilus_icon_container_new): * libnautilus-private/nautilus-icon-container.h: * libnautilus-private/nautilus-mime-application-chooser.c: (nautilus_mime_application_chooser_finalize), (nautilus_mime_application_chooser_destroy), (nautilus_mime_application_chooser_class_init), (nautilus_mime_application_chooser_init): * libnautilus-private/nautilus-open-with-dialog.c: (nautilus_open_with_dialog_finalize), (nautilus_open_with_dialog_destroy), (nautilus_open_with_dialog_class_init), (nautilus_open_with_dialog_init): * src/file-manager/fm-icon-container.c: * src/file-manager/fm-list-model.c: (fm_list_model_dispose), (fm_list_model_finalize), (fm_list_model_class_init): * src/file-manager/fm-tree-model.c: (fm_tree_model_finalize), (fm_tree_model_class_init): Use G_DEFINE_TYPE_* instead of hand-written nautilus_foo_get_type() functions where possible. svn path=/trunk/; revision=14911
81 lines
2.7 KiB
C
81 lines
2.7 KiB
C
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*-
|
|
|
|
nautilus-cell-renderer-text-ellipsized.c: Cell renderer for text which
|
|
will use pango ellipsization but deactivate it temporarily for the size
|
|
calculation to get the size based on the actual text length.
|
|
|
|
Copyright (C) 2007 Martin Wehner
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU General Public License as
|
|
published by the Free Software Foundation; either version 2 of the
|
|
License, or (at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public
|
|
License along with this program; if not, write to the
|
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
Boston, MA 02111-1307, USA.
|
|
|
|
Author: Martin Wehner <martin.wehner@gmail.com>
|
|
*/
|
|
|
|
#include "nautilus-cell-renderer-text-ellipsized.h"
|
|
|
|
#define ELLIPSIZE_PROP "ellipsize"
|
|
|
|
static void nautilus_cell_renderer_text_ellipsized_get_size (GtkCellRenderer *cell,
|
|
GtkWidget *widget,
|
|
GdkRectangle *rectangle,
|
|
gint *x_offset,
|
|
gint *y_offset,
|
|
gint *width,
|
|
gint *height);
|
|
|
|
G_DEFINE_TYPE (NautilusCellRendererTextEllipsized, nautilus_cell_renderer_text_ellipsized,
|
|
GTK_TYPE_CELL_RENDERER_TEXT);
|
|
|
|
static void
|
|
nautilus_cell_renderer_text_ellipsized_init (NautilusCellRendererTextEllipsized *cell)
|
|
{
|
|
g_object_set (cell, ELLIPSIZE_PROP, PANGO_ELLIPSIZE_END, NULL);
|
|
}
|
|
|
|
static void
|
|
nautilus_cell_renderer_text_ellipsized_class_init (NautilusCellRendererTextEllipsizedClass *klass)
|
|
{
|
|
GtkCellRendererClass *cell_class = GTK_CELL_RENDERER_CLASS (klass);
|
|
|
|
cell_class->get_size = nautilus_cell_renderer_text_ellipsized_get_size;
|
|
}
|
|
|
|
GtkCellRenderer *
|
|
nautilus_cell_renderer_text_ellipsized_new (void)
|
|
{
|
|
return g_object_new (NAUTILUS_TYPE_CELL_RENDERER_TEXT_ELLIPSIZED, NULL);
|
|
}
|
|
|
|
static void
|
|
nautilus_cell_renderer_text_ellipsized_get_size (GtkCellRenderer *cell,
|
|
GtkWidget *widget,
|
|
GdkRectangle *cell_area,
|
|
gint *x_offset,
|
|
gint *y_offset,
|
|
gint *width,
|
|
gint *height)
|
|
{
|
|
g_object_set (cell, ELLIPSIZE_PROP, PANGO_ELLIPSIZE_NONE, NULL);
|
|
|
|
(* GTK_CELL_RENDERER_CLASS (nautilus_cell_renderer_text_ellipsized_parent_class)->get_size)
|
|
(cell, widget, cell_area,
|
|
x_offset, y_offset,
|
|
width, height);
|
|
|
|
g_object_set (cell, ELLIPSIZE_PROP, PANGO_ELLIPSIZE_END, NULL);
|
|
}
|
|
|