Browse code

Don't recenter when we reload a file.

Fixes https://github.com/jrfonseca/xdot.py/issues/56

Benjamin Redelings authored on 22/05/2018 18:48:18 • Jose Fonseca committed on 16/06/2018 21:16:44
Showing 1 changed files

... ...
@@ -122,23 +122,23 @@ class DotWidget(Gtk.DrawingArea):
122 122
             return None
123 123
         return xdotcode
124 124
 
125
-    def _set_dotcode(self, dotcode, filename=None):
125
+    def _set_dotcode(self, dotcode, filename=None, center=True):
126 126
         # By default DOT language is UTF-8, but it accepts other encodings
127 127
         assert isinstance(dotcode, bytes)
128 128
         xdotcode = self.run_filter(dotcode)
129 129
         if xdotcode is None:
130 130
             return False
131 131
         try:
132
-            self.set_xdotcode(xdotcode)
132
+            self.set_xdotcode(xdotcode, center=center)
133 133
         except ParseError as ex:
134 134
             self.error_dialog(str(ex))
135 135
             return False
136 136
         else:
137 137
             return True
138 138
 
139
-    def set_dotcode(self, dotcode, filename=None):
139
+    def set_dotcode(self, dotcode, filename=None, center=True):
140 140
         self.openfilename = None
141
-        if self._set_dotcode(dotcode, filename):
141
+        if self._set_dotcode(dotcode, filename, center=center):
142 142
             if filename is None:
143 143
                 self.last_mtime = None
144 144
             else:
... ...
@@ -146,17 +146,17 @@ class DotWidget(Gtk.DrawingArea):
146 146
             self.openfilename = filename
147 147
             return True
148 148
 
149
-    def set_xdotcode(self, xdotcode):
149
+    def set_xdotcode(self, xdotcode, center=True):
150 150
         assert isinstance(xdotcode, bytes)
151 151
         parser = XDotParser(xdotcode)
152 152
         self.graph = parser.parse()
153
-        self.zoom_image(self.zoom_ratio, center=True)
153
+        self.zoom_image(self.zoom_ratio, center=center)
154 154
 
155 155
     def reload(self):
156 156
         if self.openfilename is not None:
157 157
             try:
158 158
                 fp = open(self.openfilename, 'rb')
159
-                self._set_dotcode(fp.read(), self.openfilename)
159
+                self._set_dotcode(fp.read(), self.openfilename, center=False)
160 160
                 fp.close()
161 161
             except IOError:
162 162
                 pass