1
# Copyright (C) 2007 Jelmer Vernooij <jelmer@samba.org>
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; either version 2 of the License, or
6
# (at your option) any later version.
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
# GNU General Public License for more details.
13
# You should have received a copy of the GNU General Public License
14
# along with this program; if not, write to the Free Software
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
from gi.repository import Gtk
19
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
24
class PreferencesWindow(Gtk.Dialog):
25
"""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
29
# will already be familiar with the configuration file.
31
def __init__(self, config=None):
32
""" Initialize the Status window. """
33
super(PreferencesWindow, self).__init__(flags=Gtk.DialogFlags.MODAL)
34
self.set_title("Bazaar Preferences")
36
if self.config is None:
37
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)
46
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)
56
def _create_pages(self):
57
return [("Identity", IdentityPage(self.config)),
58
("Plugins", PluginsPage()),
59
("Notifications", NotificationsPage(self.config))]
62
self.window.show_all()
64
def close(self, widget=None):
68
class BranchPreferencesWindow(Gtk.Dialog):
69
"""Displays global preferences windows."""
70
def __init__(self, config=None):
71
super(BranchPreferencesWindow, self).__init__(config)