             q.promise
 
 
+        # Listen for movies changes
+        $rootScope.$on "refresh.movies", () ->
+            $scope.init()
+
+        # Add drop event to document
+        document.addEventListener "dragover", (e) -> e.preventDefault() and e.stopPropagation()
+        document.addEventListener "dragleave", (e) -> e.preventDefault() and e.stopPropagation()
+        document.addEventListener "drop", (e) ->
+            e.preventDefault()
+            e.stopPropagation()
+            $scope.drop e.dataTransfer.files
+
         # Init app
         $scope.init()

        $scope.add_movie = (movie) ->
            $timeout () ->
                $scope.grid.push movie


        ###*

                        if $scope.allowed.indexOf(ext) is -1
                            return

                        # Rejoin filename parts with a space (previously
                        # replaced all dots in name)
                        filename = filename.join " "

                        # Find movie infos
                        $trakt
