Module: deluge Branch: multiuser Commit: fd8f5d69f1dbbfa101ddf9ab6095d9f550884d1c
Author: Andrew Resch <[email protected]> Date: Wed Feb 23 15:05:54 2011 -0800 Add some missing code --- deluge/ui/gtkui/preferences.py | 97 ++++++++++++++++++++++++++++------------ 1 files changed, 68 insertions(+), 29 deletions(-) diff --git a/deluge/ui/gtkui/preferences.py b/deluge/ui/gtkui/preferences.py index 154434d..9304b58 100644 --- a/deluge/ui/gtkui/preferences.py +++ b/deluge/ui/gtkui/preferences.py @@ -34,10 +34,8 @@ # import os -import pygtk -pygtk.require('2.0') import gtk -import gtk.glade + import logging import pkg_resources from twisted.internet.defer import maybeDeferred @@ -88,7 +86,47 @@ class PreferencePage(object): :type widget: gtk.Widget """ + # Create a header and scrolled window for the preferences tab + parent = widget.get_parent() + if parent: + parent.remove(widget) + vbox = gtk.VBox() + label = gtk.Label() + label.set_use_markup(True) + label.set_markup("<b><i><big>" + self.name + "</big></i></b>") + label.set_alignment(0.00, 0.50) + label.set_padding(10, 10) + vbox.pack_start(label, False, True, 0) + sep = gtk.HSeparator() + vbox.pack_start(sep, False, True, 0) + align = gtk.Alignment() + align.set_padding(5, 0, 0, 0) + align.set(0, 0, 1, 1) + align.add(widget) + vbox.pack_start(align, True, True, 0) + scrolled = gtk.ScrolledWindow() + viewport = gtk.Viewport() + viewport.set_shadow_type(gtk.SHADOW_NONE) + viewport.add(vbox) + scrolled.add(viewport) + scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) + self.widget = scrolled + + def set_widget_from_file(self, xmlfile, obj): + """ + Sets the widget from an object in a gtkBuilder xml file. + :param xmlfile: the path to the xml file + :type xmlfile: string + :param obj: the object name to use + :type obj: string + + """ + builder = gtk.Builder() + builder.add_from_file(xmlfile) + self.set_widget(builder.get_object(obj)) + + class GtkUIPreferencePage(PreferencePage): def __init__(self, name, xml, widget): super(GtkUIPreferencePage, self).__init__() @@ -331,7 +369,7 @@ class Preferences(component.Component): if page: index = self.get_page_index(page) if index: - self.pages[index].update() + self.pages[index].show() self.listview.get_selection().select_path(index) else: self.listview.get_selection().select_path(0) @@ -349,10 +387,10 @@ class Preferences(component.Component): if index is None: return - def on_page_update(result): + def on_page_show(result): self.notebook.set_current_page(index) try: - maybeDeferred(self.pages[index].update).addCallback(on_page_update) + maybeDeferred(self.pages[index].show).addCallback(on_page_show) except Exception, e: dialogs.ErrorDialog( _("Error with preference page"), @@ -360,26 +398,27 @@ class Preferences(component.Component): self.dialog, traceback=True).run() -#p = Preferences() -##d = DownloadsPreferencePage(_("Downloads"), "glade/preferences/downloads.glade", "downloads_prefs_page") -##p.add_page(d) -##d2 = NetworkPreferencePage(_("Network"), "glade/preferences/network.glade", "network_prefs_page") -##p.add_page(d2) -##d3 = BandwidthPreferencePage() -##p.add_page(d3) -##d4 = InterfacePreferencePage() -##p.add_page(d4) -##d5 = OtherPreferencePage() -##p.add_page(d5) -##d6 = DaemonPreferencePage() -##p.add_page(d6) -##d7 = QueuePreferencePage() -##p.add_page(d7) -##d8 = ProxyPreferencePage() -##p.add_page(d8) -##d9 = CachePreferencePage() -##p.add_page(d9) -##d10 = PluginsPreferencePage() -##p.add_page(d10) -#p.show() -#gtk.main() +if __name__ == "__main__": + p = Preferences() + d = DownloadsPreferencePage(_("Downloads"), "glade/preferences/downloads.glade", "downloads_prefs_page") + p.add_page(d) + #d2 = NetworkPreferencePage(_("Network"), "glade/preferences/network.glade", "network_prefs_page") + #p.add_page(d2) + ##d3 = BandwidthPreferencePage() + ##p.add_page(d3) + ##d4 = InterfacePreferencePage() + ##p.add_page(d4) + ##d5 = OtherPreferencePage() + ##p.add_page(d5) + ##d6 = DaemonPreferencePage() + ##p.add_page(d6) + ##d7 = QueuePreferencePage() + ##p.add_page(d7) + ##d8 = ProxyPreferencePage() + ##p.add_page(d8) + ##d9 = CachePreferencePage() + ##p.add_page(d9) + ##d10 = PluginsPreferencePage() + ##p.add_page(d10) + p.show() + gtk.main() -- You received this message because you are subscribed to the Google Groups "deluge-commit" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/deluge-commit?hl=en.
