remove gnome, gnome.ui, gtkhtml2 module dependencies
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
#
|
||||
# $Id: applet.py,v 1.10 2003/09/15 15:07:19 veillard Exp $
|
||||
|
||||
import sys, gtk
|
||||
import sys
|
||||
#import signal
|
||||
sys.path.insert(0,'/usr/lib/entropy/client')
|
||||
sys.path.insert(0,'/usr/lib/entropy/libraries')
|
||||
@@ -17,6 +17,9 @@ sys.path.insert(0,'../../libraries')
|
||||
sys.path.insert(0,'../../sulfur/src')
|
||||
sys.path.insert(0,'../')
|
||||
sys.argv.append('--no-pid-handling')
|
||||
import gtk
|
||||
import gtk.gdk
|
||||
import gobject
|
||||
|
||||
import etp_applet
|
||||
|
||||
@@ -24,8 +27,13 @@ if __name__ == "__main__":
|
||||
#signal.signal(signal.SIGINT, signal.SIG_DFL)
|
||||
applet = etp_applet.EntropyApplet()
|
||||
try:
|
||||
gobject.threads_init()
|
||||
gtk.gdk.threads_enter()
|
||||
gtk.main()
|
||||
gtk.gdk.threads_leave()
|
||||
except KeyboardInterrupt:
|
||||
applet.close_service()
|
||||
gobject.timeout_add(0, applet.exit_applet)
|
||||
gtk.gdk.threads_leave()
|
||||
raise
|
||||
|
||||
|
||||
@@ -26,8 +26,6 @@ import os
|
||||
import sys
|
||||
import time
|
||||
import subprocess
|
||||
import gnome
|
||||
import gnome.ui
|
||||
import gtk
|
||||
import gobject
|
||||
import pynotify
|
||||
@@ -37,8 +35,8 @@ import dbus.mainloop.glib
|
||||
|
||||
# applet imports
|
||||
import etp_applet_config
|
||||
from etp_applet_components import AppletNoticeWindow, AppletAboutWindow, \
|
||||
AppletErrorDialog, AppletExceptionDialog, AppletIconPixbuf
|
||||
from etp_applet_components import AppletNoticeWindow, \
|
||||
AppletErrorDialog, AppletIconPixbuf
|
||||
|
||||
# Entropy imports
|
||||
from entropy.i18n import _
|
||||
@@ -108,18 +106,11 @@ class EntropyApplet:
|
||||
self.notice_window = None
|
||||
self.error_dialog = None
|
||||
self.error_threshold = 0
|
||||
self.about_window = None
|
||||
self.last_error = None
|
||||
self.package_updates = []
|
||||
self.last_alert = None
|
||||
self.tooltip_text = ""
|
||||
self.last_trigger_check_t = 0.0
|
||||
gnome.program_init("entropy-notifier", etpConst['entropyversion'])
|
||||
|
||||
self.session = gnome.ui.master_client()
|
||||
if self.session:
|
||||
gtk.Object.connect(self.session, "save-yourself", self.save_yourself)
|
||||
gtk.Object.connect(self.session, "die", self.exit_applet)
|
||||
|
||||
self.never_viewed_notices = 1
|
||||
self.current_image = None
|
||||
@@ -134,7 +125,8 @@ class EntropyApplet:
|
||||
self.icons.add_file("critical", "applet-critical.png")
|
||||
self.icons.add_file("disable", "applet-disable.png")
|
||||
self.icons.add_file("sulfur","sulfur.png")
|
||||
self.icons.add_file("about","applet-about.png")
|
||||
# remove this in future
|
||||
# self.icons.add_file("about","applet-about.png")
|
||||
self.icons.add_file("web","applet-web.png")
|
||||
self.icons.add_file("configuration","applet-configuration.png")
|
||||
self.applet_size = 22
|
||||
@@ -153,7 +145,6 @@ class EntropyApplet:
|
||||
("web_site", _("_Sabayon Linux Website"),
|
||||
_("Launch Sabayon Linux Website"), self.load_website),
|
||||
None,
|
||||
("about", _("_About"), _("About..."), self.about),
|
||||
("exit", _("_Exit"), _("Exit"), self.exit_applet),
|
||||
)
|
||||
|
||||
@@ -370,8 +361,9 @@ class EntropyApplet:
|
||||
img = gtk.Image()
|
||||
if name == "update_now":
|
||||
pix = self.icons.best_match("sulfur",22)
|
||||
elif name == "about":
|
||||
pix = self.icons.best_match("about",22)
|
||||
# remove this in future
|
||||
#elif name == "about":
|
||||
# pix = self.icons.best_match("about",22)
|
||||
elif name in ["web_panel","web_site"]:
|
||||
pix = self.icons.best_match("web",22)
|
||||
elif name == "configure_applet":
|
||||
@@ -403,16 +395,10 @@ class EntropyApplet:
|
||||
self.status_icon.set_visible(True)
|
||||
|
||||
def load_packages_url(self, *data):
|
||||
try:
|
||||
gnome.url_show("http://www.sabayon.org/packages")
|
||||
except gobject.GError:
|
||||
self.load_url("http://www.sabayon.org/packages")
|
||||
self.load_url("http://www.sabayon.org/packages")
|
||||
|
||||
def load_website(self, *data):
|
||||
try:
|
||||
gnome.url_show("http://www.sabayon.org/")
|
||||
except gobject.GError:
|
||||
self.load_url("http://www.sabayon.org/")
|
||||
self.load_url("http://www.sabayon.org/")
|
||||
|
||||
def load_url(self, url):
|
||||
subprocess.call(['xdg-open',url])
|
||||
@@ -469,20 +455,6 @@ class EntropyApplet:
|
||||
gtk.main_quit()
|
||||
raise SystemExit(0)
|
||||
|
||||
def save_yourself(self, *args):
|
||||
if self.session:
|
||||
self.session.set_clone_command(1, ["/usr/bin/entropy-update-applet"])
|
||||
self.session.set_restart_command(1, ["/usr/bin/entropy-update-applet"])
|
||||
return True
|
||||
|
||||
def about(self, *data):
|
||||
if self.about_window:
|
||||
return
|
||||
self.about_window = AppletAboutWindow(self)
|
||||
|
||||
def about_dialog_closed(self):
|
||||
self.about_window = None
|
||||
|
||||
def notice_window_closed(self):
|
||||
self.notice_window = None
|
||||
|
||||
|
||||
@@ -22,13 +22,10 @@
|
||||
"""
|
||||
|
||||
import os
|
||||
import gnome
|
||||
import gnome.ui
|
||||
import gobject
|
||||
import gtk.glade
|
||||
gtk.glade.bindtextdomain('entropy', "/usr/share/locale")
|
||||
import gtk
|
||||
import gtkhtml2
|
||||
from entropy.const import etpConst
|
||||
from entropy.i18n import _
|
||||
from entropy.core import SystemSettings
|
||||
@@ -76,6 +73,10 @@ class AppletNoticeWindow(GladeWindow):
|
||||
"on_close_clicked" : self.on_close,
|
||||
})
|
||||
|
||||
message_label = gtk.Label()
|
||||
message_label.set_line_wrap(True)
|
||||
self.message_label = message_label
|
||||
|
||||
def on_sulfur(self, button):
|
||||
self.parent.launch_package_manager()
|
||||
|
||||
@@ -95,43 +96,30 @@ class AppletNoticeWindow(GladeWindow):
|
||||
def set_critical(self, text, critical_active):
|
||||
|
||||
if not self.critical_tab_contents:
|
||||
html_view = gtkhtml2.View()
|
||||
self.html_view = html_view
|
||||
self.html_doc = gtkhtml2.Document()
|
||||
|
||||
sw = gtk.ScrolledWindow()
|
||||
sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
|
||||
sw.set_border_width(2)
|
||||
sw.add(html_view)
|
||||
|
||||
vb = gtk.VBox()
|
||||
vb.add(self.message_label)
|
||||
tab_label = gtk.Label(_("Critical Information"))
|
||||
|
||||
tab_label.show()
|
||||
self.message_label.show()
|
||||
vb.show()
|
||||
|
||||
html_view.show()
|
||||
sw.show()
|
||||
|
||||
self.critical_tab = self.notebook.prepend_page(sw, tab_label)
|
||||
self.critical_tab_contents = sw
|
||||
self.critical_tab = self.notebook.prepend_page(vb, tab_label)
|
||||
self.critical_tab_contents = vb
|
||||
|
||||
if critical_active:
|
||||
self.notebook.set_current_page(
|
||||
self.notebook.page_num(self.critical_tab_contents))
|
||||
|
||||
self.set_critical_tab_text(text)
|
||||
|
||||
else:
|
||||
if self.critical_tab_text != text:
|
||||
self.set_critical_tab_text(text)
|
||||
|
||||
self.set_critical_tab_text(text)
|
||||
|
||||
def set_critical_tab_text(self, text):
|
||||
self.critical_tab_text = text
|
||||
|
||||
self.html_doc.clear()
|
||||
self.html_doc.connect('link_clicked', self.on_link_clicked)
|
||||
self.html_doc.open_stream("text/html")
|
||||
self.html_doc.write_stream(
|
||||
'<meta http-equiv="Content-Type" content="text/html; charset=utf-8">' + text)
|
||||
self.html_doc.close_stream()
|
||||
self.html_view.set_document(self.html_doc)
|
||||
self.message_label.set_markup(text)
|
||||
|
||||
def remove_critical(self):
|
||||
if not self.critical_tab_contents:
|
||||
@@ -146,25 +134,6 @@ class AppletNoticeWindow(GladeWindow):
|
||||
self.package_list_model.append((name, avail,))
|
||||
|
||||
|
||||
class AppletAboutWindow:
|
||||
|
||||
def __init__(self, parent):
|
||||
self.window = gnome.ui.About("%s Updates Applet" % (
|
||||
SysSettings['system']['name'],
|
||||
),
|
||||
etpConst['entropyversion'], "Copyright (C) 2009, Sabayon Linux",
|
||||
"Sabayon, what else?",
|
||||
[ "Sabayon Linux", "sabayon@sabayonlinux.org" ])
|
||||
self.window.connect("destroy", self.on_close)
|
||||
self.parent = parent
|
||||
self.window.show()
|
||||
|
||||
def close_dialog(self, *rest):
|
||||
self.parent.about_dialog_closed()
|
||||
|
||||
def on_close(self, *data):
|
||||
self.close_dialog()
|
||||
|
||||
class AppletErrorDialog(GladeWindow):
|
||||
def __init__(self, parent, error):
|
||||
GladeWindow.__init__(self)
|
||||
@@ -183,53 +152,9 @@ class AppletErrorDialog(GladeWindow):
|
||||
def on_close(self, *data):
|
||||
self.close_dialog()
|
||||
|
||||
# stolen from anaconda
|
||||
def growToParent(*args):
|
||||
return
|
||||
|
||||
def addFrame(dialog, title=None):
|
||||
contents = dialog.get_children()[0]
|
||||
dialog.remove(contents)
|
||||
frame = gtk.Frame()
|
||||
frame.set_shadow_type(gtk.SHADOW_OUT)
|
||||
box = gtk.VBox()
|
||||
try:
|
||||
if title is None:
|
||||
title = dialog.get_title()
|
||||
|
||||
if title:
|
||||
data = {}
|
||||
data["state"] = 0
|
||||
data["button"] = 0
|
||||
data["deltax"] = 0
|
||||
data["deltay"] = 0
|
||||
data["window"] = dialog
|
||||
eventBox = gtk.EventBox()
|
||||
eventBox.connect("button-press-event", titleBarMousePressCB, data)
|
||||
eventBox.connect("button-release-event", titleBarMouseReleaseCB, data)
|
||||
eventBox.connect("motion-notify-event", titleBarMotionEventCB,data)
|
||||
titleBox = gtk.HBox(gtk.FALSE, 5)
|
||||
eventBox.add(titleBox)
|
||||
eventBox.modify_bg(gtk.STATE_NORMAL,
|
||||
eventBox.rc_get_style().bg[gtk.STATE_SELECTED])
|
||||
titlelbl = gtk.Label("")
|
||||
titlelbl.set_markup("<b>"+_(title)+"</b>")
|
||||
titlelbl.modify_fg(gtk.STATE_NORMAL, gtk.gdk.color_parse ("white"))
|
||||
titlelbl.set_property("ypad", 4)
|
||||
titleBox.pack_start(titlelbl)
|
||||
box.pack_start(eventBox, gtk.FALSE, gtk.FALSE)
|
||||
except:
|
||||
pass
|
||||
|
||||
frame2=gtk.Frame()
|
||||
frame2.set_shadow_type(gtk.SHADOW_NONE)
|
||||
frame2.set_border_width(4)
|
||||
frame2.add(contents)
|
||||
box.pack_start(frame2, gtk.TRUE, gtk.TRUE, padding=5)
|
||||
frame.add(box)
|
||||
frame.show()
|
||||
dialog.add(frame)
|
||||
|
||||
class WrappingLabel(gtk.Label):
|
||||
def __init__(self, label=""):
|
||||
gtk.Label.__init__(self, label)
|
||||
@@ -237,49 +162,6 @@ class WrappingLabel(gtk.Label):
|
||||
self.ignoreEvents = 0
|
||||
self.connect("size-allocate", growToParent)
|
||||
|
||||
class AppletExceptionDialog:
|
||||
|
||||
def __init__ (self, parent, text):
|
||||
self.parent = parent
|
||||
win = gtk.Dialog("Exception Occured", None)
|
||||
self.window = win
|
||||
win.add_button('gtk-ok', 0)
|
||||
|
||||
mybuf = gtk.TextBuffer(None)
|
||||
mybuf.set_text(text)
|
||||
textbox = gtk.TextView()
|
||||
textbox.set_buffer(buffer)
|
||||
textbox.set_property("editable", gtk.FALSE)
|
||||
textbox.set_property("cursor_visible", gtk.FALSE)
|
||||
sw = gtk.ScrolledWindow ()
|
||||
sw.add (textbox)
|
||||
sw.set_policy (gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
|
||||
|
||||
hbox = gtk.HBox (gtk.FALSE)
|
||||
|
||||
info = WrappingLabel(_("An unhandled exception has occured. This "
|
||||
"is most likely a bug. Please copy the "
|
||||
"full text of this exception into an email "
|
||||
"and send it to sabayon@sabayonlinux.org. Thank you."))
|
||||
info.set_size_request (400, -1)
|
||||
|
||||
hbox.pack_start (sw, gtk.TRUE)
|
||||
win.vbox.pack_start (info, gtk.FALSE)
|
||||
win.vbox.pack_start (hbox, gtk.TRUE)
|
||||
win.set_size_request (500, 300)
|
||||
win.set_position (gtk.WIN_POS_CENTER)
|
||||
addFrame(win)
|
||||
win.show_all()
|
||||
win.connect('close', self.on_close)
|
||||
win.connect('response', self.on_close)
|
||||
|
||||
def close_dialog(self, *rest):
|
||||
self.parent.error_dialog_closed()
|
||||
self.window.destroy()
|
||||
|
||||
def on_close(self, *data):
|
||||
self.close_dialog()
|
||||
|
||||
class AppletIconPixbuf:
|
||||
|
||||
def __init__(self):
|
||||
|
||||
Reference in New Issue
Block a user