Merge branch 'gtkbuilder' into module.laditools
This commit is contained in:
commit
6556a57c65
27
bin/ladilog
27
bin/ladilog
|
@ -25,6 +25,10 @@ import pty
|
||||||
from signal import SIGTERM
|
from signal import SIGTERM
|
||||||
import termios
|
import termios
|
||||||
import tty
|
import tty
|
||||||
|
import gettext
|
||||||
|
import laditools
|
||||||
|
|
||||||
|
gettext.install(laditools.__name__)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import imp
|
import imp
|
||||||
|
@ -40,11 +44,9 @@ try:
|
||||||
import pygtk
|
import pygtk
|
||||||
pygtk.require ('2.0')
|
pygtk.require ('2.0')
|
||||||
import gtk
|
import gtk
|
||||||
import gtk.glade
|
|
||||||
import vte
|
import vte
|
||||||
import laditools
|
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
error = gtk.MessageDialog (None, gtk.DIALOG_MODAL, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, "You need to get you dependencies right before you run this program. Ask your package maintainer why this is happening to you\n%s" % repr(e))
|
error = gtk.MessageDialog (None, gtk.DIALOG_MODAL, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, _("You need to get you dependencies right before you run this program. Ask your package maintainer why this is happening to you\n%s") % repr(e))
|
||||||
error.run ()
|
error.run ()
|
||||||
exit (1)
|
exit (1)
|
||||||
|
|
||||||
|
@ -74,7 +76,7 @@ def read_last(lfile, lines):
|
||||||
lfile.seek(endpos, 0)
|
lfile.seek(endpos, 0)
|
||||||
return backlog
|
return backlog
|
||||||
|
|
||||||
class ladilog (gtk.glade.XML):
|
class ladilog(object):
|
||||||
def __init__ (self):
|
def __init__ (self):
|
||||||
self.log_files = [
|
self.log_files = [
|
||||||
{
|
{
|
||||||
|
@ -113,27 +115,28 @@ class ladilog (gtk.glade.XML):
|
||||||
# skip logfiles that dont exist
|
# skip logfiles that dont exist
|
||||||
if not os.access(log['logfile_path'], os.R_OK):
|
if not os.access(log['logfile_path'], os.R_OK):
|
||||||
self.log_files.remove(log)
|
self.log_files.remove(log)
|
||||||
print "Skipping '%s' because it does not exist" % log['logfile_path']
|
print _("Skipping '%s' because it does not exist") % log['logfile_path']
|
||||||
else:
|
else:
|
||||||
print "Watching '%s'" % log['logfile_path']
|
print _("Watching '%s'") % log['logfile_path']
|
||||||
|
|
||||||
max_lines_text = self.param_dict['max_lines']
|
max_lines_text = self.param_dict['max_lines']
|
||||||
self.max_lines = int (max_lines_text)
|
self.max_lines = int (max_lines_text)
|
||||||
# Load the glade file
|
# Load the glade file
|
||||||
gtk.glade.XML.__init__(self, laditools.find_data_file("ladilog_ui.glade"))
|
builder = gtk.Builder()
|
||||||
|
builder.add_from_file(laditools.find_data_file("ladilog_ui.ui"))
|
||||||
# Get the ui ready for action
|
# Get the ui ready for action
|
||||||
self.event_dict = {"on_ladilog_ui_destroy" : self.on_quit,
|
self.event_dict = {"on_ladilog_ui_destroy" : self.on_quit,
|
||||||
"on_close_button_clicked" : self.on_quit,
|
"on_close_button_clicked" : self.on_quit,
|
||||||
"on_clear_button_clicked" : self.on_clear_text,
|
"on_clear_button_clicked" : self.on_clear_text,
|
||||||
"on_purge_button_clicked" : self.on_purge}
|
"on_purge_button_clicked" : self.on_purge}
|
||||||
self.signal_autoconnect (self.event_dict)
|
builder.connect_signals(self.event_dict)
|
||||||
|
|
||||||
# Create our terminal and display it
|
# Create our terminal and display it
|
||||||
for log in self.log_files:
|
for log in self.log_files:
|
||||||
log['term'] = vte.Terminal ()
|
log['term'] = vte.Terminal ()
|
||||||
log["tab_label"] = gtk.Label (log["name"])
|
log["tab_label"] = gtk.Label (log["name"])
|
||||||
|
|
||||||
self.logview_notebook = self.get_widget ("ladilog_notebook")
|
self.logview_notebook = builder.get_object ("ladilog_notebook")
|
||||||
|
|
||||||
for log in self.log_files:
|
for log in self.log_files:
|
||||||
log['term'].show ()
|
log['term'].show ()
|
||||||
|
@ -148,9 +151,9 @@ class ladilog (gtk.glade.XML):
|
||||||
log["term"].feed(line)
|
log["term"].feed(line)
|
||||||
|
|
||||||
except ValueError:
|
except ValueError:
|
||||||
print "You called Popen with invalid arguments... dumbass"
|
print _("You called Popen with invalid arguments... dumbass")
|
||||||
except:
|
except:
|
||||||
print "Unexpected error:", sys.exc_info ()[0]
|
print _("Unexpected error:"), sys.exc_info ()[0]
|
||||||
|
|
||||||
for log in self.log_files:
|
for log in self.log_files:
|
||||||
self.logview_notebook.append_page (log["term"])
|
self.logview_notebook.append_page (log["term"])
|
||||||
|
@ -191,6 +194,6 @@ class ladilog (gtk.glade.XML):
|
||||||
try:
|
try:
|
||||||
ladilog().run()
|
ladilog().run()
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
error = gtk.MessageDialog(None, gtk.DIALOG_MODAL, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, "Unexpected error\n\n" + repr(e))
|
error = gtk.MessageDialog(None, gtk.DIALOG_MODAL, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, _("Unexpected error\n\n") + repr(e))
|
||||||
error.run()
|
error.run()
|
||||||
exit(1)
|
exit(1)
|
||||||
|
|
|
@ -1,23 +1,22 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0"?>
|
||||||
<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
|
|
||||||
<!--Generated with glade3 3.4.0 on Tue Aug 5 23:08:01 2008 -->
|
<!--Generated with glade3 3.4.0 on Tue Aug 5 23:08:01 2008 -->
|
||||||
<glade-interface>
|
<interface>
|
||||||
<widget class="GtkWindow" id="ladilog_ui">
|
<object class="GtkWindow" id="ladilog_ui">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||||
<property name="title" translatable="yes">LADI - Log viewer</property>
|
<property name="title" translatable="yes">LADI - Log viewer</property>
|
||||||
<property name="icon">laditools_logo.svg</property>
|
<property name="icon">laditools_logo.svg</property>
|
||||||
<signal name="destroy" handler="on_ladilog_ui_destroy"/>
|
<signal handler="on_ladilog_ui_destroy" name="destroy"/>
|
||||||
<child>
|
<child>
|
||||||
<widget class="GtkVBox" id="ladilog_vbox">
|
<object class="GtkVBox" id="ladilog_vbox">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||||
<child>
|
<child>
|
||||||
<widget class="GtkImage" id="laditools_logo">
|
<object class="GtkImage" id="laditools_logo">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||||
<property name="pixbuf">laditools_logo.svg</property>
|
<property name="pixbuf">laditools_logo.svg</property>
|
||||||
</widget>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
<property name="fill">False</property>
|
<property name="fill">False</property>
|
||||||
|
@ -25,72 +24,69 @@
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<widget class="GtkNotebook" id="ladilog_notebook">
|
<object class="GtkNotebook" id="ladilog_notebook">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||||
</widget>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="position">1</property>
|
<property name="position">1</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<widget class="GtkHBox" id="button_hbox">
|
<object class="GtkHBox" id="button_hbox">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||||
<property name="border_width">10</property>
|
<property name="border_width">10</property>
|
||||||
<child>
|
<child>
|
||||||
<widget class="GtkButton" id="clear_button">
|
<object class="GtkButton" id="clear_button">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">True</property>
|
<property name="receives_default">True</property>
|
||||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||||
<property name="label" translatable="yes">Clear</property>
|
<property name="label" translatable="yes">Clear</property>
|
||||||
<property name="response_id">0</property>
|
<signal handler="on_clear_button_clicked" name="clicked"/>
|
||||||
<signal name="clicked" handler="on_clear_button_clicked"/>
|
</object>
|
||||||
</widget>
|
|
||||||
<packing>
|
<packing>
|
||||||
<property name="fill">False</property>
|
<property name="fill">False</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<widget class="GtkButton" id="purge_button">
|
<object class="GtkButton" id="purge_button">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">True</property>
|
<property name="receives_default">True</property>
|
||||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||||
<property name="label" translatable="yes">Purge logs</property>
|
<property name="label" translatable="yes">Purge logs</property>
|
||||||
<property name="response_id">0</property>
|
<signal handler="on_purge_button_clicked" name="clicked"/>
|
||||||
<signal name="clicked" handler="on_purge_button_clicked"/>
|
</object>
|
||||||
</widget>
|
|
||||||
<packing>
|
<packing>
|
||||||
<property name="fill">False</property>
|
<property name="fill">False</property>
|
||||||
<property name="position">1</property>
|
<property name="position">1</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<widget class="GtkButton" id="close_button">
|
<object class="GtkButton" id="close_button">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">True</property>
|
<property name="receives_default">True</property>
|
||||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||||
<property name="label" translatable="yes">Close</property>
|
<property name="label" translatable="yes">Close</property>
|
||||||
<property name="response_id">0</property>
|
<signal handler="on_close_button_clicked" name="clicked"/>
|
||||||
<signal name="clicked" handler="on_close_button_clicked"/>
|
</object>
|
||||||
</widget>
|
|
||||||
<packing>
|
<packing>
|
||||||
<property name="fill">False</property>
|
<property name="fill">False</property>
|
||||||
<property name="position">2</property>
|
<property name="position">2</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
</widget>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
<property name="fill">False</property>
|
<property name="fill">False</property>
|
||||||
<property name="position">2</property>
|
<property name="position">2</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
</widget>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</widget>
|
</object>
|
||||||
</glade-interface>
|
</interface>
|
2
setup.py
2
setup.py
|
@ -48,7 +48,7 @@ setup(name='laditools',
|
||||||
('share/applications', ['data/laditray.desktop']),
|
('share/applications', ['data/laditray.desktop']),
|
||||||
('share/applications', ['data/ladiconf.desktop']),
|
('share/applications', ['data/ladiconf.desktop']),
|
||||||
('share/laditools/data', ['data/laditools_logo.svg',
|
('share/laditools/data', ['data/laditools_logo.svg',
|
||||||
'data/ladilog_ui.glade',
|
'data/ladilog_ui.ui',
|
||||||
'data/started.svg',
|
'data/started.svg',
|
||||||
'data/starting.svg',
|
'data/starting.svg',
|
||||||
'data/stopped.svg'])]
|
'data/stopped.svg'])]
|
||||||
|
|
Loading…
Reference in New Issue