/b-gtk/fix-viz

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz

« back to all changes in this revision

Viewing changes to annotate/config.py

  • Committer: Vincent Ladeuil
  • Date: 2008-11-06 15:45:24 UTC
  • mto: This revision was merged to the branch mainline in revision 625.
  • Revision ID: v.ladeuil+lp@free.fr-20081106154524-n9al5n1pome2xo0u
Fix bug #289220 by using the right parameter order.

* status.py:
(StatusWindow.row_diff): One can argue that the parameters are in
the wrong order or just respect their meaning :) Thanks to Anne
Mohsen for noticing and proposing the fix.

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
 
19
19
import gtk.gdk
20
20
 
21
 
from bzrlib import config
 
21
from bzrlib.config import config_dir
22
22
import bzrlib.util.configobj.configobj as configobj
23
23
 
24
24
 
25
 
def gannotate_config_filename():
26
 
    return os.path.join(config.config_dir(), "gannotate.conf")
 
25
gannotate_configspec = (
 
26
    "[window]",
 
27
    "width = integer(default=750)",
 
28
    "height = integer(default=550)",
 
29
    "maximized = boolean(default=False)",
 
30
    "x = integer(default=0)",
 
31
    "y = integer(default=0)",
 
32
    "pane_position = integer(default=325)",
 
33
    "[spans]",
 
34
    "max_custom_spans = integer(default=4)",
 
35
    "custom_spans = float_list()"
 
36
)
 
37
 
 
38
gannotate_config_filename = os.path.join(config_dir(), "gannotate.conf")
27
39
 
28
40
 
29
41
class GAnnotateConfig(configobj.ConfigObj):
35
47
    """
36
48
 
37
49
    def __init__(self, window):
38
 
        configobj.ConfigObj.__init__(self, gannotate_config_filename())
 
50
        configobj.ConfigObj.__init__(self, gannotate_config_filename,
 
51
                                     configspec=gannotate_configspec)
39
52
        self.window = window
40
53
        self.pane = window.pane
41
 
 
42
 
        if 'window' not in self:
43
 
            # Set default values, configobj expects strings here
44
 
            self.initial_comment = ["gannotate plugin configuration"]
45
 
            self['window'] = {}
46
 
            self['window']['width'] = '750'
47
 
            self['window']['height'] = '550'
48
 
            self['window']['maximized'] = 'False'
49
 
            self['window']['x'] = '0'
50
 
            self['window']['y'] = '0'
51
 
            self['window']['pane_position'] = '325'
 
54
        
 
55
        self.initial_comment = ["gannotate plugin configuration"]
 
56
        self['window']['width'] = 750
 
57
        self['window']['height'] = 550
 
58
        self['window']['maximized'] = False
 
59
        self['window']['x'] = 0
 
60
        self['window']['y'] = 0
 
61
        self['window']['pane_position'] = 325
 
62
        self['spans']['max_custom_spans'] = 4
 
63
        self['spans']['custom_spans'] = []
52
64
 
53
65
        self.apply()
54
66
        self._connect_signals()
56
68
    def apply(self):
57
69
        """Apply properties and such from gannotate.conf, or
58
70
        gannotate_configspec defaults."""
59
 
        self.pane.set_position(self['window'].as_int('pane_position'))
60
 
        self.window.set_default_size(self['window'].as_int('width'),
61
 
                                     self['window'].as_int('height'))
62
 
        self.window.move(self['window'].as_int('x'), self['window'].as_int('y'))
 
71
        self.pane.set_position(self["window"]["pane_position"])
 
72
        self.window.set_default_size(self["window"]["width"],
 
73
                                     self["window"]["height"])
 
74
        self.window.move(self["window"]["x"], self["window"]["y"])
63
75
 
64
 
        if self['window'].as_bool('maximized'):
 
76
        if self["window"]["maximized"]:
65
77
            self.window.maximize()
66
78
 
 
79
        # XXX Don't know how to set an empty list as default in
 
80
        # gannotate_configspec.
67
81
    def _connect_signals(self):
68
82
        self.window.connect("destroy", self._write)
69
83
        self.window.connect("configure-event", self._save_window_props)
77
91
            self["window"]["width"], self["window"]["height"] = w.get_size()
78
92
            self["window"]["x"], self["window"]["y"] = w.get_position()
79
93
            maximized = False
 
94
 
80
95
        self["window"]["maximized"] = maximized
 
96
        
81
97
        return False
82
98
 
83
99
    def _save_pane_props(self, w, gparam):
86
102
 
87
103
        return False
88
104
 
 
105
    def _save_custom_spans(self, w, *args):
 
106
        self["spans"]["custom_spans"] = w.custom_spans
 
107
 
 
108
        return False
 
109
 
89
110
    def _write(self, *args):
90
111
        self.write()
91
112