Пример #1
0
def get_gtk_builder(name):
    filename = "%s/%s.ui" % (UI_PATH, name)
    assert ospath.exists(filename)
    b = Builder()
    b.set_property("translation-domain", I18N_APP)
    b.add_from_file(filename)
    return b
Пример #2
0
 def showUI(self):
     """ shows the ui and starts it so user interaction can begin """
     self.builder = Builder()
     self.builder.add_from_file("ui.xml")
     self.mainWindow = self.builder.get_object("mainWin")
     self.mainWindow.set_title(self.currentFLC.label)
     self.mainWindow.maximize()
     self.mainWindow.connect("delete-event", main_quit)
     self.fssEntry = self.builder.get_object("fssEntry")
     self.bssEntry = self.builder.get_object("bssEntry")
     self.inputsBox = self.builder.get_object("inputsBox")
     self.outputsBox = self.builder.get_object("outputsBox")
     self.rulesBox = self.builder.get_object("rulesBox")
     self.andCombo = self.builder.get_object("andCombo")
     self.implicationCombo = self.builder.get_object("implicationCombo")
     self.inputPlots = []
     self.outputPlots = []
     for i in self.currentFLC.inputs:
         self.inputPlots.append(PlotWidget([i]))
     for i in self.currentFLC.outputs:
         self.outputPlots.append(PlotWidget([i]))
     for k, i in enumerate(self.inputPlots):
         self.inputsBox.pack_start(self.inputPlots[k].get_canvas_widget())
     for k, i in enumerate(self.outputPlots):
         self.outputsBox.pack_start(self.outputPlots[k].get_canvas_widget())
     self.rbList = RuleBaseWidget(
         self.currentFLC.rulebase).get_list_widget()
     self.rulesBox.pack_start(self.rbList)
     self.discSpin = self.builder.get_object("discretizationSteps")
     self.closeButton = self.builder.get_object("closeBtn")
     self.closeButton.connect("clicked", main_quit)
     self.executeButton = self.builder.get_object("execBtn")
     self.executeButton.connect("clicked", self.execute_clicked)
     self.mainWindow.show_all()
     main()
Пример #3
0
    def __init__(self):
        component.Component.__init__(self,
                                     'QueuedTorrents',
                                     depend=['StatusBar', 'AddTorrentDialog'])
        self.queue = []
        self.status_item = None

        self.config = ConfigManager('gtkui.conf')
        self.builder = Builder()
        self.builder.add_from_file(
            deluge.common.resource_filename(
                'deluge.ui.gtkui', os.path.join('glade', 'queuedtorrents.ui')))
        self.builder.get_object('chk_autoadd').set_active(
            self.config['autoadd_queued'])
        self.dialog = self.builder.get_object('queued_torrents_dialog')
        self.dialog.set_icon(get_logo(32))

        self.builder.connect_signals(self)

        self.treeview = self.builder.get_object('treeview')
        self.treeview.append_column(
            TreeViewColumn(_('Torrent'), CellRendererText(), text=0))

        self.liststore = ListStore(str, str)
        self.treeview.set_model(self.liststore)
        self.treeview.set_tooltip_column(1)
Пример #4
0
 def on_menuitem_add_peer_activate(self, menuitem):
     """This is a callback for manually adding a peer"""
     log.debug('on_menuitem_add_peer')
     builder = Builder()
     builder.add_from_file(
         deluge.common.resource_filename(
             'deluge.ui.gtkui',
             os.path.join('glade', 'connect_peer_dialog.ui')))
     peer_dialog = builder.get_object('connect_peer_dialog')
     txt_ip = builder.get_object('txt_ip')
     response = peer_dialog.run()
     if response:
         value = txt_ip.get_text()
         if value and ':' in value:
             if ']' in value:
                 # ipv6
                 ip = value.split(']')[0][1:]
                 port = value.split(']')[1][1:]
             else:
                 # ipv4
                 ip = value.split(':')[0]
                 port = value.split(':')[1]
             if deluge.common.is_ip(ip):
                 log.debug('adding peer %s to %s', value, self.torrent_id)
                 client.core.connect_peer(self.torrent_id, ip, port)
     peer_dialog.destroy()
     return True
Пример #5
0
 def load_builder_file(cls, path_parts, root=None, domain=''):
     _id = "/".join(path_parts)
     if _id in _builders:
         return _builders[_id]
     buildername = pan_app.get_abs_data_filename(path_parts)
     builder = Builder()
     builder.add_from_file(buildername)
     builder.set_translation_domain(domain)
     _builders[_id] = builder
     return builder
Пример #6
0
 def __init__(self, fname, root=None, domain="", typedict={}):
     self.builder = Builder()
     if domain:
         self.builder.set_translation_domain(domain)
     conv = GtkBuilderConverter(root=root, skip_windows=False)
     conv.parse_file(fname)
     cwd = os.getcwd()
     os.chdir(os.path.dirname(fname))
     xml = conv.to_xml()
     self.builder.add_from_string(xml, len(xml))
     os.chdir(cwd)
Пример #7
0
    def load(self):
        log.debug('Adding Label Preferences page')
        builder = Builder()
        builder.add_from_file(get_resource('label_pref.ui'))

        self.plugin.add_preferences_page(_('Label'),
                                         builder.get_object('label_prefs_box'))
        self.plugin.register_hook('on_show_prefs', self.load_settings)
        self.plugin.register_hook('on_apply_prefs', self.on_apply_prefs)

        self.load_settings()
Пример #8
0
    def __init__(self, updates_out, events_in):
        self.updates_out = updates_out
        self.events_in = events_in

        self.builder = Builder()
        self.builder.add_from_file(sys.path[0] + "/lib/pendrive-frenzy.glade")

        self.window = self.builder.get_object("main_window")
        self.pendrive_list = PendriveListWrapper(
            self.builder.get_object("pendrive_list"))
        self.writing_enabled = self.builder.get_object("writing_enabled")
        self.infobar = self.builder.get_object("infobar")
        self.statusbar = self.builder.get_object("statusbar")
        self.statusbar_contextid = self.statusbar.get_context_id("default")

        self.builder.connect_signals(self)
        self.window.show()
Пример #9
0
    def enable(self):
        """Enables the system tray icon."""
        self.builder = Builder()
        self.builder.add_from_file(
            resource_filename('deluge.ui.gtkui',
                              os.path.join('glade', 'tray_menu.ui')))

        self.builder.connect_signals(self)

        self.tray_menu = self.builder.get_object('tray_menu')

        if appindicator and self.config['enable_appindicator']:
            log.debug('Enabling the Application Indicator...')
            self.indicator = appindicator.Indicator(
                'deluge', 'deluge', appindicator.CATEGORY_APPLICATION_STATUS)
            try:
                self.indicator.set_property('title', _('Deluge'))
            except TypeError:
                # Catch 'title' property error for previous appindicator versions
                pass
            # Pass the menu to the Application Indicator
            self.indicator.set_menu(self.tray_menu)

            # Make sure the status of the Show Window MenuItem is correct
            self._sig_win_hide = self.mainwindow.window.connect(
                'hide', self._on_window_hide)
            self._sig_win_show = self.mainwindow.window.connect(
                'show', self._on_window_show)
            if self.mainwindow.visible():
                self.builder.get_object('menuitem_show_deluge').set_active(
                    True)
            else:
                self.builder.get_object('menuitem_show_deluge').set_active(
                    False)

            # Show the Application Indicator
            self.indicator.set_status(appindicator.STATUS_ACTIVE)

        else:
            log.debug('Enabling the system tray icon..')
            if windows_check() or osx_check():
                self.tray = status_icon_new_from_pixbuf(get_logo(32))
            else:
                self.tray = status_icon_new_from_icon_name('deluge-panel')

            self.tray.connect('activate', self.on_tray_clicked)
            self.tray.connect('popup-menu', self.on_tray_popup)

        self.builder.get_object('download-limit-image').set_from_file(
            get_pixmap('downloading16.png'))
        self.builder.get_object('upload-limit-image').set_from_file(
            get_pixmap('seeding16.png'))

        client.register_event_handler('ConfigValueChangedEvent',
                                      self.config_value_changed)
        if client.connected():
            # We're connected so we need to get some values from the core
            self.__start()
        else:
            # Hide menu widgets because we're not connected to a host.
            for widget in self.hide_widget_list:
                self.builder.get_object(widget).hide()