The present invention relates in general to the field of computers and other data processing systems, including hardware, software and processes. More particularly, the present invention pertains to drag-and-drop operations.
Drag-and-drop (DnD) is a powerful tool in many Graphical User Interface (GUI) based applications. As the name implies, DnD allows a user to use a mouse to place a cursor over a file icon on the GUI, click the mouse to capture the file icon, and, while holding down the mouse click, “drag” the file icon (or a copy of the file icon) to a new location, where it is “dropped.” Two of the most common DnD operations are copying files and moving files between directories.
Referring now to
A main drawback to the “move” operation shown in
To address the problem described above, presently disclosed are a computer-implementable method, system and computer media for allowing a user to change a first type of Drag-and-Drop (DnD) operation (e.g., “Copy”) operation into a second type of DnD operation (e.g., “Move”). In a preferred embodiment for converting a first type of Drag-and-Drop (DnD) operation (e.g., a “copy” DnD operation) into a second type of DnD operation (e.g., a “move” DnD operation), the computer-implementable method includes the steps of: detecting a first type of Drag-and-Drop (DnD) operation in which a cursor is dragging a copy of an original file icon across a Graphical User Interface (GUI); detecting the cursor dragging the copy of the original file icon across a location, on the GUI, at which the original file icon was positioned when the first type of DnD operation was initiated; and in response to detecting the cursor dragging the copy of the original file icon across the location at which the original file icon was initially positioned, converting the first type of DnD operation into a second type of DnD operation.
The above, as well as additional purposes, features, and advantages of the present invention will become apparent in the following detailed written description.
The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further purposes and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, where:
With reference now to
With reference to
With reference now to
Returning now to query block 806, if the mouse button is released (query block 816) before the mouse scoops the original file icon (query block 806), then a copy of the file icon (generated by the DnD “copy” operation detected in query block 804) is dropped on the GUI wherever the cursor is located at the time the mouse button is released. The process thus ends at terminator block 814.
While the process described in the previous figures has been directed to a source file icon being an initiator of a change in a DnD operation, alternatively a target file icon, and in particular a direction from which the target file icon is approached, may alter a DnD operation. For example, consider the GUI 900 shown in
As shown in
With reference now to
Client computer 1102 is able to communicate with a service provider server 1150 via a network 1128 using a network interface 1130, which is coupled to system bus 1106. Network 1128 may be an external network such as the Internet, or an internal network such as an Ethernet or a Virtual Private Network (VPN).
A hard drive interface 1132 is also coupled to system bus 1106. Hard drive interface 1132 interfaces with a hard drive 1134. In a preferred embodiment, hard drive 1134 populates a system memory 1136, which is also coupled to system bus 1106. System memory is defined as a lowest level of volatile memory in client computer 1102. This volatile memory may include additional higher levels of volatile memory (not shown), including but not limited to cache memory, registers, and buffers. Data that populates system memory 1136 includes client computer 1102's operating system (OS) 1138 and application programs 1144.
OS 1138 includes a shell 1140, for providing transparent user access to resources such as application programs 1144. Generally, shell 1140 is a program that provides an interpreter and an interface between the user and the operating system. More specifically, shell 1140 executes commands that are entered into a command line user interface or from a file. Thus, shell 1140 (as it is called in UNIX®), also called a command processor in Windows®, is generally the highest level of the operating system software hierarchy and serves as a command interpreter. The shell provides a system prompt, interprets commands entered by keyboard, mouse, or other user input media, and sends the interpreted command(s) to the appropriate lower levels of the operating system (e.g., a kernel 1142) for processing. Note that while shell 1140 is a text-based, line-oriented user interface, the present invention will equally well support other user interface modes, such as graphical, voice, gestural, etc.
As depicted, OS 1138 also includes kernel 1142, which includes lower levels of functionality for OS 1138, including providing essential services required by other parts of OS 1138 and application programs 1144, including memory management, process and task management, disk management, and mouse and keyboard management.
Application programs 1144 include a browser 1146. Browser 1146 includes program modules and instructions enabling a World Wide Web (WWW) client (i.e., client computer 1102) to send and receive network messages to the Internet using HyperText Transfer Protocol (HTTP) messaging, thus enabling communication with service provider server 1150.
Application programs 1144 in client computer 1102's system memory also include a Drag-and-Drop Function Switching Program (DnDFSP) 1148, which includes code for implementing the processes and Graphical User Interfaces (GUIs) described in
In one embodiment, client computer 1102 is able to download DnDFSP 1148 from service provider server 1150, preferably in an “on demand” basis.
Note that the hardware architecture for service provider server 1150 may be substantially similar to that shown for client computer 1102.
The hardware elements depicted in client computer 1102 are not intended to be exhaustive, but rather are representative to highlight essential components required by the present invention. For instance, client computer 1102 may include alternate memory storage devices such as magnetic cassettes, Digital Versatile Disks (DVDs), Bernoulli cartridges, and the like. These and other variations are intended to be within the spirit and scope of the present invention.
Note further that, in a preferred embodiment of the present invention, service provider server 1150 performs all of the functions associated with the present invention (including execution of DnDFSP 1148), thus freeing client computer 1102 from using its own resources.
It should be understood that at least some aspects of the present invention may alternatively be implemented in a computer-useable medium that contains a program product. Programs defining functions of the present invention can be delivered to a data storage system or a computer system via a variety of signal-bearing media, which include, without limitation, non-writable storage media (e.g., CD-ROM), writable storage media (e.g., hard disk drive, read/write CD ROM, optical media), and communication media, such as computer and telephone networks including Ethernet, the Internet, wireless networks, and like network systems. It should be understood, therefore, that such signal-bearing media when carrying or encoding computer readable instructions that direct method functions in the present invention, represent alternative embodiments of the present invention. Further, it is understood that the present invention may be implemented by a system having means in the form of hardware, software, or a combination of software and hardware as described herein or their equivalent.
As described above, in one embodiment, the processes described by the present invention, including the functions of DnDFSP 1148, are performed by service provider server 1150. Alternatively, DnDFSP 1148 can be deployed as software from service provider server 1150 to client computer 1102. This deployment may be performed in an “on demand” basis manner, in which DnDFSP 1148 is only deployed when needed by client computer 1102. In another embodiment, process software for the method so described may be deployed to service provider server 1150 by another service provider server (not shown).
The present disclosure thus presents a method, system, and computer-readable medium for allowing a user to change a “copy” Drag-and-Drop (DnD) operation into a “move” DnD operation. In a preferred embodiment for converting a first type of Drag-and-Drop (DnD) operation into a second type of DnD operation, the computer-implementable method includes the steps of: detecting a first type of Drag-and-Drop (DnD) operation in which a cursor is dragging a copy of an original file icon across a Graphical User Interface (GUI); detecting the cursor dragging the copy of the original file icon across a location, on the GUI, at which the original file icon was positioned when the first type of DnD operation was initiated; and in response to detecting the cursor dragging the copy of the original file icon across the location at which the original file icon was initially positioned, converting the first type of DnD operation into a second type of DnD operation.
In another embodiment, an exemplary computer-implementable method for converting a first type of Drag-and-Drop (DnD) operation into a second type of DnD operation includes the steps of: detecting a first type of Drag-and-Drop (DnD) operation in which a cursor is dragging a copy of an original file icon across a Graphical User Interface (GUI); detecting the cursor and copy of the original file icon approaching a target file icon; and converting the first type of DnD operation into a second type of DnD operation according to a direction from which the cursor and copy of the original file icon approach the target file icon. If the first type of DnD operation is a copy DnD operation, the second type of DnD operation may also be a copy DnD operation that is implemented according to the cursor and copy of the original file icon approaching the target file icon from a first direction; or alternatively the second type of DnD operation may be a move DnD operation that is implemented according to the cursor and copy of the original file icon approaching the target file icon from a second direction; or alternatively the second type of DnD operation may be a replace DnD operation that is implemented according to the cursor and copy of the original file icon approaching the target file icon from a third direction; or alternatively the second DnD operation may be a DnD operation that is selected from an on-screen menu that is generated when the cursor and copy of the original file icon approach the target file icon from a fourth direction.
The method steps described above may be implemented in a computer system, and may further be executed by instructions that are stored in a computer readable medium.
In another embodiment, in which the method described herein is performed by software that is stored on a computer-readable medium, the computer-usable medium is a component of a remote server, and the computer executable instructions are deployable to a supervisory computer from the remote server. This deployment may be provided by a service provider to a customer on an on-demand basis.
While the present invention has been particularly shown and described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention. Note that while “Copy” and “Move” are used to illustrate a preferred embodiment for dynamically converting a first type of DnD operation into a second type of DnD operation, any two types of DnD operations (e.g., scooping a widget or icon, deleting, etc.) may be converted using any method described herein. Furthermore, as used in the specification and the appended claims, the term “computer” or “system” or “computer system” or “computing device” includes any data processing system including, but not limited to, personal computers, servers, workstations, network computers, main frame computers, routers, switches, Personal Digital Assistants (PDA's), telephones, and any other system capable of processing, transmitting, receiving, capturing and/or storing data.