| 272 | |
| 273 | |
| 274 | def bind_events(self): |
| 275 | #Bind keyboard shortcuts |
| 276 | self.master.bind('<Control-h>', self.toggle_hidden_files) |
| 277 | self.master.bind('<Control-H>', self.toggle_hidden_files) |
| 278 | self.master.bind('<Control-c>', self.clipboard_copy) |
| 279 | self.master.bind('<Control-C>', self.clipboard_copy) |
| 280 | self.master.bind('<Control-x>', self.clipboard_cut) |
| 281 | self.master.bind('<Control-X>', self.clipboard_cut) |
| 282 | self.master.bind('<Control-v>', self.clipboard_paste_thread_create) |
| 283 | self.master.bind('<Control-V>', self.clipboard_paste_thread_create) |
| 284 | self.master.bind('<Delete>', self.delete_window) |
| 285 | |
| 286 | #Bind events for canvas, this part of code tells what some of the functions do |
| 287 | self.canvas.bind('<Button-4>', self.on_mouse_wheel) |
| 288 | self.canvas.bind('<Button-5>', self.on_mouse_wheel) |
| 289 | self.canvas.bind('<MouseWheel>', self.on_mouse_wheel) |
| 290 | self.canvas.bind('<Configure>', self.draw_icons) |
| 291 | self.canvas.bind('<Motion>', self.update_status_and_mouse) |
| 292 | self.canvas.bind('<Button-1>', self.mouse_select) |
| 293 | self.canvas.bind('<Double-Button-1>' , self.change_dir) |
| 294 | self.canvas.bind('<Control-Button-1>', self.ctrl_select) |
| 295 | self.canvas.bind('<B1-Motion>', self.drag_select) |
| 296 | |
| 297 | #Bind events for statusbar and scroll bar |
| 298 | self.vbar.bind('<Motion>', lambda event, arg = 'Scrollbar.': self.update_status(event, arg)) |
| 299 | self.status_label.bind('<Motion>', lambda event, arg = 'Statusbar.': self.update_status(event, arg)) |
| 300 | |
| 301 | #Bind events for all buttons |
| 302 | self.connect_button.bind('<Motion>', lambda event, arg = 'Start connection.': self.update_status(event, arg)) |
| 303 | self.upload_button.bind('<Motion>', lambda event, arg = 'Upload file(s) or folder(s).': self.update_status(event, arg)) |
| 304 | self.download_button.bind('<Motion>', lambda event, arg = 'Save/Download file(s) or folder(s).': self.update_status(event, arg)) |
| 305 | self.newfolder_button.bind('<Motion>', lambda event, arg = 'Create a new directory.': self.update_status(event, arg)) |
| 306 | self.delete_button.bind('<Motion>', lambda event, arg = 'Delete.': self.update_status(event, arg)) |
| 307 | self.properties_button.bind('<Motion>', lambda event, arg = 'Edit/View properties.': self.update_status(event, arg)) |
| 308 | self.cut_button.bind('<Motion>', lambda event, arg = 'Cut.': self.update_status(event, arg)) |
| 309 | self.copy_button.bind('<Motion>', lambda event, arg = 'Copy.': self.update_status(event, arg)) |
| 310 | self.paste_button.bind('<Motion>', lambda event, arg = 'Paste.': self.update_status(event, arg)) |
| 311 | self.search_button.bind('<Motion>', lambda event, arg = 'Find.': self.update_status(event, arg)) |
| 312 | self.goto_button.bind('<Motion>', lambda event, arg = 'Goto.': self.update_status(event, arg)) |
| 313 | self.up_button.bind('<Motion>', lambda event, arg = 'Go to parent directory.': self.update_status(event, arg)) |
| 314 | self.info_button.bind('<Motion>', lambda event, arg = 'About/Info.': self.update_status(event, arg)) |
| 315 | |
| 316 | #Bind events for all labels |
| 317 | self.toolbar.bind('<Motion>', lambda event, arg = ' ': self.update_status(event, arg)) |
| 318 | self.label_usrname.bind('<Motion>', lambda event, arg = ' ': self.update_status(event, arg)) |
| 319 | self.label_hostname.bind('<Motion>', lambda event, arg = ' ': self.update_status(event, arg)) |
| 320 | self.label_port.bind('<Motion>', lambda event, arg = ' ': self.update_status(event, arg)) |
| 321 | |
| 322 | #Bind events for all entries/text fields |
| 323 | self.hostname_entry.bind('<Motion>', lambda event, arg = 'Enter host address.': self.update_status(event, arg)) |
| 324 | self.type_combobox.bind('<Motion>', lambda event, arg = 'Select connection type': self.update_status(event, arg)) |
| 325 | self.type_combobox.bind('<Motion>', lambda event, arg = 'Select connection type': self.update_status(event, arg)) |
| 326 | self.type_combobox.bind('<<ComboboxSelected>>', self.handle_combobox) |
| 327 | self.usrname_entry.bind('<Motion>', lambda event, arg = 'Enter your username.': self.update_status(event, arg)) |
| 328 | self.pass_entry.bind('<Motion>', lambda event, arg = 'Enter your password.': self.update_status(event, arg)) |
| 329 | self.port_entry.bind('<Motion>', lambda event, arg = 'Enter port.': self.update_status(event, arg)) |
| 330 | |
| 331 | #Press enter key to connect |