def on_start_at_login_clicked(self, widget, data=None):
     """
     Fired method when user click on gtk.CheckMenuItem 'Start at login'
     """
     if not os.path.exists(naturalscrollingconfig.get_auto_start_path()):
         os.makedirs(naturalscrollingconfig.get_auto_start_path())
     
     auto_start_file_exists = os.path.isfile(naturalscrollingconfig.get_auto_start_file_path())
     if widget.get_active():
         if not auto_start_file_exists:
             source = open(naturalscrollingconfig.get_data_path() + "/" + naturalscrollingconfig.get_auto_start_file_name(), "r")
             destination = open(naturalscrollingconfig.get_auto_start_file_path(), "w")
             destination.write(source.read())
             destination.close() and source.close()
     else:
         if auto_start_file_exists:
             os.remove(naturalscrollingconfig.get_auto_start_file_path())
    def menu_setup(self):
        self.menu = gtk.Menu()
        
        #natural scrolling
        self.menu_item_natural_scrolling = gtk.CheckMenuItem(_('Natural Scrolling'))
        self.enable_natural_scrolling(
            self.settings.key(GCONF_NATURAL_SCROLLING_KEY).is_enable()
        )
        self.menu_item_natural_scrolling.connect('activate', self.on_natural_scrolling_toggled)
        self.settings.server().fire_me_when_update_on_key(GCONF_NATURAL_SCROLLING_KEY, self.enable_natural_scrolling)
        self.menu_item_natural_scrolling.show()

        #seperator 1
        self.menu_item_seperator1 = gtk.SeparatorMenuItem()
        self.menu_item_seperator1.show()

        #preferences
        self.menu_sub = gtk.Menu()

        self.menu_item_preferences = gtk.MenuItem(_('Preferences'))
        self.menu_item_start_at_login = gtk.CheckMenuItem(_('Start at login'))
        if os.path.isfile(naturalscrollingconfig.get_auto_start_file_path()):
            self.menu_item_start_at_login.set_active(True)
        self.menu_item_start_at_login.connect("activate", self.on_start_at_login_clicked)
        self.menu_sub.append(self.menu_item_start_at_login)
        self.menu_item_preferences.set_submenu(self.menu_sub)

        self.menu_item_start_at_login.show()
        self.menu_item_preferences.show()

        #about
        self.menu_item_about = gtk.MenuItem(_('About...'))
        self.menu_item_about.connect('activate', self.on_about_clicked)
        self.menu_item_about.show()

        #seperator 2
        self.menu_item_seperator2 = gtk.SeparatorMenuItem()
        self.menu_item_seperator2.show()

        #quit
        self.menu_item_quit = gtk.MenuItem(_('Quit Natural Scrolling'))
        self.menu_item_quit.connect("activate", self.quit)
        self.menu_item_quit.show()

        #add items to menu
        self.menu.append(self.menu_item_natural_scrolling)
        self.menu.append(self.menu_item_seperator1)
        self.menu.append(self.menu_item_preferences)
        self.menu.append(self.menu_item_about)
        self.menu.append(self.menu_item_seperator2)
        self.menu.append(self.menu_item_quit)