... | ... |
@@ -1451,6 +1451,15 @@ class DotWidget(gtk.DrawingArea): |
1451 | 1451 |
self.graph = parser.parse() |
1452 | 1452 |
self.zoom_image(self.zoom_ratio, center=True) |
1453 | 1453 |
|
1454 |
+ def reload(self): |
|
1455 |
+ if self.openfilename is not None: |
|
1456 |
+ try: |
|
1457 |
+ fp = file(self.openfilename, 'rt') |
|
1458 |
+ self.set_dotcode(fp.read(), self.openfilename) |
|
1459 |
+ fp.close() |
|
1460 |
+ except IOError: |
|
1461 |
+ pass |
|
1462 |
+ |
|
1454 | 1463 |
def do_expose_event(self, event): |
1455 | 1464 |
cr = self.window.cairo_create() |
1456 | 1465 |
|
... | ... |
@@ -1578,13 +1587,7 @@ class DotWidget(gtk.DrawingArea): |
1578 | 1587 |
self.drag_action = NullAction(self) |
1579 | 1588 |
return True |
1580 | 1589 |
if event.keyval == gtk.keysyms.r: |
1581 |
- if self.openfilename is not None: |
|
1582 |
- try: |
|
1583 |
- fp = file(self.openfilename, 'rt') |
|
1584 |
- self.set_dotcode(fp.read(), self.openfilename) |
|
1585 |
- fp.close() |
|
1586 |
- except IOError, ex: |
|
1587 |
- pass |
|
1590 |
+ self.reload() |
|
1588 | 1591 |
return True |
1589 | 1592 |
return False |
1590 | 1593 |
|
... | ... |
@@ -1688,6 +1691,7 @@ class DotWindow(gtk.Window): |
1688 | 1691 |
<ui> |
1689 | 1692 |
<toolbar name="ToolBar"> |
1690 | 1693 |
<toolitem action="Open"/> |
1694 |
+ <toolitem action="Reload"/> |
|
1691 | 1695 |
<separator/> |
1692 | 1696 |
<toolitem action="ZoomIn"/> |
1693 | 1697 |
<toolitem action="ZoomOut"/> |
... | ... |
@@ -1725,6 +1729,7 @@ class DotWindow(gtk.Window): |
1725 | 1729 |
# Create actions |
1726 | 1730 |
actiongroup.add_actions(( |
1727 | 1731 |
('Open', gtk.STOCK_OPEN, None, None, None, self.on_open), |
1732 |
+ ('Reload', gtk.STOCK_REFRESH, None, None, None, self.on_reload), |
|
1728 | 1733 |
('ZoomIn', gtk.STOCK_ZOOM_IN, None, None, None, self.widget.on_zoom_in), |
1729 | 1734 |
('ZoomOut', gtk.STOCK_ZOOM_OUT, None, None, None, self.widget.on_zoom_out), |
1730 | 1735 |
('ZoomFit', gtk.STOCK_ZOOM_FIT, None, None, None, self.widget.on_zoom_fit), |
... | ... |
@@ -1808,6 +1813,9 @@ class DotWindow(gtk.Window): |
1808 | 1813 |
else: |
1809 | 1814 |
chooser.destroy() |
1810 | 1815 |
|
1816 |
+ def on_reload(self, action): |
|
1817 |
+ self.widget.reload() |
|
1818 |
+ |
|
1811 | 1819 |
|
1812 | 1820 |
def main(): |
1813 | 1821 |
import optparse |