gnome-control-center/capplets/background/gnome-wp-capplet.h

110 lines
2.6 KiB
C
Raw Normal View History

/*
* Authors: Rodney Dawes <dobey@ximian.com>
*
Update copyright info to have correct years (2003-2004) 2004-06-28 Rodney Dawes <dobey@novell.com> * *.[ch]: Update copyright info to have correct years (2003-2004) * gnome-wp-capplet.c (gnome_wp_capplet_scroll_to_item): Abstract this code out so that we don't have to duplicated it every time we want to scroll to a particular item in the list (gnome_wp_add_image): Update this to return the new item that we created, and don't scroll to or set as the wallpaper, every time we call this function Use the new gnome_wp_item_new () call to create items (gnome_wp_add_images): Change the API to not use the files argument any longer, as we don't need it without the GTK+ 2.2 compat code Add all the items to the list and select the last one when finished (gnome_wp_file_open_dialog): Update to not pass in the files argument to gnome_wp_add_images () and free the GSList of filenames (bg_add_multiple_files): merge this code into the normal callback for when images are dragged to the dialog (bg_properties_dragged_image): Don't check if the list is more than 1 or not here, and always call gnome_wp_add_images () with the full list that we are given Convert the GList of GnomeVFSURIs that we get from gnome-vfs to a GSList of char * uris to pass into gnome_wp_add_images () (gnome_wp_load_stuffs, gnome_wp_file_changed): Use the new gnome_wp_capplet_scroll_to_item () and gnome_wp_item_new () API calls instead of duplicating code * gnome-wp-capplet.h: Remove the GConf key path defines from here * gnome-wp-item.[ch]: Add the gnome_wp_item_new () call to create the GnomeWPItem structure for storing wallpapers in * gnome-wp-utils.h: Put the GConf key path defines in here * gnome-wp-xml.c (gnome_wp_load_legacy): Use the gnome_wp_item_new () call to create items from the old legacy (XD2 capplet) list file
2004-06-28 18:51:21 +00:00
* Copyright 2003-2004 Novell, Inc. (www.novell.com)
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of version 2 of the GNU General Public License
* as published by the Free Software Foundation
*
* 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 Street #330, Boston, MA 02111-1307, USA.
*
*/
#ifndef _GNOME_WP_CAPPLET_H_
#define _GNOME_WP_CAPPLET_H_
#include <config.h>
#include <gnome.h>
#include <glib.h>
#include <libgnomevfs/gnome-vfs.h>
#include <libgnomevfs/gnome-vfs-mime-handlers.h>
#include <libgnomevfs/gnome-vfs-mime-utils.h>
#include <libgnomeui/gnome-thumbnail.h>
#include <gconf/gconf-client.h>
#include <libxml/parser.h>
#include <glade/glade.h>
typedef struct _GnomeWPCapplet GnomeWPCapplet;
#include "gnome-wp-info.h"
#include "gnome-wp-item.h"
#include "gnome-wp-utils.h"
#include "gnome-wp-xml.h"
struct _GnomeWPCapplet {
GtkWidget * window;
/* List of files passed to command line */
GSList * uri_list;
/* The Tree View */
GtkWidget * treeview;
GtkTreeModel * model;
/* Option Menu for Scaling Options */
GtkWidget * wp_opts;
GtkWidget * rm_button;
/* Menu Items for Fill/Scale/Center/Tile Options */
GtkWidget * fitem;
GtkWidget * sitem;
GtkWidget * citem;
GtkWidget * witem;
/* Widgets for Color Options */
GtkWidget * color_opt;
GtkWidget * pc_picker;
GtkWidget * sc_picker;
/* Menu Items for Color Style Options */
GtkWidget * smenuitem;
GtkWidget * hmenuitem;
GtkWidget * vmenuitem;
/* GConf Client */
GConfClient * client;
/* Thumbnailing and Icon Theme stuff */
GnomeThumbnailFactory * thumbs;
GnomeIconTheme * theme;
/* Hash Table of Wallpapers */
GHashTable * wphash;
/* Keyboard Delay */
gint delay;
/* The Timeout ID for Setting the Wallpaper */
gint idleid;
/* File Chooser Dialog */
GtkWidget * filesel;
GtkWidget * image;
};
typedef enum {
GNOME_WP_SHADE_TYPE_SOLID,
GNOME_WP_SHADE_TYPE_HORIZ,
GNOME_WP_SHADE_TYPE_VERT
} GnomeWPShadeType;
typedef enum {
GNOME_WP_SCALE_TYPE_CENTERED,
GNOME_WP_SCALE_TYPE_STRETCHED,
GNOME_WP_SCALE_TYPE_SCALED,
GNOME_WP_SCALE_TYPE_TILED
} GnomeWPScaleType;
void gnome_wp_main_quit (GnomeWPCapplet * capplet);
#endif