1998-12-08 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c: Moved the old DnD cruft to olddnd.c to keep it there for reference purposes. * gmetadata.c: Removed the gmeta_get_icon_for_file() function, as it is obsoleted by gicon_get_icon_for_file(). * gdesktop.c (desktop_icon_info_new): Made it use gicon_get_icon_for_file(). * gdesktop-icon.c (set_icon): Now we handle things internally using an imlib image, not a filename. (desktop_icon_new): Now takes an imlib image for the icon instead of a filename. (desktop_icon_set_icon): Likewise.
Этот коммит содержится в:
родитель
b3876e6f41
Коммит
44a1b32eeb
@ -1,3 +1,20 @@
|
||||
1998-12-08 Federico Mena Quintero <federico@nuclecu.unam.mx>
|
||||
|
||||
* gdesktop.c: Moved the old DnD cruft to olddnd.c to keep it there
|
||||
for reference purposes.
|
||||
|
||||
* gmetadata.c: Removed the gmeta_get_icon_for_file() function, as
|
||||
it is obsoleted by gicon_get_icon_for_file().
|
||||
|
||||
* gdesktop.c (desktop_icon_info_new): Made it use
|
||||
gicon_get_icon_for_file().
|
||||
|
||||
* gdesktop-icon.c (set_icon): Now we handle things internally
|
||||
using an imlib image, not a filename.
|
||||
(desktop_icon_new): Now takes an imlib image for the icon instead
|
||||
of a filename.
|
||||
(desktop_icon_set_icon): Likewise.
|
||||
|
||||
1998-12-08 Miguel de Icaza <miguel@nuclecu.unam.mx>
|
||||
|
||||
* gtkdtree.c (gtk_dtree_new): Use imlib's visual and colormap.
|
||||
|
@ -180,24 +180,15 @@ desktop_icon_realize (GtkWidget *widget)
|
||||
NULL);
|
||||
}
|
||||
|
||||
/* Sets the icon from the specified image file. Does not re-create the window shape for the desktop
|
||||
/* Sets the icon from the specified image. Does not re-create the window shape for the desktop
|
||||
* icon.
|
||||
*/
|
||||
static void
|
||||
set_icon (DesktopIcon *dicon, char *image_file)
|
||||
set_icon (DesktopIcon *dicon, GdkImlibImage *im)
|
||||
{
|
||||
GdkImlibImage *im, *old_im;
|
||||
GdkImlibImage *old_im;
|
||||
GtkArg arg;
|
||||
|
||||
/* Load the new image */
|
||||
|
||||
if (!g_file_exists (image_file))
|
||||
return;
|
||||
|
||||
im = gdk_imlib_load_image (image_file);
|
||||
if (!im)
|
||||
return;
|
||||
|
||||
/* Destroy the old image if it exists */
|
||||
|
||||
arg.name = "image";
|
||||
@ -242,7 +233,7 @@ set_text (DesktopIcon *dicon, char *text)
|
||||
|
||||
/**
|
||||
* desktop_icon_new
|
||||
* @image_file: Name of the image file that contains the icon.
|
||||
* @image: Imlib image with the icon.
|
||||
* @text: Text to use for the icon.
|
||||
*
|
||||
* Creates a new desktop icon widget with the specified icon image and text. The icon has to be
|
||||
@ -251,16 +242,16 @@ set_text (DesktopIcon *dicon, char *text)
|
||||
* Returns the newly-created desktop icon widget.
|
||||
*/
|
||||
GtkWidget *
|
||||
desktop_icon_new (char *image_file, char *text)
|
||||
desktop_icon_new (GdkImlibImage *image, char *text)
|
||||
{
|
||||
DesktopIcon *dicon;
|
||||
|
||||
g_return_val_if_fail (image_file != NULL, NULL);
|
||||
g_return_val_if_fail (image != NULL, NULL);
|
||||
g_return_val_if_fail (text != NULL, NULL);
|
||||
|
||||
dicon = gtk_type_new (desktop_icon_get_type ());
|
||||
|
||||
set_icon (dicon, image_file);
|
||||
set_icon (dicon, image);
|
||||
set_text (dicon, text);
|
||||
desktop_icon_reshape (dicon);
|
||||
|
||||
@ -270,18 +261,18 @@ desktop_icon_new (char *image_file, char *text)
|
||||
/**
|
||||
* desktop_icon_set_icon
|
||||
* @dicon: The desktop icon to set the icon for
|
||||
* @image_file: Name of the image file that contains the icon
|
||||
* @image: Imlib image with the icon.
|
||||
*
|
||||
* Sets a new icon for an existing desktop icon. If the file does not exist, it does nothing.
|
||||
* Sets a new icon for an existing desktop icon.
|
||||
*/
|
||||
void
|
||||
desktop_icon_set_icon (DesktopIcon *dicon, char *image_file)
|
||||
desktop_icon_set_icon (DesktopIcon *dicon, GdkImlibImage *image)
|
||||
{
|
||||
g_return_if_fail (dicon != NULL);
|
||||
g_return_if_fail (IS_DESKTOP_ICON (dicon));
|
||||
g_return_if_fail (image_file != NULL);
|
||||
g_return_if_fail (image != NULL);
|
||||
|
||||
set_icon (dicon, image_file);
|
||||
set_icon (dicon, image);
|
||||
desktop_icon_reshape (dicon);
|
||||
}
|
||||
|
||||
|
@ -52,11 +52,11 @@ struct _DesktopIconClass {
|
||||
/* Standard Gtk function */
|
||||
GtkType desktop_icon_get_type (void);
|
||||
|
||||
/* Creates a new desktop icon from the specified image file, and with the specified title */
|
||||
GtkWidget *desktop_icon_new (char *image_file, char *text);
|
||||
/* Creates a new desktop icon from the specified image, and with the specified title */
|
||||
GtkWidget *desktop_icon_new (GdkImlibImage *image, char *text);
|
||||
|
||||
/* Sets the icon from the specified file name */
|
||||
void desktop_icon_set_icon (DesktopIcon *dicon, char *image_file);
|
||||
/* Sets the icon from the specified image */
|
||||
void desktop_icon_set_icon (DesktopIcon *dicon, GdkImlibImage *image);
|
||||
|
||||
/* Sets the icon's text */
|
||||
void desktop_icon_set_text (DesktopIcon *dicon, char *text);
|
||||
|
1503
gnome/gdesktop.c
1503
gnome/gdesktop.c
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
@ -13,44 +13,9 @@
|
||||
#include "../vfs/vfs.h"
|
||||
|
||||
|
||||
#define ICON_FILENAME "icon-filename"
|
||||
#define ICON_POSITION "icon-position"
|
||||
|
||||
|
||||
/**
|
||||
* gmeta_get_icon_for_file
|
||||
* @filename: The name of the file to get the icon for.
|
||||
*
|
||||
* Computes the name of the file that holds the icon for the specified file. The
|
||||
* resulting string is guaranteed to be non-NULL. You have to free this string
|
||||
* on your own.
|
||||
*
|
||||
* Returns the icon's file name.
|
||||
*/
|
||||
char *
|
||||
gmeta_get_icon_for_file (char *filename)
|
||||
{
|
||||
int size;
|
||||
char *buf;
|
||||
struct stat s;
|
||||
int retval;
|
||||
|
||||
g_return_val_if_fail (filename != NULL, NULL);
|
||||
|
||||
if (gnome_metadata_get (filename, ICON_FILENAME, &size, &buf) != 0) {
|
||||
/* Return a default icon */
|
||||
|
||||
retval = mc_stat (filename, &s);
|
||||
|
||||
if (!retval && S_ISDIR (s.st_mode))
|
||||
return gnome_unconditional_pixmap_file ("gnome-folder.png");
|
||||
else
|
||||
return gnome_unconditional_pixmap_file ("gnome-unknown.png");
|
||||
}
|
||||
|
||||
return buf;
|
||||
}
|
||||
|
||||
/**
|
||||
* gmeta_get_icon_pos
|
||||
* @filename: The file under ~/desktop for which to get the icon position
|
||||
|
@ -9,9 +9,6 @@
|
||||
#define GMETADATA_H
|
||||
|
||||
|
||||
/* Returns the icon filename for the specified file. You must free the name. */
|
||||
char *gmeta_get_icon_for_file (char *filename);
|
||||
|
||||
/* Returns the coordinates of the icon corresponding to the specified file. If no position
|
||||
* has been set, returns FALSE. Else it returns TRUE and sets the *x and *y values.
|
||||
*/
|
||||
|
1486
gnome/olddnd.c
1486
gnome/olddnd.c
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Загрузка…
Ссылка в новой задаче
Block a user