quick and dirty fix for multiple insert bug
authorFlorian Schweikert <kelvan@logic.at>
Thu, 24 Feb 2011 17:59:11 +0000 (18:59 +0100)
committerFlorian Schweikert <kelvan@logic.at>
Thu, 24 Feb 2011 17:59:11 +0000 (18:59 +0100)
only inserts at startup at the moment

history.py
pyWienerLinien.py

index b74343c..cfd57e2 100644 (file)
@@ -9,7 +9,7 @@ class History(list):
             f.close()
             self._file = open(hist_file, 'a')
         else:
-            self._file = open(hist_file, 'w')
+            self._file = open(hist_file, 'a')
             h = []
 
         list.__init__(self, h, *args, **kwargs)
@@ -17,18 +17,18 @@ class History(list):
     def __add__(self, item):
         if not item in self:
             super(History, self).__add__(item)
-            self._file.writelines(map(lambda x: x + '\n', self))
+            self._file.write('%s\n' % item)
             self._file.flush()
 
     def insert(self, index, item):
         if not item in self:
             super(History, self).insert(index, item)
-            self._file.writelines(map(lambda x: x + '\n', self))
+            self._file.write('%s\n' % item)
             self._file.flush()
 
     def __delitem__(self, item):
         super(History, self).__deltitem(item)
-        self._file.writelines(map(lambda x: x + '\n', self))
+        self._file.write('%s\n' % item)
         self._file.flush()
         self._file.close()
 
index 9e79375..600c0ea 100644 (file)
@@ -31,8 +31,13 @@ class WienerLinienQt(QtGui.QMainWindow, Ui_MainWindow):
         self.history.insert(0, origin)
         self.history.insert(0, destination)
 
-        self.editOrigin.insertItems(1, self.history)
-        self.editDestination.insertItems(1, self.history)
+        if not origin in self.history:
+            self.editOrigin.insertItems(0, origin)
+            self.editDestination.insertItems(0, origin)
+
+        if not destination in self.history:
+            self.editOrigin.insertItems(0, destination)
+            self.editDestination.insertItems(0, destination)
 
         if not origin and destination:
             self.btnSearch.setText("Search - Missing input")