~ubuntu-branches/ubuntu/wily/hamster-applet/wily

« back to all changes in this revision

Viewing changes to hamster/preferences.py

  • Committer: Bazaar Package Importer
  • Author(s): Pedro Fragoso
  • Date: 2008-12-15 17:42:14 UTC
  • mto: (1.1.16 upstream) (20.1.1 lucid-proposed)
  • mto: This revision was merged to the branch mainline in revision 6.
  • Revision ID: james.westby@ubuntu.com-20081215174214-ri1ezw1c2pdnl3i6
Tags: upstream-2.25.3
ImportĀ upstreamĀ versionĀ 2.25.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
166
166
        self.prev_selected_activity = None
167
167
        self.prev_selected_category = None
168
168
        
 
169
        # disable notification thing if pynotify is not available
 
170
        try:
 
171
            import pynotify
 
172
        except:
 
173
            self.get_widget("notification_preference_frame").hide()
 
174
 
169
175
 
170
176
    def load_config(self):
171
177
        self.get_widget("shutdown_track").set_active(self.config.get_stop_on_shutdown())
172
178
        self.get_widget("idle_track").set_active(self.config.get_timeout_enabled())
 
179
        self.get_widget("notify_interval").set_value(self.config.get_notify_interval())
173
180
        self.get_widget("keybinding").set_text(self.config.get_keybinding())
174
181
 
175
182
 
296
303
        id = tree_row[0]
297
304
        
298
305
        if id == -1:
299
 
            tree_row[0] = storage.insert_activity(name, category_id)
 
306
            #search for activities with same name
 
307
            activities = storage.get_activities(category_id)
 
308
            for activity in activities:
 
309
                if activity['name'].lower() == name:
 
310
                    self.select_activity(activity['id'])
 
311
                    return False
 
312
            
 
313
            tree_row[0] = storage.add_activity(name, category_id)
300
314
        else:
301
315
            storage.update_activity(id, name, category_id)
 
316
            
 
317
        return True
302
318
 
303
319
    # callbacks
304
320
    def category_edited_cb(self, cell, path, new_text, model):
307
323
        name = model[path][1]
308
324
        
309
325
        if id == -2:
310
 
            id = storage.insert_category(name)
 
326
            id = storage.add_category(name)
311
327
            model[path][0] = id
312
328
        elif id > -1:  #ignore unsorted category (id = -1)
313
329
            storage.update_category(id, name)
315
331
 
316
332
    def activity_name_edited_cb(self, cell, path, new_text, model):
317
333
        model[path][1] = new_text
318
 
        self.update_activity(model[path])
319
 
        return True
 
334
        res = self.update_activity(model[path])
 
335
        
 
336
        # if update fails on new activity - it's because it is a dupe
 
337
        # so we remove it
 
338
        if not res and model[path][0] == -1: 
 
339
           self.activity_store.remove(model.get_iter(path))
 
340
        
 
341
        return res
 
342
        
320
343
 
321
344
    def category_changed_cb(self, selection, model):
322
345
        """ enables and disables action buttons depending on selected item """
458
481
            tree.set_cursor(path, focus_column = self.categoryColumn, start_editing = True)
459
482
            #tree.grab_focus()
460
483
            #tree.set_cursor(path, start_editing = True)
461
 
                
 
484
 
 
485
    def on_preferences_window_key_press(self, widget, event):
 
486
        if event.keyval == gtk.keysyms.Escape:
 
487
            self.window.destroy()     
462
488
 
463
489
    """button events"""
464
490
    def on_add_category_clicked(self, button):
519
545
 
520
546
    def on_idle_track_toggled(self, checkbox):
521
547
        self.config.set_timeout_enabled(checkbox.get_active())
 
548
 
 
549
    def on_notify_interval_format_value(self, slider, value):
 
550
        if value <=120:
 
551
            # notify interval slider value label
 
552
            label = _("%(interval_minutes)d minutes" % {'interval_minutes': value})
 
553
        else:
 
554
            # notify interval slider value label
 
555
            label = _("Never")
 
556
        
 
557
        return label
 
558
    
 
559
    def on_notify_interval_value_changed(self, scale):
 
560
        self.config.set_notify_interval(int(scale.get_value()))
522
561
    
523
562
    def on_keybinding_changed(self, textbox):
524
563
        self.config.set_keybinding(textbox.get_text())
 
564
 
 
565
    def on_preferences_window_destroy(self, window):
 
566
        self.window = None
 
567