void on_rename_bm(GtkAction* act, gpointer user_data) { PlaceItem* item = (PlaceItem*)user_data; char* new_name = fm_get_user_input(NULL, _("Rename Bookmark Item"), _("Enter a new name:"), item->bm_item->name); if(new_name) { if(strcmp(new_name, item->bm_item->name)) { fm_bookmarks_rename(bookmarks, item->bm_item, new_name); } g_free(new_name); } }
void on_rename_bm(GtkAction* act, gpointer user_data) { FmPlaceItem* item = (FmPlaceItem*)user_data; /* FIXME: we need to set a proper parent window for the dialog */ char* new_name = fm_get_user_input(NULL, _("Rename Bookmark Item"), _("Enter a new name:"), item->bm_item->name); if(new_name) { if(strcmp(new_name, item->bm_item->name)) { fm_bookmarks_rename(FM_PLACES_MODEL(model)->bookmarks, item->bm_item, new_name); } g_free(new_name); } }
static void on_add_to_blacklist_clicked(GtkButton *button, GtkListStore *model) { char *item = fm_get_user_input(NULL, _("Add to Modules Blacklist"), _("Enter a blacklisted module mask:"), NULL); int i; GtkTreeIter it; if (item == NULL || item[0] == '\0') /* cancelled or empty */ return; /* add a row to list */ gtk_list_store_append(model, &it); gtk_list_store_set(model, &it, 0, item, 1, TRUE, -1); /* rebuild the blacklist */ i = fm_config->modules_blacklist ? g_strv_length(fm_config->modules_blacklist) : 0; fm_config->modules_blacklist = g_renew(char *, fm_config->modules_blacklist, i + 2); fm_config->modules_blacklist[i+1] = NULL; fm_config->modules_blacklist[i] = item; }
void on_create_new(GtkAction* action, FmMainWin* win) { FmFolderView* fv = FM_FOLDER_VIEW(win->folder_view); const char* name = gtk_action_get_name(action); GError* err = NULL; FmPath* cwd = fm_folder_view_get_cwd(fv); FmPath* dest; char* basename; _retry: basename = fm_get_user_input(GTK_WINDOW(win), _("Create New..."), _("Enter a name for the newly created file:"), _("New")); if(!basename) return; dest = fm_path_new_child(cwd, basename); g_free(basename); if( strcmp(name, "NewFolder") == 0 ) { GFile* gf = fm_path_to_gfile(dest); if(!g_file_make_directory(gf, NULL, &err)) { if(err->domain = G_IO_ERROR && err->code == G_IO_ERROR_EXISTS) { fm_path_unref(dest); g_error_free(err); g_object_unref(gf); err = NULL; goto _retry; } fm_show_error(GTK_WINDOW(win), err->message); g_error_free(err); } if(!err) /* select the newly created file */ { /*FIXME: this doesn't work since the newly created file will * only be shown after file-created event was fired on its * folder's monitor and after FmFolder handles it in idle * handler. So, we cannot select it since it's not yet in * the folder model now. */ /* fm_folder_view_select_file_path(fv, dest); */ } g_object_unref(gf); } else if( strcmp(name, "NewBlank") == 0 ) { GFile* gf = fm_path_to_gfile(dest); GFileOutputStream* f = g_file_create(gf, G_FILE_CREATE_NONE, NULL, &err); if(f) { g_output_stream_close(G_OUTPUT_STREAM(f), NULL, NULL); g_object_unref(f); } else { if(err->domain = G_IO_ERROR && err->code == G_IO_ERROR_EXISTS) { fm_path_unref(dest); g_error_free(err); g_object_unref(gf); err = NULL; goto _retry; } fm_show_error(GTK_WINDOW(win), err->message); g_error_free(err); } if(!err) /* select the newly created file */ { /*FIXME: this doesn't work since the newly created file will * only be shown after file-created event was fired on its * folder's monitor and after FmFolder handles it in idle * handler. So, we cannot select it since it's not yet in * the folder model now. */ /* fm_folder_view_select_file_path(fv, dest); */ } g_object_unref(gf); } else /* templates */ { } fm_path_unref(dest); }