~evfool/software-center/lp1034894

« back to all changes in this revision

Viewing changes to softwarecenter/ui/gtk3/widgets/spinner.py

  • Committer: Michael Vogt
  • Date: 2012-08-29 07:17:51 UTC
  • mfrom: (3126.1.3 software-center)
  • Revision ID: michael.vogt@ubuntu.com-20120829071751-ruxkjtcw24a1ndfo
merged p:~gary-lasker/software-center/recommender-panel-visual-tweaks

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
class SpinnerView(Gtk.Viewport):
28
28
    """A panel that contains a spinner with an optional legend.
29
29
 
30
 
    The spinner is preset to a standard size and centered. An optional
31
 
    label_text value can be specified for display with the spinner.
 
30
    The spinner can be specified in one of two sizes, and defaults to
 
31
    the larger size. An optional label_text value can be specified for
 
32
    display with the spinner.
32
33
 
33
34
    """
 
35
    # define spinner size options
 
36
    (LARGE,
 
37
     SMALL) = range(2)
34
38
 
35
 
    def __init__(self, label_text=""):
 
39
    def __init__(self, label_text="", spinner_size=LARGE):
36
40
        Gtk.Viewport.__init__(self)
37
41
        self.spinner = Gtk.Spinner()
38
 
        self.spinner.set_size_request(48, 48)
 
42
        if spinner_size not in (self.SMALL, self.LARGE):
 
43
            raise ValueError('The value of spinner_size must be '
 
44
                             'one of SpinnerView.SMALL or SpinnerView.LARGE')
 
45
        if spinner_size == self.LARGE:
 
46
            self.spinner.set_size_request(48, 48)
 
47
        else:
 
48
            self.spinner.set_size_request(24, 24)
39
49
 
40
50
        # use a table for the spinner (otherwise the spinner is massive!)
41
51
        spinner_table = Gtk.Table(3, 3, False)
77
87
    (CONTENT_PAGE,
78
88
     SPINNER_PAGE) = range(2)
79
89
 
80
 
    def __init__(self, content, msg=""):
 
90
    def __init__(self, content, msg="", spinner_size=SpinnerView.LARGE):
81
91
        Gtk.Notebook.__init__(self)
82
92
        self._last_timeout_id = None
83
 
        self.spinner_view = SpinnerView(msg)
 
93
        self.spinner_view = SpinnerView(msg, spinner_size)
84
94
        # its critical to show() the spinner early as otherwise
85
95
        # gtk_notebook_set_active_page() will not switch to it
86
96
        self.spinner_view.show()