31
31
cd_debug ("%s (%s)", __func__, cCompar);
34
34
while (cString[i] != NULL) {
35
g_print (" %s\n", cString[i]);
36
35
tmp = g_strstr_len (cCompar, -1, cString[i]);
38
37
return TRUE; //We found what we want
59
58
if (strncmp (cContent, "http://", 7) == 0 || strncmp (cContent, "https://", 8) == 0)
61
pIcon = g_new0 (Icon, 1);
62
pIcon->cCommand = cContent;
60
pIcon = cairo_dock_create_dummy_launcher (NULL,
61
g_strdup (myConfig.cUrlIcon),
63
65
pIcon->iVolumeID = 1;
64
pIcon->cFileName = g_strdup (myConfig.cUrlIcon);
69
70
gboolean bIsDirectory;
72
cairo_dock_fm_get_file_info (cContent, &cCanonicName, &cRealURI, &cIconName, &bIsDirectory, &iVolumeID, &fOrder, mySystem.iFileSortType);
73
cairo_dock_fm_get_file_info (cContent, &cCanonicName, &cRealURI, &cIconName, &bIsDirectory, &iVolumeID, &fOrder, CAIRO_DOCK_FM_SORT_BY_NAME);
73
74
cd_debug ("un fichier -> %s , %s", cCanonicName, cIconName);
84
pIcon = g_new0 (Icon, 1);
85
pIcon->cCommand = cContent;
85
pIcon = cairo_dock_create_dummy_launcher (NULL,
86
90
pIcon->iVolumeID = 1; // on l'utilisera comme un flag.
87
if (pIcon->cName == NULL)
88
pIcon->cName = cCanonicName;
90
g_free (cCanonicName);
92
pIcon->cFileName = cIconName;
91
g_free (cCanonicName);
97
pIcon = g_new0 (Icon, 1);
98
pIcon->cCommand = cContent;
99
pIcon->cFileName = g_strdup (myConfig.cTextIcon);
96
pIcon = cairo_dock_create_dummy_launcher (NULL,
97
g_strdup (myConfig.cTextIcon),
102
103
pIcon->cName = g_key_file_get_string (pKeyFile, "Desktop Entry", "Name", &erreur);
134
135
Icon *cd_stack_build_one_icon_from_file (CairoDockModuleInstance *myApplet, gchar *cDesktopFilePath)
136
137
GKeyFile *pKeyFile = cairo_dock_open_key_file (cDesktopFilePath);
137
g_return_val_if_fail (pKeyFile != NULL, NULL) ;
138
g_return_val_if_fail (pKeyFile != NULL, NULL);
139
140
Icon *pIcon = cd_stack_build_one_icon (myApplet, pKeyFile);
141
142
g_key_file_free (pKeyFile);
144
GList *cd_stack_insert_icon_in_list (CairoDockModuleInstance *myApplet, GList *pIconsList, Icon *pIcon)
146
g_return_val_if_fail (pIcon != NULL, pIconsList);
147
switch (myConfig.iSortType)
149
case CD_STACK_SORT_BY_DATE :
150
case CD_STACK_SORT_MANUALLY :
151
pIconsList = g_list_insert_sorted (pIconsList, pIcon, (GCompareFunc) cairo_dock_compare_icons_order);
153
case CD_STACK_SORT_BY_NAME :
154
pIconsList = g_list_insert_sorted (pIconsList, pIcon, (GCompareFunc) cairo_dock_compare_icons_name);
156
case CD_STACK_SORT_BY_TYPE :
158
pIconsList = g_list_insert_sorted (pIconsList, pIcon, (GCompareFunc) cairo_dock_compare_icons_extension);
163
146
GList *cd_stack_build_icons_list (CairoDockModuleInstance *myApplet, gchar *cStackDir)
148
// on parcourt tous les fichiers du repertoire.
165
149
GDir *dir = g_dir_open (cStackDir, 0, NULL);
166
150
g_return_val_if_fail (dir != NULL, NULL);
170
154
GString *sDesktopFilePath = g_string_new ("");
171
155
const gchar *cFileName;
156
while ((cFileName = g_dir_read_name (dir)) != NULL)
174
cFileName = g_dir_read_name (dir);
175
if (cFileName == NULL)
178
158
g_string_printf (sDesktopFilePath, "%s/%s", cStackDir, cFileName);
180
160
pIcon = cd_stack_build_one_icon_from_file (myApplet, sDesktopFilePath->str);
183
163
pIcon->cDesktopFileName = g_strdup (cFileName);
185
pIconsList = cd_stack_insert_icon_in_list (myApplet, pIconsList, pIcon);
165
pIconsList = g_list_prepend (pIconsList, pIcon);
189
169
g_string_free (sDesktopFilePath, TRUE);
190
170
g_dir_close (dir);
172
// on classe la liste.
173
if (myConfig.iSortType == CD_STACK_SORT_BY_NAME)
175
pIconsList = g_list_sort (pIconsList, (GCompareFunc) cairo_dock_compare_icons_name);
178
for (ic = pIconsList; ic != NULL; ic = ic->next)
181
pIcon->fOrder = i ++;
184
else if (myConfig.iSortType == CD_STACK_SORT_BY_TYPE)
186
pIconsList = g_list_sort (pIconsList, (GCompareFunc) cairo_dock_compare_icons_extension); /// a defaut d'avoir les types mime...
189
for (ic = pIconsList; ic != NULL; ic = ic->next)
192
pIcon->fOrder = i ++;
197
pIconsList = g_list_sort (pIconsList, (GCompareFunc) cairo_dock_compare_icons_order);
191
200
return pIconsList;