Example #1
0
    def new_ilw(self):
        self.quotes_updater = QuoteUpdater(self.set_applet_icon,
                                           self.set_applet_tooltip)
        self.investwidget = Gtk.ScrolledWindow()
        self.investwidget.set_policy(Gtk.PolicyType.NEVER,
                                     Gtk.PolicyType.AUTOMATIC)
        #this helps get the initial height right
        self.investwidget.set_propagate_natural_height(True)
        raw_invest_widget = InvestWidget(self.quotes_updater)

        #the window containing the list of quotes can't be
        #resized by the user so show all quotes possible up to a
        #nice maximum window size
        window = self.applet.get_window()
        display = window.get_display()
        monitor = display.get_monitor_at_window(window)
        monitor_geom = monitor.get_geometry()
        self.investwidget.set_max_content_height(monitor_geom.height - 60)

        self.investwidget.add(raw_invest_widget)
        self.ilw = InvestmentsListWindow(self.applet, self.investwidget)
Example #2
0
 def new_ilw(self):
     self.quotes_updater = QuoteUpdater(self.set_applet_icon,
                                        self.set_applet_tooltip)
     self.investwidget = InvestWidget(self.quotes_updater)
     self.ilw = InvestmentsListWindow(self.applet, self.investwidget)
Example #3
0
class InvestApplet:
    def __init__(self, applet):
        self.applet = applet
        self.applet.setup_menu_from_file(None, "Invest_Applet.xml", None,
                                         [("About", self.on_about),
                                          ("Help", self.on_help),
                                          ("Prefs", self.on_preferences),
                                          ("Refresh", self.on_refresh)])

        evbox = gtk.HBox()
        self.applet_icon = gtk.Image()
        self.set_applet_icon(0)
        self.applet_icon.show()
        evbox.add(self.applet_icon)
        self.applet.add(evbox)
        self.applet.connect("button-press-event", self.button_clicked)
        self.applet.show_all()
        self.new_ilw()

    def new_ilw(self):
        self.quotes_updater = QuoteUpdater(self.set_applet_icon,
                                           self.set_applet_tooltip)
        self.investwidget = InvestWidget(self.quotes_updater)
        self.ilw = InvestmentsListWindow(self.applet, self.investwidget)

    def reload_ilw(self):
        self.ilw.destroy()
        self.new_ilw()

    def button_clicked(self, widget, event):
        if event.type == gtk.gdk.BUTTON_PRESS and event.button == 1:
            # Three cases...
            if len(mate_invest.STOCKS) == 0:
                # a) We aren't configured yet
                mate_invest.preferences.show_preferences(
                    self,
                    _("<b>You have not entered any stock information yet</b>"))
                self.reload_ilw()
            elif not self.quotes_updater.quotes_valid:
                # b) We can't get the data (e.g. offline)
                alert = gtk.MessageDialog(buttons=gtk.BUTTONS_CLOSE)
                alert.set_markup(
                    _("<b>No stock quotes are currently available</b>"))
                alert.format_secondary_text(
                    _("The server could not be contacted. The computer is either offline or the servers are down. Try again later."
                      ))
                alert.run()
                alert.destroy()
            else:
                # c) Everything is normal: pop-up the window
                self.ilw.toggle_show()

    def on_about(self, component, verb):
        mate_invest.about.show_about()

    def on_help(self, component, verb):
        mate_invest.help.show_help()

    def on_preferences(self, component, verb):
        mate_invest.preferences.show_preferences(self)
        self.reload_ilw()

    def on_refresh(self, component, verb):
        self.quotes_updater.refresh()

    def set_applet_icon(self, change):
        if change == 1:
            pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(
                join(mate_invest.ART_DATA_DIR, "invest-22_up.png"), -1, -1)
        elif change == 0:
            pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(
                join(mate_invest.ART_DATA_DIR, "invest-22_neutral.png"), -1,
                -1)
        else:
            pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(
                join(mate_invest.ART_DATA_DIR, "invest-22_down.png"), -1, -1)
        self.applet_icon.set_from_pixbuf(pixbuf)

    def set_applet_tooltip(self, text):
        self.applet_icon.set_tooltip_text(text)
Example #4
0
	def new_ilw(self):
		self.quotes_updater = QuoteUpdater(self.set_applet_icon,
						   self.set_applet_tooltip)
		self.investwidget = InvestWidget(self.quotes_updater)
		self.ilw = InvestmentsListWindow(self.applet, self.investwidget)
Example #5
0
class InvestApplet(MatePanelApplet.Applet):
	def __init__(self, applet):
		self.applet = applet

		# name, stock_id, label, accellerator, tooltip, callback
		menu_actions = [("About", Gtk.STOCK_HELP, _("About"), None, None, self.on_about),
				("Help", Gtk.STOCK_HELP, _("Help"), None, None, self.on_help),
				("Prefs", Gtk.STOCK_PREFERENCES, _("Preferences"), None, None, self.on_preferences),
				("Refresh", Gtk.STOCK_REFRESH, _("Refresh"), None, None, self.on_refresh)
				]
		actiongroup = Gtk.ActionGroup.new("InvestAppletActions")
		actiongroup.set_translation_domain(mate_invest.defs.GETTEXT_PACKAGE)
		actiongroup.add_actions(menu_actions, None)
		self.applet.setup_menu_from_file (join(mate_invest.defs.PKGDATADIR, "Invest_Applet.xml"), actiongroup)

		evbox = Gtk.HBox()
		self.applet_icon = Gtk.Image()
		self.set_applet_icon(0)
		self.applet_icon.show()
		evbox.add(self.applet_icon)
		self.applet.add(evbox)
		self.applet.connect("button-press-event", self.button_clicked)
		self.applet.show_all()
		self.new_ilw()

	def new_ilw(self):
		self.quotes_updater = QuoteUpdater(self.set_applet_icon,
						   self.set_applet_tooltip)
		self.investwidget = InvestWidget(self.quotes_updater)
		self.ilw = InvestmentsListWindow(self.applet, self.investwidget)

	def reload_ilw(self):
		self.ilw.destroy()
		self.new_ilw()

	def button_clicked(self, widget,event):
		if event.type == Gdk.EventType.BUTTON_PRESS and event.button == 1:
			# Three cases...
			if len (mate_invest.STOCKS) == 0:
				# a) We aren't configured yet
				mate_invest.preferences.show_preferences(self, _("<b>You have not entered any stock information yet</b>"))
				self.reload_ilw()
			elif not self.quotes_updater.quotes_valid:
				# b) We can't get the data (e.g. offline)
				alert = Gtk.MessageDialog(buttons=Gtk.ButtonsType.CLOSE)
				alert.set_markup(_("<b>No stock quotes are currently available</b>"))
				alert.format_secondary_text(_("The server could not be contacted. The computer is either offline or the servers are down. Try again later."))
				alert.run()
				alert.destroy()
			else:
				# c) Everything is normal: pop-up the window
				self.ilw.toggle_show()
	
	def on_about(self, action):
		mate_invest.about.show_about()
	
	def on_help(self, action):
		mate_invest.help.show_help()

	def on_preferences(self, action):
		mate_invest.preferences.show_preferences(self)
		self.reload_ilw()
	
	def on_refresh(self, action):
		self.quotes_updater.refresh()

	def set_applet_icon(self, change):
		if change == 1:
			pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(join(mate_invest.ART_DATA_DIR, "invest-22_up.png"), -1,-1)
		elif change == 0:
			pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(join(mate_invest.ART_DATA_DIR, "invest-22_neutral.png"), -1,-1)
		else:
			pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(join(mate_invest.ART_DATA_DIR, "invest-22_down.png"), -1,-1)
		self.applet_icon.set_from_pixbuf(pixbuf)
	
	def set_applet_tooltip(self, text):
		self.applet_icon.set_tooltip_text(text)
Example #6
0
class InvestApplet(MatePanelApplet.Applet):
	def __init__(self, applet):
		self.applet = applet

		# name, stock_id, label, accellerator, tooltip, callback
		menu_actions = [("About", Gtk.STOCK_ABOUT, _("About"), None, None, self.on_about),
				("Help", Gtk.STOCK_HELP, _("Help"), None, None, self.on_help),
				("Prefs", Gtk.STOCK_PREFERENCES, _("Preferences"), None, None, self.on_preferences),
				("Refresh", Gtk.STOCK_REFRESH, _("Refresh"), None, None, self.on_refresh)
				]
		actiongroup = Gtk.ActionGroup.new("InvestAppletActions")
		actiongroup.set_translation_domain(mate_invest.defs.GETTEXT_PACKAGE)
		actiongroup.add_actions(menu_actions, None)
		self.applet.setup_menu_from_file (join(mate_invest.defs.PKGDATADIR, "Invest_Applet.xml"), actiongroup)

		evbox = Gtk.HBox()
		self.applet_icon = Gtk.Image()
		self.set_applet_icon(0)
		self.applet_icon.show()
		evbox.add(self.applet_icon)
		self.applet.add(evbox)
		self.applet.connect("button-press-event", self.button_clicked)
		self.applet.show_all()
		self.new_ilw()

	def new_ilw(self):
		self.quotes_updater = QuoteUpdater(self.set_applet_icon,
						   self.set_applet_tooltip)
		self.investwidget = InvestWidget(self.quotes_updater)
		self.ilw = InvestmentsListWindow(self.applet, self.investwidget)

	def reload_ilw(self):
		self.ilw.destroy()
		self.new_ilw()

	def button_clicked(self, widget,event):
		if event.type == Gdk.EventType.BUTTON_PRESS and event.button == 1:
			# Three cases...
			if len (mate_invest.STOCKS) == 0:
				# a) We aren't configured yet
				mate_invest.preferences.show_preferences(self, _("<b>You have not entered any stock information yet</b>"))
				self.reload_ilw()
			elif not self.quotes_updater.quotes_valid:
				# b) We can't get the data (e.g. offline)
				alert = Gtk.MessageDialog(buttons=Gtk.ButtonsType.CLOSE)
				alert.set_markup(_("<b>No stock quotes are currently available</b>"))
				alert.format_secondary_text(_("The server could not be contacted. The computer is either offline or the servers are down. Try again later."))
				alert.run()
				alert.destroy()
			else:
				# c) Everything is normal: pop-up the window
				self.ilw.toggle_show()
	
	def on_about(self, action):
		mate_invest.about.show_about()
	
	def on_help(self, action):
		mate_invest.help.show_help()

	def on_preferences(self, action):
		mate_invest.preferences.show_preferences(self)
		self.reload_ilw()
	
	def on_refresh(self, action):
		self.quotes_updater.refresh()

	def set_applet_icon(self, change):
		if change == 1:
			pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(join(mate_invest.ART_DATA_DIR, "invest-22_up.png"), -1,-1)
		elif change == 0:
			pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(join(mate_invest.ART_DATA_DIR, "invest-22_neutral.png"), -1,-1)
		else:
			pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(join(mate_invest.ART_DATA_DIR, "invest-22_down.png"), -1,-1)
		self.applet_icon.set_from_pixbuf(pixbuf)
	
	def set_applet_tooltip(self, text):
		self.applet_icon.set_tooltip_text(text)
Example #7
0
class InvestApplet:
	def __init__(self, applet):
		self.applet = applet
		self.applet.setup_menu_from_file (
			None, "Invest_Applet.xml",
			None, [("About", self.on_about), 
					("Help", self.on_help),
					("Prefs", self.on_preferences),
					("Refresh", self.on_refresh)
					])

		evbox = gtk.HBox()
		self.applet_icon = gtk.Image()
		self.set_applet_icon(0)
		self.applet_icon.show()
		evbox.add(self.applet_icon)
		self.applet.add(evbox)
		self.applet.connect("button-press-event",self.button_clicked)
		self.applet.show_all()
		self.new_ilw()

	def new_ilw(self):
		self.quotes_updater = QuoteUpdater(self.set_applet_icon,
						   self.set_applet_tooltip)
		self.investwidget = InvestWidget(self.quotes_updater)
		self.ilw = InvestmentsListWindow(self.applet, self.investwidget)

	def reload_ilw(self):
		self.ilw.destroy()
		self.new_ilw()

	def button_clicked(self, widget,event):
		if event.type == gtk.gdk.BUTTON_PRESS and event.button == 1:
			# Three cases...
			if len (mate_invest.STOCKS) == 0:
				# a) We aren't configured yet
				mate_invest.preferences.show_preferences(self, _("<b>You have not entered any stock information yet</b>"))
				self.reload_ilw()
			elif not self.quotes_updater.quotes_valid:
				# b) We can't get the data (e.g. offline)
				alert = gtk.MessageDialog(buttons=gtk.BUTTONS_CLOSE)
				alert.set_markup(_("<b>No stock quotes are currently available</b>"))
				alert.format_secondary_text(_("The server could not be contacted. The computer is either offline or the servers are down. Try again later."))
				alert.run()
				alert.destroy()
			else:
				# c) Everything is normal: pop-up the window
				self.ilw.toggle_show()
	
	def on_about(self, component, verb):
		mate_invest.about.show_about()
	
	def on_help(self, component, verb):
		mate_invest.help.show_help()

	def on_preferences(self, component, verb):
		mate_invest.preferences.show_preferences(self)
		self.reload_ilw()
	
	def on_refresh(self, component, verb):
		self.quotes_updater.refresh()

	def set_applet_icon(self, change):
		if change == 1:
			pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(join(mate_invest.ART_DATA_DIR, "invest-22_up.png"), -1,-1)
		elif change == 0:
			pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(join(mate_invest.ART_DATA_DIR, "invest-22_neutral.png"), -1,-1)
		else:
			pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(join(mate_invest.ART_DATA_DIR, "invest-22_down.png"), -1,-1)
		self.applet_icon.set_from_pixbuf(pixbuf)
	
	def set_applet_tooltip(self, text):
		self.applet_icon.set_tooltip_text(text)