39
39
#include "cairo-dock-icons.h"
42
extern gint g_iScreenWidth;
43
extern gint g_iScreenHeight;
44
42
extern gboolean g_bReserveSpace;
45
43
extern int g_iLeaveSubDockDelay;
47
45
extern gint g_iDockLineWidth;
48
46
extern gint g_iDockRadius;
49
47
extern gint g_iFrameMargin;
50
extern int g_iLabelSize;
51
48
extern int g_iIconGap;
52
extern double g_fSubDockSizeRatio;
53
extern int g_iMaxAuthorizedWidth;
55
50
extern gchar *g_cCurrentLaunchersPath;
57
52
extern double g_fAmplitude;
58
53
extern int g_iSinusoidWidth;
60
extern double g_fUnfoldAcceleration;
61
extern gboolean g_bAutoHide;
63
extern gboolean g_bUniquePid;
65
55
extern int g_tIconTypeOrder[CAIRO_DOCK_NB_TYPES];
66
extern gchar *g_cConfFile;
70
*Libere toutes les ressources liees a une icone, ainsi que cette derniere. Le sous-dock pointee par elle n'est pas dereference, cela doit etre fait au prealable.
71
*@param icon l'icone a liberer.
73
58
void cairo_dock_free_icon (Icon *icon)
77
62
cd_message ("%s (%s , %s)", __func__, icon->acName, icon->cClass);
79
64
cairo_dock_remove_dialog_if_any (icon);
80
65
if (CAIRO_DOCK_IS_NORMAL_APPLI (icon))
81
66
cairo_dock_unregister_appli (icon);
82
67
else if (icon->cClass != NULL) // c'est un inhibiteur.
83
68
cairo_dock_deinhibate_class (icon->cClass, icon);
84
cairo_dock_deactivate_module (icon->pModule);
69
if (icon->pModuleInstance != NULL)
70
cairo_dock_deinstanciate_module (icon->pModuleInstance);
86
72
cairo_dock_free_icon_buffers (icon);
122
108
return CAIRO_DOCK_LAUNCHER;
126
*Compare 2 icones grace a la relation d'ordre sur le couple (position du type , ordre).
127
*@param icon1 une icone.
128
*@param icon2 une autre icone.
129
*@Returns -1 si icone1 < icone2, 1 si icone1 > icone2, 0 si icone1 = icone2 (au sens de la relation d'ordre).
131
112
int cairo_dock_compare_icons_order (Icon *icon1, Icon *icon2)
133
int iOrder1 = cairo_dock_get_group_order (icon1);
134
int iOrder2 = cairo_dock_get_group_order (icon2);
114
int iOrder1 = cairo_dock_get_icon_order (icon1);
115
int iOrder2 = cairo_dock_get_icon_order (icon2);
135
116
if (iOrder1 < iOrder2)
137
118
else if (iOrder1 > iOrder2)
163
*Trie une liste en se basant sur la relation d'ordre sur le couple (position du type , ordre).
164
*@param pIconList la liste d'icones.
165
*@Returns la liste triee. Les elements sont les memes que ceux de la liste initiale, seul leur ordre a change.
144
int cairo_dock_compare_icons_extension (Icon *icon1, Icon *icon2)
146
if (icon1->cBaseURI == NULL)
148
if (icon2->cBaseURI == NULL)
151
gchar *ext1 = strrchr (icon1->cBaseURI, '.');
152
gchar *ext2 = strrchr (icon2->cBaseURI, '.');
158
ext1 = g_ascii_strdown (ext1+1, -1);
159
ext2 = g_ascii_strdown (ext2+1, -1);
161
int iOrder = strcmp (ext1, ext2);
167
167
GList *cairo_dock_sort_icons_by_order (GList *pIconList)
169
169
return g_list_sort (pIconList, (GCompareFunc) cairo_dock_compare_icons_order);
172
*Trie une liste en se basant sur la relation d'ordre alphanumerique sur le nom des icones.
173
*@param pIconList la liste d'icones.
174
*@Returns la liste triee. Les elements sont les memes que ceux de la liste initiale, seul leur ordre a change. Les ordres des icones sont mis a jour pour refleter le nouvel ordre global.
176
172
GList *cairo_dock_sort_icons_by_name (GList *pIconList)
178
174
GList *pSortedIconList = g_list_sort (pIconList, (GCompareFunc) cairo_dock_compare_icons_name);
192
*Renvoie la 1ere icone d'une liste d'icones.
193
*@param pIconList la liste d'icones.
194
*@Returns la 1ere icone, ou NULL si la liste est vide.
196
188
Icon* cairo_dock_get_first_icon (GList *pIconList)
198
190
GList *pListHead = g_list_first(pIconList);
199
191
return (pListHead != NULL ? pListHead->data : NULL);
202
*Renvoie la derniere icone d'une liste d'icones.
203
*@param pIconList la liste d'icones.
204
*@Returns la derniere icone, ou NULL si la liste est vide.
206
194
Icon* cairo_dock_get_last_icon (GList *pIconList)
208
196
GList *pListTail = g_list_last(pIconList);
209
197
return (pListTail != NULL ? pListTail->data : NULL);
212
*Renvoie la 1ere icone a etre dessinee d'une liste d'icones (qui n'est pas forcement la 1ere icone de la liste, si l'utilisateur a scrolle).
213
*@param pIconList la liste d'icones.
214
*@Returns la 1ere icone a etre dessinee, ou NULL si la liste est vide.
216
200
Icon *cairo_dock_get_first_drawn_icon (CairoDock *pDock)
218
202
if (pDock->pFirstDrawnElement != NULL)
221
205
return cairo_dock_get_first_icon (pDock->icons);
224
*Renvoie la derniere icone a etre dessinee d'une liste d'icones (qui n'est pas forcement la derniere icone de la liste, si l'utilisateur a scrolle).
225
*@param pIconList la liste d'icones.
226
*@Returns la derniere icone a etre dessinee, ou NULL si la liste est vide.
228
208
Icon *cairo_dock_get_last_drawn_icon (CairoDock *pDock)
230
210
if (pDock->pFirstDrawnElement != NULL)
238
218
return cairo_dock_get_last_icon (pDock->icons);;
241
*Renvoie la 1ere icone du type donne.
242
*@param pIconList la liste d'icones.
243
*@param iType le type d'icone recherche.
244
*@Returns la 1ere icone trouvee ayant ce type, ou NULL si aucune icone n'est trouvee.
246
221
Icon* cairo_dock_get_first_icon_of_type (GList *pIconList, CairoDockIconType iType)
421
void cairo_dock_normalize_icons_order (GList *pIconList, CairoDockIconType iType)
423
g_print ("%s (%d)\n", __func__, iType);
425
int iGroupOrder = cairo_dock_get_group_order (iType);
426
GString *sDesktopFilePath = g_string_new ("");
429
for (ic = pIconList; ic != NULL; ic = ic->next)
432
if (cairo_dock_get_icon_order (icon) != iGroupOrder)
435
icon->fOrder = iOrder ++;
436
if (icon->acDesktopFileName != NULL)
438
g_string_printf (sDesktopFilePath, "%s/%s", g_cCurrentLaunchersPath, icon->acDesktopFileName);
439
cairo_dock_update_conf_file (sDesktopFilePath->str,
440
G_TYPE_DOUBLE, "Icon", "order", icon->fOrder,
443
else if (CAIRO_DOCK_IS_APPLET (icon))
445
cairo_dock_update_conf_file (icon->pModuleInstance->cConfFilePath,
446
G_TYPE_DOUBLE, "Icon", "order", icon->fOrder,
450
g_string_free (sDesktopFilePath, TRUE);
445
453
void cairo_dock_swap_icons (CairoDock *pDock, Icon *icon1, Icon *icon2)
467
475
g_key_file_load_from_file (pKeyFile, cDesktopFilePath, G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, &erreur);
468
476
if (erreur != NULL)
470
cd_warning ("Attention : %s", erreur->message);
478
cd_warning ("%s", erreur->message);
471
479
g_error_free (erreur);
485
493
g_key_file_load_from_file (pKeyFile, cDesktopFilePath, G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, &erreur);
486
494
if (erreur != NULL)
488
cd_warning ("Attention : %s", erreur->message);
496
cd_warning ("%s", erreur->message);
489
497
g_error_free (erreur);
515
523
//\_________________ On met a jour l'ordre des applets dans le fichier de conf.
516
524
if (CAIRO_DOCK_IS_APPLET (icon1))
517
cairo_dock_update_module_order (icon1->pModule, icon1->fOrder);
518
///cairo_dock_update_conf_file_with_active_modules (NULL, g_cConfFile, pDock->icons);
525
cairo_dock_update_module_instance_order (icon1->pModuleInstance, icon1->fOrder);
519
526
if (CAIRO_DOCK_IS_APPLET (icon2))
520
cairo_dock_update_module_order (icon2->pModule, icon2->fOrder);
527
cairo_dock_update_module_instance_order (icon2->pModuleInstance, icon2->fOrder);
528
if (fabs (icon2->fOrder - icon1->fOrder) < 1e-3)
530
cairo_dock_normalize_icons_order (pDock->icons, icon1->iType);
523
534
void cairo_dock_move_icon_after_icon (CairoDock *pDock, Icon *icon1, Icon *icon2)
525
536
//g_print ("%s (%s, %.2f)\n", __func__, icon1->acName, icon1->fOrder);
526
if ((icon2 != NULL) && (! ( (CAIRO_DOCK_IS_APPLI (icon1) && CAIRO_DOCK_IS_APPLI (icon2)) || (CAIRO_DOCK_IS_LAUNCHER (icon1) && CAIRO_DOCK_IS_LAUNCHER (icon2)) || (CAIRO_DOCK_IS_APPLET (icon1) && CAIRO_DOCK_IS_APPLET (icon2)) ) ))
537
///if ((icon2 != NULL) && (! ( (CAIRO_DOCK_IS_APPLI (icon1) && CAIRO_DOCK_IS_APPLI (icon2)) || (CAIRO_DOCK_IS_LAUNCHER (icon1) && CAIRO_DOCK_IS_LAUNCHER (icon2)) || (CAIRO_DOCK_IS_APPLET (icon1) && CAIRO_DOCK_IS_APPLET (icon2)) ) ))
538
if ((icon2 != NULL) && fabs (cairo_dock_get_icon_order (icon1) - cairo_dock_get_icon_order (icon2)) > 1)
529
540
//\_________________ On change l'ordre de l'icone.
530
541
if (icon2 != NULL)
532
543
Icon *pNextIcon = cairo_dock_get_next_icon (pDock->icons, icon2);
533
if (pNextIcon == NULL || pNextIcon->iType != icon2->iType)
544
if (pNextIcon == NULL || cairo_dock_get_icon_order (pNextIcon) != cairo_dock_get_icon_order (icon2))
534
545
icon1->fOrder = icon2->fOrder + 1;
536
547
icon1->fOrder = (pNextIcon->fOrder - icon2->fOrder > 1 ? icon2->fOrder + 1 : (pNextIcon->fOrder + icon2->fOrder) / 2);
549
if (fabs (icon2->fOrder - icon1->fOrder) < 1e-3)
551
cairo_dock_normalize_icons_order (pDock->icons, icon1->iType);
547
563
//\_________________ On change l'ordre dans le fichier du lanceur 1.
548
if (CAIRO_DOCK_IS_LAUNCHER (icon1) && icon1->acDesktopFileName != NULL)
564
if ((CAIRO_DOCK_IS_LAUNCHER (icon1) || CAIRO_DOCK_IS_SEPARATOR (icon1)) && icon1->acDesktopFileName != NULL)
550
566
GError *erreur = NULL;
551
567
gchar *cDesktopFilePath = g_strdup_printf ("%s/%s", g_cCurrentLaunchersPath, icon1->acDesktopFileName);
553
569
g_key_file_load_from_file (pKeyFile, cDesktopFilePath, G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, &erreur);
554
570
if (erreur != NULL)
556
cd_warning ("Attention : %s", erreur->message);
572
cd_warning ("%s", erreur->message);
557
573
g_error_free (erreur);
579
595
//\_________________ On prend en compte le changement de position pour les applets.
580
596
if (CAIRO_DOCK_IS_APPLET (icon1))
581
cairo_dock_update_module_order (icon1->pModule, icon1->fOrder);
582
///cairo_dock_update_conf_file_with_active_modules (NULL, g_cConfFile, pDock->icons);
597
cairo_dock_update_module_instance_order (icon1->pModuleInstance, icon1->fOrder);
587
602
gboolean cairo_dock_detach_icon_from_dock (Icon *icon, CairoDock *pDock, gboolean bCheckUnusedSeparator)
589
if (g_list_find (pDock->icons, icon) == NULL) // elle est deja detachee.
604
if (pDock == NULL || g_list_find (pDock->icons, icon) == NULL) // elle est deja detachee.
592
607
cd_message ("%s (%s)", __func__, icon->acName);
670
685
//\___________________ On la remet a la taille normale en vue d'une reinsertion quelque part.
671
686
///if (pDock->iRefCount > 0)
673
icon->fWidth /= pDock->fRatio; /// g_fSubDockSizeRatio
688
icon->fWidth /= pDock->fRatio;
674
689
icon->fHeight /= pDock->fRatio;
676
691
//g_print (" -size <- %.2fx%.2f\n", icon->fWidth, icon->fHeight);
684
699
Icon *pSameTypeIcon = cairo_dock_get_first_icon_of_type (pDock->icons, icon->iType);
685
700
if (pSameTypeIcon == NULL)
687
int iOrder = cairo_dock_get_group_order (icon);
702
int iOrder = cairo_dock_get_icon_order (icon);
688
703
if (iOrder > 1) // attention : iType - 1 > 0 si iType = 0, car c'est un unsigned int !
689
704
pSeparatorIcon = cairo_dock_get_first_icon_of_type (pDock->icons, iOrder - 1);
690
705
else if (iOrder + 1 < CAIRO_DOCK_NB_TYPES)
703
719
static void _cairo_dock_remove_one_icon_from_dock (CairoDock *pDock, Icon *icon, gboolean bCheckUnusedSeparator)
705
g_return_if_fail (icon != NULL);
721
g_return_if_fail (icon != NULL && pDock != NULL);
706
722
//\___________________ On effectue les taches de fermeture de l'icone suivant son type.
707
723
if (icon->acDesktopFileName != NULL)
715
731
cairo_dock_fm_remove_monitor (icon);
718
if (CAIRO_DOCK_IS_NORMAL_APPLI (icon))
720
cairo_dock_unregister_appli (icon);
722
734
if (CAIRO_DOCK_IS_APPLET (icon))
724
cairo_dock_deactivate_module (icon->pModule); // desactive le module mais ne le ferme pas.
725
icon->pModule = NULL; // pour ne pas le liberer lors du free_icon.
736
cairo_dock_deinstanciate_module (icon->pModuleInstance); // desactive l'instance du module.
737
icon->pModuleInstance = NULL; // l'instance n'est plus valide apres ca.
726
738
} // rien a faire pour les separateurs automatiques.
728
740
//\___________________ On detache l'icone du dock.
729
741
cairo_dock_detach_icon_from_dock (icon, pDock, bCheckUnusedSeparator);
743
if (CAIRO_DOCK_IS_NORMAL_APPLI (icon))
745
cairo_dock_unregister_appli (icon);
731
748
if (pDock->bIsMainDock && g_bReserveSpace)
732
749
cairo_dock_reserve_space_for_dock (pDock, TRUE); // l'espace est reserve sur la taille min, qui a deja ete mise a jour.
964
981
return pFirstDrawnElement;
984
void cairo_dock_update_removing_inserting_icon (Icon *icon)
986
if (icon->fPersonnalScale > 0)
988
icon->fPersonnalScale *= .85;
989
if (icon->fPersonnalScale < 0.05)
990
icon->fPersonnalScale = 0.05;
992
else if (icon->fPersonnalScale < 0)
994
icon->fPersonnalScale *= .85;
995
if (icon->fPersonnalScale > -0.05)
996
icon->fPersonnalScale = -0.05;
967
1000
Icon * cairo_dock_calculate_wave_with_position_linear (GList *pIconList, GList *pFirstDrawnElementGiven, int x_abs, gdouble fMagnitude, double fFlatDockWidth, int iWidth, int iHeight, double fAlign, double fFoldingFactor, gboolean bDirectionUp)
969
1002
//g_print (">>>>>%s (%d/%.2f, %dx%d, %.2f, %.2f)\n", __func__, x_abs, fFlatDockWidth, iWidth, iHeight, fAlign, fFoldingFactor);
1001
1034
//\_______________ On en deduit l'amplitude de la sinusoide au niveau de cette icone, et donc son echelle.
1002
1035
icon->fScale = 1 + fMagnitude * g_fAmplitude * sin (icon->fPhase);
1003
if (icon->fPersonnalScale > 0 && iWidth > 0)
1005
icon->fPersonnalScale *= .85;
1006
icon->fScale *= icon->fPersonnalScale;
1007
if (icon->fPersonnalScale < 0.05)
1008
icon->fPersonnalScale = 0.05;
1010
else if (icon->fPersonnalScale < 0 && iWidth > 0)
1012
icon->fPersonnalScale *= .85;
1013
icon->fScale *= (1 + icon->fPersonnalScale);
1014
if (icon->fPersonnalScale > -0.05)
1015
icon->fPersonnalScale = -0.05;
1036
if (iWidth > 0 && icon->fPersonnalScale != 0)
1038
if (icon->fPersonnalScale > 0)
1039
icon->fScale *= icon->fPersonnalScale;
1041
icon->fScale *= (1 + icon->fPersonnalScale);
1043
// if (icon->fPersonnalScale > 0 && iWidth > 0)
1045
// icon->fPersonnalScale *= .85;
1046
// icon->fScale *= icon->fPersonnalScale;
1047
// if (icon->fPersonnalScale < 0.05)
1048
// icon->fPersonnalScale = 0.05;
1050
// else if (icon->fPersonnalScale < 0 && iWidth > 0)
1052
// icon->fPersonnalScale *= .85;
1053
// icon->fScale *= (1 + icon->fPersonnalScale);
1054
// if (icon->fPersonnalScale > -0.05)
1055
// icon->fPersonnalScale = -0.05;
1017
1057
icon->fY = (bDirectionUp ? iHeight - g_iDockLineWidth - g_iFrameMargin - icon->fScale * icon->fHeight : g_iDockLineWidth + g_iFrameMargin);
1019
1059
//\_______________ Si on avait deja defini l'icone pointee, on peut placer l'icone courante par rapport a la precedente.
1120
1160
if (! bMouseInsideDock)
1122
double fSideMargin = (pDock->fAlign - .5) * (iWidth - pDock->fFlatDockWidth);
1123
if (x_abs < fSideMargin || x_abs > pDock->fFlatDockWidth + fSideMargin)
1162
double fSideMargin = fabs (pDock->fAlign - .5) * (iWidth - pDock->fFlatDockWidth);
1163
if (x_abs < - fSideMargin || x_abs > pDock->fFlatDockWidth + fSideMargin)
1124
1164
iMousePositionType = CAIRO_DOCK_MOUSE_OUTSIDE;
1126
1166
iMousePositionType = CAIRO_DOCK_MOUSE_ON_THE_EDGE;
1145
1185
case CAIRO_DOCK_MOUSE_INSIDE :
1146
1186
//g_print ("INSIDE\n");
1147
if (cairo_dock_entrance_is_allowed () && pDock->iMagnitudeIndex < CAIRO_DOCK_NB_MAX_ITERATIONS && pDock->iSidGrowUp == 0 && cairo_dock_none_animated (pDock->icons)) // on est dedans et la taille des icones est non maximale bien qu'aucune icone ne soit animee. /// && pDock->iSidMoveDown == 0
1187
if (cairo_dock_entrance_is_allowed (pDock) && pDock->iMagnitudeIndex < CAIRO_DOCK_NB_MAX_ITERATIONS && pDock->iSidGrowUp == 0 && cairo_dock_none_animated (pDock->icons)) // on est dedans et la taille des icones est non maximale bien qu'aucune icone ne soit animee. /// && pDock->iSidMoveDown == 0
1149
1189
cd_debug ("on est dedans en x et en y et la taille des icones est non maximale bien qu'aucune icone ne soit animee");
1150
1190
//pDock->bInside = TRUE;
1151
if ((pDock->bAtBottom && pDock->iRefCount == 0 && ! g_bAutoHide) || (pDock->iCurrentWidth != pDock->iMaxDockWidth || pDock->iCurrentHeight != pDock->iMaxDockHeight)) // on le fait pas avec l'auto-hide, car un signal d'entree est deja emis a cause des mouvements/redimensionnements de la fenetre, et en rajouter un ici fout le boxon.
1191
if ((pDock->bAtBottom && pDock->iRefCount == 0 && ! pDock->bAutoHide) || (pDock->iCurrentWidth != pDock->iMaxDockWidth || pDock->iCurrentHeight != pDock->iMaxDockHeight)) // on le fait pas avec l'auto-hide, car un signal d'entree est deja emis a cause des mouvements/redimensionnements de la fenetre, et en rajouter un ici fout le boxon.
1153
1193
cd_debug (" on emule une re-rentree (pDock->iMagnitudeIndex:%f)", pDock->iMagnitudeIndex);
1154
1194
///cairo_dock_render_blank (pDock); // utile ?
1171
1211
if (pDock->iSidGrowUp == 0)
1172
1212
pDock->iSidGrowUp = g_timeout_add (40, (GSourceFunc) cairo_dock_grow_up, pDock);
1173
if (g_bAutoHide && pDock->iRefCount == 0 && pDock->iSidMoveUp == 0)
1213
if (pDock->bAutoHide && pDock->iRefCount == 0 && pDock->iSidMoveUp == 0)
1174
1214
pDock->iSidMoveUp = g_timeout_add (40, (GSourceFunc) cairo_dock_move_up, pDock);
1292
1333
icon->iAnimationType = 0;
1294
if (pDock->iMouseX < icon->fDrawX + icon->fWidth * icon->fScale * fMargin) // on est a gauche.
1335
if (pDock->iMouseX < icon->fDrawXAtRest + icon->fWidth * icon->fScale * fMargin) // on est a gauche.
1296
1337
Icon *prev_icon = cairo_dock_get_previous_element (ic, pDock->icons) -> data;
1297
if ((icon->iType == iType || prev_icon->iType == iType) && prev_icon->iAnimationType != CAIRO_DOCK_FOLLOW_MOUSE)
1338
if ((cairo_dock_get_icon_order (icon) == cairo_dock_get_group_order (iType) || cairo_dock_get_icon_order (prev_icon) == cairo_dock_get_group_order (iType)) && prev_icon->iAnimationType != CAIRO_DOCK_FOLLOW_MOUSE)
1299
1340
icon->iAnimationType = CAIRO_DOCK_AVOID_MOUSE;
1300
1341
prev_icon->iAnimationType = CAIRO_DOCK_AVOID_MOUSE;
1301
1342
//g_print ("%s> <%s\n", prev_icon->acName, icon->acName);
1304
else if (pDock->iMouseX > icon->fDrawX + icon->fWidth * icon->fScale * (1 - fMargin)) // on est a droite.
1346
else if (pDock->iMouseX > icon->fDrawXAtRest + icon->fWidth * icon->fScale * (1 - fMargin)) // on est a droite.
1306
1348
Icon *next_icon = cairo_dock_get_next_element (ic, pDock->icons) -> data;
1307
1349
if ((icon->iType == iType || next_icon->iType == iType) && next_icon->iAnimationType != CAIRO_DOCK_FOLLOW_MOUSE)
1309
1351
icon->iAnimationType = CAIRO_DOCK_AVOID_MOUSE;
1310
1352
next_icon->iAnimationType = CAIRO_DOCK_AVOID_MOUSE;
1311
1353
//g_print ("%s> <%s\n", icon->acName, next_icon->acName);
1313
1356
ic = cairo_dock_get_next_element (ic, pDock->icons); // on la saute.
1314
1357
if (ic == pFirstDrawnElement)
1360
else // on est dessus.
1362
//g_print ("on est sur %s\n", icon->acName);
1318
1365
else if (icon->iAnimationType == CAIRO_DOCK_AVOID_MOUSE)
1319
1366
icon->iAnimationType = 0;
1321
1368
ic = cairo_dock_get_next_element (ic, pDock->icons);
1322
1369
} while (ic != pFirstDrawnElement);
1373
if (pDock->bIsDragging && pDock->iSidDropIndicator == 0)
1374
pDock->iSidDropIndicator = g_timeout_add (40, (GSourceFunc) cairo_dock_display_drop_indicator, pDock);
1378
if (pDock->iSidDropIndicator != 0)
1380
g_source_remove (pDock->iSidDropIndicator);
1381
pDock->iSidDropIndicator = 0;
1382
pDock->iDropIndicatorOffset = 0;
1324
1386
void cairo_dock_mark_avoiding_mouse_icons_linear (CairoDock *pDock)
1363
1425
g_key_file_load_from_file (pKeyFile, cDesktopFilePath, G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, &erreur);
1364
1426
if (erreur != NULL)
1366
cd_warning ("Attention : %s", erreur->message);
1428
cd_warning ("%s", erreur->message);
1367
1429
g_error_free (erreur);
1368
1430
g_free (cDesktopFilePath);
1380
1442
GError *erreur = NULL;
1381
1443
GKeyFile *pKeyFile = g_key_file_new ();
1382
g_key_file_load_from_file (pKeyFile, icon->pModule->cConfFilePath, G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, &erreur);
1444
g_key_file_load_from_file (pKeyFile, icon->pModuleInstance->cConfFilePath, G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, &erreur);
1383
1445
if (erreur != NULL)
1385
cd_warning ("Attention : %s", erreur->message);
1447
cd_warning ("%s", erreur->message);
1386
1448
g_error_free (erreur);
1389
1451
g_key_file_set_string (pKeyFile, "Icon", "dock name", cNewParentDockName);
1390
cairo_dock_write_keys_to_file (pKeyFile, icon->pModule->cConfFilePath);
1452
cairo_dock_write_keys_to_file (pKeyFile, icon->pModuleInstance->cConfFilePath);
1391
1453
g_key_file_free (pKeyFile);