~ricotz/plank/dbus

« back to all changes in this revision

Viewing changes to lib/DockController.vala

  • Committer: Rico Tzschichholz
  • Date: 2015-03-16 17:58:18 UTC
  • Revision ID: ricotz@ubuntu.com-20150316175818-cru9mzuw3jkdncjl
Add DBusManager to provide some useful remotely accessible actions

Provide "net.launchpad.plank.Items" interface with "Add", "Remove",
"GetCount", "GetPersistentApplications" and "GetTransientApplications"
methods.

Show diffs side-by-side

added added

removed removed

Lines of Context:
42
42
                public DockRenderer renderer { get; protected set; }
43
43
                public DockWindow window { get; protected set; }
44
44
                
45
 
                ApplicationDockItemProvider? default_provider;
 
45
                public ApplicationDockItemProvider? default_provider { get; private set; }
 
46
                
 
47
                DBusManager dbus_manager;
46
48
                Gee.ArrayList<unowned DockItem> visible_items;
47
49
                Gee.ArrayList<unowned DockItem> items;
48
50
                
90
92
                        
91
93
                        prefs.notify["PinnedOnly"].connect (update_default_provider);
92
94
                        
 
95
                        dbus_manager = new DBusManager (this);
 
96
                        
93
97
                        position_manager = new PositionManager (this);
94
98
                        drag_manager = new DragManager (this);
95
99
                        hide_manager = new HideManager (this);
135
139
                                return;
136
140
                        
137
141
                        Logger.verbose ("DockController.add_default_provider ()");
138
 
                        default_provider = get_default_provider ();
 
142
                        default_provider = create_default_provider ();
139
143
                        
140
144
                        add_item (default_provider);
141
145
                }
142
146
                
143
 
                ApplicationDockItemProvider get_default_provider ()
 
147
                ApplicationDockItemProvider create_default_provider ()
144
148
                {
145
149
                        ApplicationDockItemProvider provider;
146
150
                        
169
173
                                return;
170
174
                        
171
175
                        var old_default_provider = default_provider;
172
 
                        default_provider = get_default_provider ();
 
176
                        default_provider = create_default_provider ();
173
177
                        default_provider.prepare ();
174
178
                        replace_item (default_provider, old_default_provider);
175
179
                        
275
279
                                position_manager.update_regions ();
276
280
                        }
277
281
                        window.update_icon_regions ();
 
282
                        
 
283
                        items_changed (added, removed);
278
284
                }
279
285
                
280
286
                void handle_item_positions_changed (DockContainer provider, Gee.List<unowned DockElement> moved_items)