~cairo-dock-team/cairo-dock-core/popup_from_shortkey

« back to all changes in this revision

Viewing changes to src/icon-factory/cairo-dock-desktop-file-factory.h

  • Committer: Fabrice Rey
  • Date: 2013-06-04 22:58:28 UTC
  • Revision ID: fabounet03@gmail.com-20130604225828-x8lg3mv9135jr114
updated various parts of the core to the new API (new icons type, 'delete' method, simplified functions, etc)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
* This file is a part of the Cairo-Dock project
3
 
*
4
 
* Copyright : (C) see the 'copyright' file.
5
 
* E-mail    : see the 'copyright' file.
6
 
*
7
 
* This program is free software; you can redistribute it and/or
8
 
* modify it under the terms of the GNU General Public License
9
 
* as published by the Free Software Foundation; either version 3
10
 
* of the License, or (at your option) any later version.
11
 
*
12
 
* This program is distributed in the hope that it will be useful,
13
 
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
 
* GNU General Public License for more details.
16
 
* You should have received a copy of the GNU General Public License
17
 
* along with this program.  If not, see <http://www.gnu.org/licenses/>.
18
 
*/
19
 
 
20
 
 
21
 
#ifndef __CAIRO_DOCK_DESKTOP_FILE_FACTORY__
22
 
#define  __CAIRO_DOCK_DESKTOP_FILE_FACTORY__
23
 
 
24
 
#include <glib.h>
25
 
 
26
 
#include "cairo-dock-icon-factory.h"
27
 
G_BEGIN_DECLS
28
 
 
29
 
/**
30
 
*@file cairo-dock-desktop-file-factory.h This class handles the creation and update of desktop files, which are group/key pair files used by Cairo-Dock to store information about icons : launchers, separators, sub-docks.
31
 
*/
32
 
 
33
 
typedef enum {
34
 
        CAIRO_DOCK_DESKTOP_FILE_FOR_LAUNCHER = 0,
35
 
        CAIRO_DOCK_DESKTOP_FILE_FOR_CONTAINER,
36
 
        CAIRO_DOCK_DESKTOP_FILE_FOR_SEPARATOR,
37
 
        CAIRO_DOCK_NB_DESKTOP_FILES
38
 
        } CairoDockDesktopFileType;
39
 
 
40
 
/** Replace the %20 by normal spaces into the string. The string is directly modified.
41
 
*@param cString the string (it can't be a constant string)
42
 
*/
43
 
void cairo_dock_remove_html_spaces (gchar *cString);
44
 
 
45
 
/** Create, add and fill a desktop file for a given URI. The URI can be either a common desktop file, a script, or a file/folder/mounting point.
46
 
*@param cURI URI of a file defining the launcher.
47
 
*@param cDockName name of the dock the separator will be added.
48
 
*@param fOrder order of the icon inside the dock.
49
 
*@param erreur an error filled if something went wrong.
50
 
* @return the name of the new desktop file, in a newly allocated string, or NULL if failed.
51
 
*/
52
 
gchar *cairo_dock_add_desktop_file_from_uri (const gchar *cURI, const gchar *cDockName, double fOrder, GError **erreur);
53
 
 
54
 
/** Create and add an empty default desktop file for a given type.
55
 
*@param iLauncherType type of the icon it will represent : launcher, file, container icon, separator.
56
 
*@param cDockName name of the dock the separator will be added.
57
 
*@param fOrder order of the icon inside the dock.
58
 
*@param erreur an error filled if something went wrong.
59
 
* @return the name of the new desktop file, in a newly allocated string, or NULL if failed.
60
 
*/
61
 
gchar *cairo_dock_add_desktop_file_from_type (CairoDockDesktopFileType iLauncherType, const gchar *cDockName, double fOrder, GError **erreur);
62
 
 
63
 
 
64
 
void cairo_dock_update_launcher_key_file (GKeyFile *pKeyFile, const gchar *cDesktopFilePath, CairoDockDesktopFileType iLauncherType);
65
 
 
66
 
 
67
 
void cairo_dock_write_container_name_in_conf_file (Icon *pIcon, const gchar *cParentDockName);
68
 
 
69
 
void cairo_dock_write_order_in_conf_file (Icon *pIcon, double fOrder);
70
 
 
71
 
 
72
 
G_END_DECLS
73
 
#endif
74