]> granicus.if.org Git - handbrake/commitdiff
LinGui: when renaming a preset, prevent duplicates names from being used
authorjstebbins <jstebbins.hb@gmail.com>
Mon, 13 Jul 2009 14:38:41 +0000 (14:38 +0000)
committerjstebbins <jstebbins.hb@gmail.com>
Mon, 13 Jul 2009 14:38:41 +0000 (14:38 +0000)
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2689 b64f7644-9d1e-0410-96f1-a4d463321fa5

gtk/src/presets.c

index 5bd8786ddc4664caa471bd53067a95016c0a052c..c11b9994a54811998d69ac6499717dce4d352504 100644 (file)
@@ -4040,12 +4040,28 @@ preset_edited_cb(
        GtkTreeStore *store;
        GtkTreeView *treeview;
        GtkTreeIter iter;
-       gint *indices, len;
+       gint *indices, len, count;
        GValue *dict;
+       GValue *preset, *dest;
        
        g_debug("preset_edited_cb ()");
        g_debug("path (%s)", path);
        g_debug("text (%s)", text);
+
+       preset = ghb_settings_get_value (ud->settings, "preset_selection");
+       dest = ghb_array_value_new(MAX_NESTED_PRESET);
+       count = ghb_array_len(preset);
+       ghb_array_copy(dest, preset, count-1);
+       ghb_array_append(dest, ghb_string_value_new(text));
+       indices = ghb_preset_indices_from_path(presetsPlist, dest, &len);
+       ghb_value_free(dest);
+       if (indices != NULL)
+       {
+               // Already exists
+               g_free(indices);
+               return;
+       }
+
        treeview = GTK_TREE_VIEW(GHB_WIDGET(ud->builder, "presets_list"));
        store = GTK_TREE_STORE(gtk_tree_view_get_model(treeview));
        treepath = gtk_tree_path_new_from_string (path);