14
14
# along with this program; if not, write to the Free Software
15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
from gi.repository import Gtk
19
25
from bzrlib.config import GlobalConfig
20
from bzrlib.plugins.gtk.preferences.identity import IdentityPage
21
from bzrlib.plugins.gtk.preferences.plugins import PluginsPage
22
from bzrlib.plugins.gtk.preferences.notifications import NotificationsPage
26
from identity import IdentityPage
27
from plugins import PluginsPage
24
class PreferencesWindow(Gtk.Dialog):
29
class PreferencesWindow(gtk.Dialog):
25
30
"""Displays global preferences windows."""
26
# Note that we don't allow configuration of aliases or
27
# default log formats. This is because doing so wouldn't make
28
# a lot of sense to pure GUI users. Users that need these settings
31
# Note that we don't allow configuration of aliases or
32
# default log formats. This is because doing so wouldn't make
33
# a lot of sense to pure GUI users. Users that need these settings
29
34
# will already be familiar with the configuration file.
31
36
def __init__(self, config=None):
32
37
""" Initialize the Status window. """
33
super(PreferencesWindow, self).__init__(flags=Gtk.DialogFlags.MODAL)
38
super(PreferencesWindow, self).__init__(flags=gtk.DIALOG_MODAL)
34
39
self.set_title("Bazaar Preferences")
35
40
self.config = config
36
41
if self.config is None:
37
42
self.config = GlobalConfig()
41
self.set_default_size(320, 480)
42
self.set_border_width(0)
44
notebook = Gtk.Notebook()
45
notebook.set_border_width(12)
48
self.set_default_size(600, 600)
49
notebook = gtk.Notebook()
46
50
for (label, page) in self._create_pages():
47
notebook.append_page(page, Gtk.Label(label=label))
49
notebook.set_current_page(0)
50
content_area = self.get_content_area()
51
content_area.set_border_width(0)
52
content_area.pack_start(notebook, True, True, 0)
53
content_area.show_all()
54
self.get_action_area().set_border_width(12)
51
notebook.insert_page(page, gtk.Label(label))
52
self.vbox.pack_start(notebook, True, True)
56
55
def _create_pages(self):
57
return [("Identity", IdentityPage(self.config)),
58
("Plugins", PluginsPage()),
59
("Notifications", NotificationsPage(self.config))]
56
return [("Identity", IdentityPage(self.config)),
57
("Plugins", PluginsPage())]
62
60
self.window.show_all()