~davidc3/onehundredscopes/onehundredscopes

« back to all changes in this revision

Viewing changes to ohscopes-lens

  • Committer: David Callé
  • Date: 2012-01-29 20:38:54 UTC
  • Revision ID: davidc@framli.eu-20120129203854-ey2k6bxkz3demazo
Add every possible filter, add comments

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
#    You should have received a copy of the GNU General Public License
16
16
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
17
 
18
 
import sys
19
 
import os
20
18
from gi.repository import GLib, GObject, Gio
21
19
from gi.repository import Dee
22
20
# FIXME: Some weird bug in Dee or PyGI makes Dee fail unless we probe
24
22
_m = dir(Dee.SequenceModel)
25
23
from gi.repository import Unity
26
24
 
 
25
# The Bus name of the lens, its id on dbus.
27
26
BUS_NAME = "net.launchpad.lens.ohscopes"
28
27
 
29
28
class Daemon:
30
29
 
31
30
        def __init__ (self):
32
 
                # The path for the Lens *must* also match the one in our .lens file
 
31
                ### First, we need to define some constants
 
32
                # The dbus path for the Lens (it *must* match the one in our .lens file)
33
33
                self._lens = Unity.Lens.new ("/net/launchpad/lens/ohscopes", "ohscopes")
34
 
                self._scope = Unity.Scope.new ("/net/launchpad/lens/ohscopes/main")
35
 
                
36
 
                self._lens.props.search_hint = "Test Scopes"
 
34
                # The search hint in the search bar
 
35
                self._lens.props.search_hint = "Search"
 
36
                # Is the lens visible in the lens bar?
37
37
                self._lens.props.visible = True;
38
 
                self._lens.props.search_in_global = False;
 
38
                # Is the lens visible in the Home Dash?
 
39
                self._lens.props.search_in_global = True;
39
40
                
40
 
                # Populate categories
 
41
                ### Then, we populate the categories
41
42
                cats = []
42
 
                cats.append (Unity.Category.new ("Unity.CategoryRenderer.VERTICAL_TILE",
43
 
                                                 Gio.ThemedIcon.new("None"),
44
 
                                                 Unity.CategoryRenderer.VERTICAL_TILE))
45
 
                cats.append (Unity.Category.new ("Unity.CategoryRenderer.HORIZONTAL_TILE",
46
 
                                                 Gio.ThemedIcon.new("None"),
47
 
                                                 Unity.CategoryRenderer.HORIZONTAL_TILE))
48
 
 
 
43
                # A category is a display name, an icon and a renderer
 
44
                cats.append (Unity.Category.new ("VERTICAL_TILE",Gio.ThemedIcon.new("/home/david/Projets/Scopes/ohscopes/ohscopes-cat.svg"),Unity.CategoryRenderer.VERTICAL_TILE))
 
45
                cats.append (Unity.Category.new ("HORIZONTAL_TILE",Gio.ThemedIcon.new("/home/david/Projets/Scopes/ohscopes/ohscopes-cat.svg"),Unity.CategoryRenderer.HORIZONTAL_TILE))
49
46
                self._lens.props.categories = cats
50
47
                
51
 
                # Populate filters
 
48
                ### Populate filters
52
49
                filters = []
 
50
                # A filter is an id, a display name, an icon (not displayed, so it's usually "None"), and a contracted state
 
51
                f = Unity.RadioOptionFilter.new ("filter1", "RadioOption", None, False)
 
52
                # Then we add options to the filter : an id, a display name and an icon.
 
53
                f.add_option ("option 1", "Option 1", None)
 
54
                f.add_option ("option 2", "Option 2", None)
 
55
                f.add_option ("option 3", "option 3", None)
 
56
                filters.append (f)
 
57
                f2 = Unity.CheckOptionFilter.new ("filter2", "CheckOption", None, False)
 
58
                f2.add_option ("option 1", "option 1", None)
 
59
                f2.add_option ("option 2", "option 2", None)
 
60
                f2.add_option ("option 3", "option 3", None)
 
61
                filters.append (f2)
 
62
                f3 = Unity.CheckOptionFilterCompact.new ("filter3", "CheckOptionCompact", None, False)
 
63
                f3.add_option ("option 1", "option 1", None)
 
64
                f3.add_option ("option 2", "option 2", None)
 
65
                f3.add_option ("option 3", "option 3", None)
 
66
                filters.append (f3)
 
67
                f4 = Unity.MultiRangeFilter.new ("filter4", "MultiRange", None, False)
 
68
                f4.add_option ("option 1", "option 1", None)
 
69
                f4.add_option ("option 2", "option 2", None)
 
70
                f4.add_option ("option 3", "option 3", None)
 
71
                filters.append (f4)
 
72
                f5 = Unity.RatingsFilter.new ("filter5", "Ratings", None, False)
 
73
                filters.append (f5)
53
74
                self._lens.props.filters = filters
54
 
 
 
75
                
 
76
                # The lens in now ready
55
77
                self._lens.export ();
56
78
 
57
79
if __name__ == "__main__":