Keep track of previous .desktop file on update.

SVN revision: 29395
This commit is contained in:
Sebastian Dransfeld 2007-04-05 21:10:50 +00:00
parent bd2a3953a9
commit 6d320096e0
2 changed files with 12 additions and 12 deletions

View File

@ -293,7 +293,7 @@ efreet_util_desktop_file_id_find(const char *file_id)
ecore_hash_set(desktop_by_file_id, (void *)ecore_string_instance(file_id), ud);
ev = NEW(Efreet_Event_Desktop_Change, 1);
ev->desktop = desktop;
ev->current = desktop;
ev->change = EFREET_DESKTOP_CHANGE_ADD;
ecore_event_add(EFREET_EVENT_DESKTOP_CHANGE, ev, NULL, NULL);
}
@ -518,7 +518,7 @@ efreet_util_cache_add(const char *path, const char *file_id, int priority)
ecore_hash_set(desktop_by_file_id, (void *)ecore_string_instance(file_id), ud);
ev = NEW(Efreet_Event_Desktop_Change, 1);
ev->desktop = desktop;
ev->current = desktop;
ev->change = EFREET_DESKTOP_CHANGE_ADD;
ecore_event_add(EFREET_EVENT_DESKTOP_CHANGE, ev, NULL, NULL);
}
@ -527,8 +527,9 @@ efreet_util_cache_add(const char *path, const char *file_id, int priority)
Efreet_Event_Desktop_Change *ev;
ev = NEW(Efreet_Event_Desktop_Change, 1);
ev->desktop = desktop;
ev->change = EFREET_DESKTOP_CHANGE_ADD;
ev->current = desktop;
ev->previous = ud->desktop;
ev->change = EFREET_DESKTOP_CHANGE_UPDATE;
ecore_event_add(EFREET_EVENT_DESKTOP_CHANGE, ev, NULL, NULL);
ud->desktop = desktop;
@ -555,7 +556,7 @@ efreet_util_cache_remove(const char *path, const char *file_id, int priority)
ecore_hash_remove(desktop_by_file_id, file_id);
ev = NEW(Efreet_Event_Desktop_Change, 1);
ev->desktop = ud->desktop;
ev->current = ud->desktop;
ev->change = EFREET_DESKTOP_CHANGE_REMOVE;
ecore_event_add(EFREET_EVENT_DESKTOP_CHANGE, ev, NULL, NULL);
@ -588,11 +589,9 @@ efreet_util_cache_reload(const char *path, const char *file_id, int priority)
if (ud->priority < priority) return;
ev = NEW(Efreet_Event_Desktop_Change, 1);
ev->desktop = desktop;
if (ud->desktop == desktop)
ev->change = EFREET_DESKTOP_CHANGE_UPDATE;
else
ev->change = EFREET_DESKTOP_CHANGE_ADD;
ev->current = desktop;
ev->previous = ud->desktop;
ev->change = EFREET_DESKTOP_CHANGE_UPDATE;
ecore_event_add(EFREET_EVENT_DESKTOP_CHANGE, ev, NULL, NULL);
ud->desktop = desktop;
@ -607,7 +606,7 @@ efreet_util_cache_reload(const char *path, const char *file_id, int priority)
ecore_hash_set(desktop_by_file_id, (void *)ecore_string_instance(file_id), ud);
ev = NEW(Efreet_Event_Desktop_Change, 1);
ev->desktop = desktop;
ev->current = desktop;
ev->change = EFREET_DESKTOP_CHANGE_ADD;
ecore_event_add(EFREET_EVENT_DESKTOP_CHANGE, ev, NULL, NULL);
}

View File

@ -15,7 +15,8 @@ typedef struct Efreet_Event_Desktop_Change Efreet_Event_Desktop_Change;
struct Efreet_Event_Desktop_Change
{
Efreet_Desktop *desktop;
Efreet_Desktop *current;
Efreet_Desktop *previous;
Efreet_Desktop_Change change;
};