Add reload file functionality
This commit is contained in:
parent
4086eb2edc
commit
ffd3cbb07c
@ -337,6 +337,7 @@ class LogFile (Producer):
|
|||||||
|
|
||||||
self.logger = logging.getLogger ("logfile")
|
self.logger = logging.getLogger ("logfile")
|
||||||
|
|
||||||
|
self.path = os.path.normpath (os.path.abspath (filename))
|
||||||
self.fileobj = file (filename, "rb")
|
self.fileobj = file (filename, "rb")
|
||||||
self.line_cache = LineCache (self.fileobj, dispatcher)
|
self.line_cache = LineCache (self.fileobj, dispatcher)
|
||||||
self.line_cache.consumers.append (self)
|
self.line_cache.consumers.append (self)
|
||||||
|
@ -941,11 +941,13 @@ class Window (object):
|
|||||||
group = gtk.ActionGroup ("WindowActions")
|
group = gtk.ActionGroup ("WindowActions")
|
||||||
group.add_actions ([("new-window", gtk.STOCK_NEW, _("_New Window"), "<Ctrl>N"),
|
group.add_actions ([("new-window", gtk.STOCK_NEW, _("_New Window"), "<Ctrl>N"),
|
||||||
("open-file", gtk.STOCK_OPEN, _("_Open File"), "<Ctrl>O"),
|
("open-file", gtk.STOCK_OPEN, _("_Open File"), "<Ctrl>O"),
|
||||||
|
("reload-file", gtk.STOCK_REFRESH, _("_Reload File"), "<Ctrl>R"),
|
||||||
("close-window", gtk.STOCK_CLOSE, _("Close _Window"), "<Ctrl>W"),
|
("close-window", gtk.STOCK_CLOSE, _("Close _Window"), "<Ctrl>W"),
|
||||||
("cancel-load", gtk.STOCK_CANCEL, None,),
|
("cancel-load", gtk.STOCK_CANCEL, None,),
|
||||||
("show-about", gtk.STOCK_ABOUT, None)])
|
("show-about", gtk.STOCK_ABOUT, None)])
|
||||||
## group.add_toggle_actions ([("show-line-density", None, _("Line _Density"), "<Ctrl>D")])
|
## group.add_toggle_actions ([("show-line-density", None, _("Line _Density"), "<Ctrl>D")])
|
||||||
self.actions.add_group (group)
|
self.actions.add_group (group)
|
||||||
|
self.actions.reload_file.props.sensitive = False
|
||||||
|
|
||||||
group = gtk.ActionGroup ("RowActions")
|
group = gtk.ActionGroup ("RowActions")
|
||||||
group.add_actions ([("edit-copy-line", gtk.STOCK_COPY, _("Copy line"), "<Ctrl>C"),
|
group.add_actions ([("edit-copy-line", gtk.STOCK_COPY, _("Copy line"), "<Ctrl>C"),
|
||||||
@ -1001,8 +1003,8 @@ class Window (object):
|
|||||||
self.clipboard = gtk.Clipboard (self.gtk_window.get_display (),
|
self.clipboard = gtk.Clipboard (self.gtk_window.get_display (),
|
||||||
gtk.gdk.SELECTION_CLIPBOARD)
|
gtk.gdk.SELECTION_CLIPBOARD)
|
||||||
|
|
||||||
for action_name in ("new-window", "open-file", "close-window",
|
for action_name in ("new-window", "open-file", "reload-file",
|
||||||
"cancel-load",
|
"close-window", "cancel-load",
|
||||||
"edit-copy-line", "edit-copy-message",
|
"edit-copy-line", "edit-copy-message",
|
||||||
"filter-out-higher-levels",
|
"filter-out-higher-levels",
|
||||||
"show-about",):
|
"show-about",):
|
||||||
@ -1082,6 +1084,13 @@ class Window (object):
|
|||||||
self.set_log_file (dialog.get_filename ())
|
self.set_log_file (dialog.get_filename ())
|
||||||
dialog.destroy ()
|
dialog.destroy ()
|
||||||
|
|
||||||
|
def handle_reload_file_action_activate (self, action):
|
||||||
|
|
||||||
|
if self.log_file is None:
|
||||||
|
return
|
||||||
|
|
||||||
|
self.set_log_file (self.log_file.path)
|
||||||
|
|
||||||
def handle_cancel_load_action_activate (self, action):
|
def handle_cancel_load_action_activate (self, action):
|
||||||
|
|
||||||
self.logger.debug ("cancelling data load")
|
self.logger.debug ("cancelling data load")
|
||||||
@ -1158,6 +1167,7 @@ class Window (object):
|
|||||||
self.dispatcher.cancel ()
|
self.dispatcher.cancel ()
|
||||||
self.dispatcher = None
|
self.dispatcher = None
|
||||||
self.log_file = None
|
self.log_file = None
|
||||||
|
self.actions.reload_file.props.sensitive = False
|
||||||
else:
|
else:
|
||||||
self.logger.debug ("setting log file %r", filename)
|
self.logger.debug ("setting log file %r", filename)
|
||||||
|
|
||||||
@ -1255,6 +1265,8 @@ class Window (object):
|
|||||||
|
|
||||||
self.log_filter.reset ()
|
self.log_filter.reset ()
|
||||||
|
|
||||||
|
self.actions.reload_file.props.sensitive = True
|
||||||
|
|
||||||
def idle_set ():
|
def idle_set ():
|
||||||
##self.log_view.props.model = self.log_model
|
##self.log_view.props.model = self.log_model
|
||||||
self.log_view.props.model = self.log_filter
|
self.log_view.props.model = self.log_filter
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
<menu name="FileMenu" action="FileMenuAction">
|
<menu name="FileMenu" action="FileMenuAction">
|
||||||
<!--<menuitem name="FileNewWindow" action="new-window"/>-->
|
<!--<menuitem name="FileNewWindow" action="new-window"/>-->
|
||||||
<menuitem name="FileOpen" action="open-file"/>
|
<menuitem name="FileOpen" action="open-file"/>
|
||||||
|
<menuitem name="FileReload" action="reload-file"/>
|
||||||
<separator/>
|
<separator/>
|
||||||
<placeholder name="FileMenuAdditions"/>
|
<placeholder name="FileMenuAdditions"/>
|
||||||
<separator/>
|
<separator/>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user