[pitivi] preset: Change renamePreset to identify by name



commit cd2f88224ad7bae42c9113c3499e184f2d7c5a16
Author: Alexandru Băluț <alexandru balut gmail com>
Date:   Fri May 29 03:34:46 2015 +0200

    preset: Change renamePreset to identify by name
    
    Differential Revision: https://phabricator.freedesktop.org/D366
    Reviewed-by: Thibault Saunier <tsaunier gnome org>

 pitivi/preset.py     |   16 ++++++----------
 pitivi/render.py     |    4 ++--
 tests/test_preset.py |    9 +++------
 3 files changed, 11 insertions(+), 18 deletions(-)
---
diff --git a/pitivi/preset.py b/pitivi/preset.py
index e61055a..475c215 100644
--- a/pitivi/preset.py
+++ b/pitivi/preset.py
@@ -173,22 +173,18 @@ class PresetManager(Loggable):
         # Note: This generates a "row-inserted" signal in the model.
         self.ordered.append((name, values))
 
-    def renamePreset(self, path, new_name):
-        """Change the name of a preset.
-
-        @param path: The path in the model identifying the preset to be renamed.
-        @type path: str
-        @param new_name: The new name for the preset.
-        @type new_name: str
-        """
-        old_name = self.ordered[path][0]
+    def renamePreset(self, old_name, new_name):
+        """Change the name of a preset."""
         assert old_name in self.presets
         if old_name == new_name:
             # Nothing to do.
             return
         if old_name.lower() != new_name.lower() and self.hasPreset(new_name):
             raise DuplicatePresetNameException()
-        self.ordered[path][0] = new_name
+        for i, row in enumerate(self.ordered):
+            if row[0] == old_name:
+                row[0] = new_name
+                break
         self.presets[new_name] = self.presets[old_name]
         if "filepath" in self.presets[old_name]:
             # If the previous preset had already been saved,
diff --git a/pitivi/render.py b/pitivi/render.py
index b1c5661..385e1f5 100644
--- a/pitivi/render.py
+++ b/pitivi/render.py
@@ -537,9 +537,9 @@ class RenderDialog(Loggable):
     def _presetNameEditedCb(self, unused_renderer, path, new_text, mgr):
         """Handle the renaming of a preset."""
         from pitivi.preset import DuplicatePresetNameException
-
+        old_name = mgr.getModel()[path][0]
         try:
-            mgr.renamePreset(path, new_text)
+            mgr.renamePreset(old_name, new_text)
             self._updateRenderPresetButtons()
         except DuplicatePresetNameException:
             error_markup = _('"%s" already exists.') % new_text
diff --git a/tests/test_preset.py b/tests/test_preset.py
index 8fff9bf..3a6dd69 100644
--- a/tests/test_preset.py
+++ b/tests/test_preset.py
@@ -85,15 +85,12 @@ class TestPresetBasics(TestCase):
         self.manager.createPreset('preseT onE', {'name1': '1A'})
         self.manager.createPreset('Preset Two', {'name1': '2A'})
 
-        # Renaming 'preseT onE' to 'Preset One'.
-        self.manager.renamePreset('0', 'Preset One')
+        self.manager.renamePreset('preseT onE', 'Preset One')
 
-        # Renaming 'Preset One' to 'Preset TWO'.
         self.assertRaises(DuplicatePresetNameException,
-                          self.manager.renamePreset, '0', 'Preset TWO')
-        # Renaming 'Preset One' to 'Preset two'.
+                          self.manager.renamePreset, 'Preset One', 'Preset TWO')
         self.assertRaises(DuplicatePresetNameException,
-                          self.manager.renamePreset, '0', 'Preset two')
+                          self.manager.renamePreset, 'Preset One', 'Preset two')
 
     def testLoadHandlesMissingDirectory(self):
         self.manager.default_path = '/pitivi/non/existing/directory/1'


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]