1
# -*- coding: utf-8 -*-
3
# Authors: Natalia B Bidart <natalia.bidart@canonical.com>
5
# Copyright 2010 Canonical Ltd.
7
# This program is free software: you can redistribute it and/or modify it
8
# under the terms of the GNU General Public License version 3, as published
9
# by the Free Software Foundation.
11
# This program is distributed in the hope that it will be useful, but
12
# WITHOUT ANY WARRANTY; without even the implied warranties of
13
# MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
14
# PURPOSE. See the GNU General Public License for more details.
16
# You should have received a copy of the GNU General Public License along
17
# with this program. If not, see <http://www.gnu.org/licenses/>.
19
"""The user interface for the control panel for Ubuntu One."""
23
from ubuntuone.logger import logging
24
from ubuntuone.control_panel import utils
26
logger = logging.getLogger('ubuntuone.control_panel')
29
class ControlPanelUI(object):
30
"""The main interface for the Ubuntu One control panel."""
33
self.builder = gtk.Builder()
34
self.builder.add_from_file(utils.get_data_file('main.ui'))
35
self.builder.connect_signals(self.builder)
38
for obj in self.builder.get_objects():
39
name = getattr(obj, 'name', None)
40
if name is None and isinstance(obj, gtk.Buildable):
41
# work around bug lp:507739
42
name = gtk.Buildable.get_name(obj)
44
logging.warn("%s has no name (??)", obj)
46
setattr(self, name, obj)
49
"""Run the main loop of the widget toolkit."""
50
logger.debug('Starting GTK main loop.')