 
         @reloadInfo()
 
-      setValue: (value) ->
+      setValue: (value, changed = true) ->
         @element.val(value)
-
-        @reloadInfo()
+        @element.trigger('change') if changed
 
       reloadInfo: ->
         id = utils.uuidRegex.exec @element.val()


          if id
            info = uploads.fileInfo(id, @settings)
            @__setLoaded(info)
          else
            @__reset()

      __changed: (e) =>
        @reloadInfo()

      __setLoaded: (infoPr) ->
        $.when(infoPr)
          .fail(@__fail)
          .done (info) =>
            if @settings.imagesOnly && !uploads.isImage(info)
              return @__fail('image')
            @template.setFileInfo(info)
            @setValue info.fileId
            @template.loaded()

      __fail: (type) =>
        @__cancel()


      __cancel: =>
        @__reset()
        @setValue('')

      __setupWidget: ->
        # Initialize the file browse button
