Skip to content

Commit

Permalink
Merge branch 'gh37-update-icon-on-rename'
Browse files Browse the repository at this point in the history
Fixes: #37
  • Loading branch information
mikedld committed Feb 21, 2017
2 parents a26b4ec + 63b6c11 commit d5d9b61
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 1 deletion.
12 changes: 11 additions & 1 deletion gtk/file-list.c
Original file line number Diff line number Diff line change
Expand Up @@ -801,7 +801,17 @@ on_rename_done_idle (struct rename_data * data)
GtkTreeIter iter;

if (gtk_tree_model_get_iter_from_string (data->file_data->model, &iter, data->path_string))
gtk_tree_store_set (data->file_data->store, &iter, FC_LABEL, data->newname, -1);
{
const gboolean isLeaf = !gtk_tree_model_iter_has_child (data->file_data->model, &iter);
const char * mime_type = isLeaf ? gtr_get_mime_type_from_filename (data->newname) : DIRECTORY_MIME_TYPE;
GdkPixbuf * icon = gtr_get_mime_type_icon (mime_type, GTK_ICON_SIZE_MENU, data->file_data->view);

gtk_tree_store_set (data->file_data->store, &iter, FC_LABEL, data->newname, FC_ICON, icon, -1);

GtkTreeIter parent;
if (!gtk_tree_model_iter_parent (data->file_data->model, &parent, &iter))
gtr_core_torrent_changed (data->file_data->core, data->file_data->torrentId);
}
}
else
{
Expand Down
13 changes: 13 additions & 0 deletions gtk/tr-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -1354,6 +1354,19 @@ gtr_core_torrents_added (TrCore * self)
core_emit_err (self, TR_CORE_ERR_NO_MORE_TORRENTS, NULL);
}

void
gtr_core_torrent_changed (TrCore * self, int id)
{
GtkTreeIter iter;
GtkTreeModel * model = core_raw_model (self);

if (find_row_from_torrent_id (model, id, &iter))
{
GtkTreePath * path = gtk_tree_model_get_path (model, &iter);
gtk_tree_model_row_changed (model, path, &iter);
}
}

void
gtr_core_remove_torrent (TrCore * core, int id, gboolean delete_local_data)
{
Expand Down
2 changes: 2 additions & 0 deletions gtk/tr-core.h
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,8 @@ void gtr_core_add_torrent (TrCore*, tr_torrent*, gboolean do_notify);
*/
void gtr_core_torrents_added (TrCore * self);

void gtr_core_torrent_changed (TrCore * self, int id);

/******
*******
******/
Expand Down
2 changes: 2 additions & 0 deletions macosx/FileListNode.m
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,8 @@ - (BOOL) updateFromOldName: (NSString *) oldName toNewName: (NSString *) newName
{
[fName release];
fName = [newName copy];
[fIcon release];
fIcon = nil;
return YES;
}
}
Expand Down
3 changes: 3 additions & 0 deletions macosx/Torrent.m
Original file line number Diff line number Diff line change
Expand Up @@ -1968,6 +1968,9 @@ - (void)renameFinished: (BOOL) success nodes: (NSArray *) nodes completionHandle
[fFlatFileList release];
[self sortFileList: flatFileList];
fFlatFileList = flatFileList;

[fIcon release];
fIcon = nil;
}
else
NSLog(@"Error renaming %@ to %@", oldPath, [path stringByAppendingPathComponent: newName]);
Expand Down

0 comments on commit d5d9b61

Please sign in to comment.