Skip to content

Commit

Permalink
icon container: Be more specific about when to flag icons coming
Browse files Browse the repository at this point in the history
from a different monitor due to a desktop configuration change.
(see previous commit)
  • Loading branch information
mtwebster committed Jun 4, 2017
1 parent 3a10a86 commit e0f1e33
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 3 deletions.
13 changes: 12 additions & 1 deletion libnemo-private/nemo-icon-container.c
Original file line number Diff line number Diff line change
Expand Up @@ -5680,10 +5680,21 @@ is_old_or_unknown_icon_data (NemoIconContainer *container,
signals[GET_STORED_LAYOUT_TIMESTAMP], 0,
data, &timestamp, &success);


return (!success || timestamp < container->details->layout_timestamp);
}

gboolean
nemo_icon_container_icon_is_new_for_monitor (NemoIconContainer *container,
NemoIcon *icon,
gint current_monitor)
{
if (container->details->auto_layout || !container->details->is_desktop) {
return FALSE;
}

return nemo_file_get_monitor_number (NEMO_FILE (icon->data)) != current_monitor;
}

/**
* nemo_icon_container_add:
* @container: A NemoIconContainer
Expand Down
3 changes: 3 additions & 0 deletions libnemo-private/nemo-icon-container.h
Original file line number Diff line number Diff line change
Expand Up @@ -251,6 +251,9 @@ GtkWidget * nemo_icon_container_new (void);

/* adding, removing, and managing icons */
void nemo_icon_container_clear (NemoIconContainer *view);
gboolean nemo_icon_container_icon_is_new_for_monitor (NemoIconContainer *container,
NemoIcon *icon,
gint current_monitor);
gboolean nemo_icon_container_add (NemoIconContainer *view,
NemoIconData *data);
void nemo_icon_container_layout_now (NemoIconContainer *container);
Expand Down
2 changes: 1 addition & 1 deletion src/nemo-icon-view-container.c
Original file line number Diff line number Diff line change
Expand Up @@ -1856,7 +1856,7 @@ nemo_icon_view_container_finish_adding_new_icons (NemoIconContainer *container)
for (p = new_icons; p != NULL; p = p->next) {
icon = p->data;
nemo_icon_container_update_icon (container, icon);
if (icon->has_lazy_position || nemo_file_get_monitor_number (NEMO_FILE (icon->data)) != current_monitor) {
if (icon->has_lazy_position || nemo_icon_container_icon_is_new_for_monitor (container, icon, current_monitor)) {
assign_icon_position (container, icon);
semi_position_icons = g_list_prepend (semi_position_icons, icon);
} else if (!assign_icon_position (container, icon)) {
Expand Down
2 changes: 1 addition & 1 deletion src/nemo-icon-view-grid-container.c
Original file line number Diff line number Diff line change
Expand Up @@ -1131,7 +1131,7 @@ nemo_icon_view_grid_container_finish_adding_new_icons (NemoIconContainer *contai

nemo_icon_container_update_icon (container, icon);

if (icon->has_lazy_position || nemo_file_get_monitor_number (NEMO_FILE (icon->data)) != current_monitor) {
if (icon->has_lazy_position || nemo_icon_container_icon_is_new_for_monitor (container, icon, current_monitor)) {
assign_icon_position (container, icon);
semi_position_icons = g_list_prepend (semi_position_icons, icon);
} else if (!assign_icon_position (container, icon)) {
Expand Down

0 comments on commit e0f1e33

Please sign in to comment.