Update file icon when its name changes in details dialog (GTK+ client)
Additionally, make main window redraw the torrent so that new name and icon are visible right away.
This commit is contained in:
parent
a26b4ec7bf
commit
ecd1eb7914
|
@ -801,7 +801,17 @@ on_rename_done_idle (struct rename_data * data)
|
||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
|
|
||||||
if (gtk_tree_model_get_iter_from_string (data->file_data->model, &iter, data->path_string))
|
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
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -1354,6 +1354,19 @@ gtr_core_torrents_added (TrCore * self)
|
||||||
core_emit_err (self, TR_CORE_ERR_NO_MORE_TORRENTS, NULL);
|
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
|
void
|
||||||
gtr_core_remove_torrent (TrCore * core, int id, gboolean delete_local_data)
|
gtr_core_remove_torrent (TrCore * core, int id, gboolean delete_local_data)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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_torrents_added (TrCore * self);
|
||||||
|
|
||||||
|
void gtr_core_torrent_changed (TrCore * self, int id);
|
||||||
|
|
||||||
/******
|
/******
|
||||||
*******
|
*******
|
||||||
******/
|
******/
|
||||||
|
|
Loading…
Reference in New Issue