2
* This file is part of libslab.
4
* Copyright (c) 2006 Novell, Inc.
6
* Libslab is free software; you can redistribute it and/or modify it under the
7
* terms of the GNU Lesser General Public License as published by the Free
8
* Software Foundation; either version 2 of the License, or (at your option)
11
* Libslab is distributed in the hope that it will be useful, but WITHOUT ANY
12
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
16
* You should have received a copy of the GNU Lesser General Public License
17
* along with libslab; if not, write to the Free Software Foundation, Inc., 51
18
* Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21
#ifndef __SLAB_GNOME_UTIL_H__
22
#define __SLAB_GNOME_UTIL_H__
26
#include <libgnome/gnome-desktop-item.h>
30
#define SLAB_APPLICATION_BROWSER_KEY "/desktop/gnome/applications/main-menu/application_browser"
31
#define SLAB_SYSTEM_LIST_KEY "/desktop/gnome/applications/main-menu/system_list"
32
#define SLAB_FILE_BROWSER_KEY "/desktop/gnome/applications/main-menu/file_browser"
33
#define SLAB_SYSTEM_MONITOR_KEY "/desktop/gnome/applications/main-menu/system_monitor"
34
#define SLAB_NETWORK_CONFIG_TOOL_KEY "/desktop/gnome/applications/main-menu/network_config_tool"
35
#define SLAB_NETWORK_CONFIG_TOOL_NM_KEY "/desktop/gnome/applications/main-menu/network_config_tool_nm"
36
#define SLAB_URGENT_CLOSE_KEY "/desktop/gnome/applications/main-menu/urgent_close"
37
#define SLAB_LOCK_SCREEN_PRIORITY_KEY "/desktop/gnome/applications/main-menu/lock_screen_priority"
38
#define SLAB_MAIN_MENU_REORDERING_KEY "/desktop/gnome/applications/main-menu/main_menu_reordering"
39
#define SLAB_UPGRADE_PACKAGE_KEY "/desktop/gnome/applications/main-menu/upgrade_package_command"
40
#define SLAB_UNINSTALL_PACKAGE_KEY "/desktop/gnome/applications/main-menu/uninstall_package_command"
41
#define SLAB_USER_SPECIFIED_APPS_KEY "/desktop/gnome/applications/main-menu/file-area/user_specified_apps"
42
#define SLAB_APPLICATION_USE_DB_KEY "/desktop/gnome/applications/main-menu/file-area/app_use_db"
43
#define SLAB_FILE_ITEM_LIMIT "/desktop/gnome/applications/main-menu/file-area/item_limit"
44
#define SLAB_FILE_BLACKLIST "/desktop/gnome/applications/main-menu/file-area/file_blacklist"
45
#define SLAB_FILE_MANAGER_OPEN_CMD "/desktop/gnome/applications/main-menu/file-area/file_mgr_open_cmd"
46
#define SLAB_FILE_SEND_TO_CMD "/desktop/gnome/applications/main-menu/file-area/file_send_to_cmd"
48
gboolean get_slab_gconf_bool (const gchar * key);
49
gint get_slab_gconf_int (const gchar * key);
50
GSList *get_slab_gconf_slist (const gchar * key);
51
void free_slab_gconf_slist_of_strings (GSList * list);
52
void free_list_of_strings (GList * list);
53
gchar *get_slab_gconf_string (const gchar * key);
55
GnomeDesktopItem *load_desktop_item_from_gconf_key (const gchar * key);
56
GnomeDesktopItem *load_desktop_item_from_unknown (const gchar * id);
58
gchar *get_package_name_from_desktop_item (GnomeDesktopItem * desktop_item);
60
gboolean open_desktop_item_exec (GnomeDesktopItem * desktop_item);
61
gboolean open_desktop_item_help (GnomeDesktopItem * desktop_item);
63
gboolean desktop_item_is_in_main_menu (GnomeDesktopItem * desktop_item);
64
gboolean desktop_uri_is_in_main_menu (const gchar * uri);
66
gint desktop_item_location_compare (gconstpointer a, gconstpointer b);
68
gboolean slab_load_image (GtkImage * image, GtkIconSize size, const gchar * image_id);
70
gchar *string_replace_once (const gchar * str_template, const gchar * key, const gchar * value);
72
void spawn_process (const gchar * command);
73
void copy_file (const gchar * src_uri, const gchar * dst_uri);
76
#endif /* __SLAB_GNOME_UTIL_H__ */