Changeset 340
- Timestamp:
- 06/29/06 21:29:34 (2 years ago)
- Files:
-
- trunk/po/es.po (modified) (6 diffs)
- trunk/po/mesk.pot (modified) (5 diffs)
- trunk/src/main_window.py (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/po/es.po
r335 r340 8 8 "Project-Id-Version: 0.1.1\n" 9 9 "Report-Msgid-Bugs-To: \n" 10 "POT-Creation-Date: 2006-06-27 14:19-0600\n"10 "POT-Creation-Date: 2006-06-27 23:31-0600\n" 11 11 "PO-Revision-Date: 2006-04-15 17:38-0600\n" 12 12 "Last-Translator: Travis Shirk <travis@pobox.com>\n" … … 25 25 26 26 #: ../src/mesk_gui.glade.h:1 27 msgid "+" 28 msgstr "" 29 30 #: ../src/mesk_gui.glade.h:2 31 msgid "-" 32 msgstr "" 33 34 #: ../src/mesk_gui.glade.h:3 27 35 msgid "--:--" 28 36 msgstr "--:--" 29 37 30 #: ../src/mesk_gui.glade.h: 238 #: ../src/mesk_gui.glade.h:4 31 39 msgid "<b>Author:</b>" 32 40 msgstr "<b>Autor:</b>" 33 41 34 #: ../src/mesk_gui.glade.h: 342 #: ../src/mesk_gui.glade.h:5 35 43 msgid "<b>Copyright:</b>" 36 44 msgstr "<b>Copyright:</b>" 37 45 38 #: ../src/mesk_gui.glade.h: 446 #: ../src/mesk_gui.glade.h:6 39 47 msgid "<b>Description:</b>" 40 48 msgstr "<b>Descripción:</b>" 41 49 42 #: ../src/mesk_gui.glade.h: 550 #: ../src/mesk_gui.glade.h:7 43 51 msgid "<b>Plugin Name</b>" 44 52 msgstr "<b>Nombre Plugin</b>" 45 53 46 #: ../src/mesk_gui.glade.h: 654 #: ../src/mesk_gui.glade.h:8 47 55 msgid "<b>URL:</b>" 48 56 msgstr "<b>URL:</b>" 49 57 50 #: ../src/mesk_gui.glade.h: 758 #: ../src/mesk_gui.glade.h:9 51 59 msgid "" 52 60 "<big>Welcome To <b>Mesk</b></big>\n" … … 55 63 msgstr "" 56 64 57 #: ../src/mesk_gui.glade.h:1 065 #: ../src/mesk_gui.glade.h:12 58 66 msgid "Add Music..." 59 67 msgstr "Agregue La Música" 60 68 61 #: ../src/mesk_gui.glade.h:1 169 #: ../src/mesk_gui.glade.h:13 62 70 msgid "Add music..." 63 71 msgstr "Agregue la música" 64 72 65 #: ../src/mesk_gui.glade.h:1 273 #: ../src/mesk_gui.glade.h:14 66 74 msgid "CD Audio" 67 75 msgstr "" 68 76 69 #: ../src/mesk_gui.glade.h:1 377 #: ../src/mesk_gui.glade.h:15 70 78 msgid "Clear Queue" 71 79 msgstr "Coleta Clara" 72 80 73 #: ../src/mesk_gui.glade.h:1 481 #: ../src/mesk_gui.glade.h:16 74 82 msgid "Clear search" 75 83 msgstr "Búsqueda clara" 76 84 77 #: ../src/mesk_gui.glade.h:1 585 #: ../src/mesk_gui.glade.h:17 78 86 msgid "Close search" 79 87 msgstr "Búsqueda cercana" 80 88 81 #: ../src/mesk_gui.glade.h:1 689 #: ../src/mesk_gui.glade.h:18 82 90 msgid "Configure..." 83 91 msgstr "Configure..." 84 92 85 #: ../src/mesk_gui.glade.h:1 793 #: ../src/mesk_gui.glade.h:19 86 94 msgid "Copyright © 2006 Travis Shirk" 87 95 msgstr "Copyright © 2006 Travis Shirk" 88 96 89 #: ../src/mesk_gui.glade.h: 1897 #: ../src/mesk_gui.glade.h:20 90 98 msgid "Find:" 91 99 msgstr "Hallazgo:" 92 100 93 #: ../src/mesk_gui.glade.h: 19101 #: ../src/mesk_gui.glade.h:21 94 102 msgid "First" 95 103 msgstr "" 96 104 97 #: ../src/mesk_gui.glade.h:2 0105 #: ../src/mesk_gui.glade.h:22 98 106 msgid "Mesk" 99 107 msgstr "Mesk" 100 108 101 #: ../src/mesk_gui.glade.h:2 1109 #: ../src/mesk_gui.glade.h:23 102 110 msgid "Next" 103 111 msgstr "Después" 104 112 105 #: ../src/mesk_gui.glade.h:2 2113 #: ../src/mesk_gui.glade.h:24 106 114 msgid "Online Help" 107 115 msgstr "Ayuda En lÃnea" 108 116 109 117 #. Tooltip strings 110 #: ../src/mesk_gui.glade.h:2 3 ../src/audio_control.py:42118 #: ../src/mesk_gui.glade.h:25 ../src/audio_control.py:43 111 119 msgid "Play" 112 120 msgstr "Juego" 113 121 114 #: ../src/mesk_gui.glade.h:2 4../src/mesk/__init__.py:46122 #: ../src/mesk_gui.glade.h:26 ../src/mesk/__init__.py:46 115 123 msgid "Playlist" 116 124 msgstr "Playlist" 117 125 118 #: ../src/mesk_gui.glade.h:25 119 #, fuzzy 120 msgid "Playlist Name" 121 msgstr "Playlist" 122 123 #: ../src/mesk_gui.glade.h:26 126 #: ../src/mesk_gui.glade.h:27 124 127 msgid "Playlist stats" 125 128 msgstr "Playlist stats" 126 129 127 #: ../src/mesk_gui.glade.h:2 7130 #: ../src/mesk_gui.glade.h:28 128 131 msgid "Plugins" 129 132 msgstr "Plugins" 130 133 131 #: ../src/mesk_gui.glade.h:2 8134 #: ../src/mesk_gui.glade.h:29 132 135 msgid "Preferences" 133 136 msgstr "Preferencias" 134 137 135 #: ../src/mesk_gui.glade.h: 29138 #: ../src/mesk_gui.glade.h:30 136 139 msgid "Previous" 137 140 msgstr "Anterior" 138 141 139 #: ../src/mesk_gui.glade.h:3 0142 #: ../src/mesk_gui.glade.h:31 140 143 msgid "Queue" 141 144 msgstr "Coleta" 142 145 143 #: ../src/mesk_gui.glade.h:3 1146 #: ../src/mesk_gui.glade.h:32 144 147 msgid "Queue/Unqueue" 145 148 msgstr "Coleta/Unqueue" 146 149 147 #: ../src/mesk_gui.glade.h:3 2150 #: ../src/mesk_gui.glade.h:33 148 151 msgid "Remove" 149 152 msgstr "Quite" 150 151 #: ../src/mesk_gui.glade.h:33152 msgid "Rename..."153 msgstr ""154 153 155 154 #: ../src/mesk_gui.glade.h:34 … … 265 264 msgstr "Formato audio sin apoyo: %s" 266 265 267 #: ../src/audio_control.py:4 3266 #: ../src/audio_control.py:44 268 267 msgid "Pause" 269 268 msgstr "Pausa" 270 269 271 #: ../src/audio_control.py:1 20270 #: ../src/audio_control.py:133 272 271 #, python-format 273 272 msgid "Gstreamer version %d.%d.%d audio control initialized" 274 273 msgstr "El control audio de la versión %d.%d.%d de Gstreamer se inicializó" 274 275 #: ../src/audio_control.py:309 276 #, python-format 277 msgid "Volume %d%%" 278 msgstr "" 275 279 276 280 #. we talk about file … … 304 308 msgstr "La gerencia de la sesión inhabilitó (ningún módulo de gnome.ui)" 305 309 306 #: ../src/main_window.py:73 ../src/main_window.py:394 307 #, python-format 308 msgid "Volume %d%%" 309 msgstr "" 310 311 #: ../src/main_window.py:110 310 #: ../src/main_window.py:105 312 311 #, python-format 313 312 msgid "Error loading playlist '%s'" … … 711 710 712 711 #, fuzzy 712 #~ msgid "Playlist Name" 713 #~ msgstr "Playlist" 714 715 #, fuzzy 713 716 #~ msgid "item2" 714 717 #~ msgstr "TÃtulo" trunk/po/mesk.pot
r335 r340 9 9 "Project-Id-Version: PACKAGE VERSION\n" 10 10 "Report-Msgid-Bugs-To: \n" 11 "POT-Creation-Date: 2006-06-27 14:19-0600\n"11 "POT-Creation-Date: 2006-06-27 23:31-0600\n" 12 12 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 13 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" … … 26 26 27 27 #: ../src/mesk_gui.glade.h:1 28 msgid "+" 29 msgstr "" 30 31 #: ../src/mesk_gui.glade.h:2 32 msgid "-" 33 msgstr "" 34 35 #: ../src/mesk_gui.glade.h:3 28 36 msgid "--:--" 29 37 msgstr "" 30 38 31 #: ../src/mesk_gui.glade.h: 239 #: ../src/mesk_gui.glade.h:4 32 40 msgid "<b>Author:</b>" 33 41 msgstr "" 34 42 35 #: ../src/mesk_gui.glade.h: 343 #: ../src/mesk_gui.glade.h:5 36 44 msgid "<b>Copyright:</b>" 37 45 msgstr "" 38 46 39 #: ../src/mesk_gui.glade.h: 447 #: ../src/mesk_gui.glade.h:6 40 48 msgid "<b>Description:</b>" 41 49 msgstr "" 42 50 43 #: ../src/mesk_gui.glade.h: 551 #: ../src/mesk_gui.glade.h:7 44 52 msgid "<b>Plugin Name</b>" 45 53 msgstr "" 46 54 47 #: ../src/mesk_gui.glade.h: 655 #: ../src/mesk_gui.glade.h:8 48 56 msgid "<b>URL:</b>" 49 57 msgstr "" 50 58 51 #: ../src/mesk_gui.glade.h: 759 #: ../src/mesk_gui.glade.h:9 52 60 msgid "" 53 61 "<big>Welcome To <b>Mesk</b></big>\n" … … 56 64 msgstr "" 57 65 58 #: ../src/mesk_gui.glade.h:1 066 #: ../src/mesk_gui.glade.h:12 59 67 msgid "Add Music..." 60 68 msgstr "" 61 69 62 #: ../src/mesk_gui.glade.h:1 170 #: ../src/mesk_gui.glade.h:13 63 71 msgid "Add music..." 64 72 msgstr "" 65 73 66 #: ../src/mesk_gui.glade.h:1 274 #: ../src/mesk_gui.glade.h:14 67 75 msgid "CD Audio" 68 76 msgstr "" 69 77 70 #: ../src/mesk_gui.glade.h:1 378 #: ../src/mesk_gui.glade.h:15 71 79 msgid "Clear Queue" 72 80 msgstr "" 73 81 74 #: ../src/mesk_gui.glade.h:1 482 #: ../src/mesk_gui.glade.h:16 75 83 msgid "Clear search" 76 84 msgstr "" 77 85 78 #: ../src/mesk_gui.glade.h:1 586 #: ../src/mesk_gui.glade.h:17 79 87 msgid "Close search" 80 88 msgstr "" 81 89 82 #: ../src/mesk_gui.glade.h:1 690 #: ../src/mesk_gui.glade.h:18 83 91 msgid "Configure..." 84 92 msgstr "" 85 93 86 #: ../src/mesk_gui.glade.h:1 794 #: ../src/mesk_gui.glade.h:19 87 95 msgid "Copyright © 2006 Travis Shirk" 88 96 msgstr "" 89 97 90 #: ../src/mesk_gui.glade.h: 1898 #: ../src/mesk_gui.glade.h:20 91 99 msgid "Find:" 92 100 msgstr "" 93 101 94 #: ../src/mesk_gui.glade.h: 19102 #: ../src/mesk_gui.glade.h:21 95 103 msgid "First" 96 104 msgstr "" 97 105 98 #: ../src/mesk_gui.glade.h:2 0106 #: ../src/mesk_gui.glade.h:22 99 107 msgid "Mesk" 100 108 msgstr "" 101 109 102 #: ../src/mesk_gui.glade.h:2 1110 #: ../src/mesk_gui.glade.h:23 103 111 msgid "Next" 104 112 msgstr "" 105 113 106 #: ../src/mesk_gui.glade.h:2 2114 #: ../src/mesk_gui.glade.h:24 107 115 msgid "Online Help" 108 116 msgstr "" 109 117 110 118 #. Tooltip strings 111 #: ../src/mesk_gui.glade.h:2 3 ../src/audio_control.py:42119 #: ../src/mesk_gui.glade.h:25 ../src/audio_control.py:43 112 120 msgid "Play" 113 121 msgstr "" 114 122 115 #: ../src/mesk_gui.glade.h:2 4../src/mesk/__init__.py:46123 #: ../src/mesk_gui.glade.h:26 ../src/mesk/__init__.py:46 116 124 msgid "Playlist" 117 125 msgstr "" 118 126 119 #: ../src/mesk_gui.glade.h:25 120 msgid "Playlist Name" 121 msgstr "" 122 123 #: ../src/mesk_gui.glade.h:26 127 #: ../src/mesk_gui.glade.h:27 124 128 msgid "Playlist stats" 125 129 msgstr "" 126 130 127 #: ../src/mesk_gui.glade.h:2 7131 #: ../src/mesk_gui.glade.h:28 128 132 msgid "Plugins" 129 133 msgstr "" 130 134 131 #: ../src/mesk_gui.glade.h:2 8135 #: ../src/mesk_gui.glade.h:29 132 136 msgid "Preferences" 133 137 msgstr "" 134 138 135 #: ../src/mesk_gui.glade.h: 29139 #: ../src/mesk_gui.glade.h:30 136 140 msgid "Previous" 137 141 msgstr "" 138 142 139 #: ../src/mesk_gui.glade.h:3 0143 #: ../src/mesk_gui.glade.h:31 140 144 msgid "Queue" 141 145 msgstr "" 142 146 143 #: ../src/mesk_gui.glade.h:3 1147 #: ../src/mesk_gui.glade.h:32 144 148 msgid "Queue/Unqueue" 145 149 msgstr "" 146 150 147 #: ../src/mesk_gui.glade.h:3 2151 #: ../src/mesk_gui.glade.h:33 148 152 msgid "Remove" 149 msgstr ""150 151 #: ../src/mesk_gui.glade.h:33152 msgid "Rename..."153 153 msgstr "" 154 154 … … 258 258 msgstr "" 259 259 260 #: ../src/audio_control.py:4 3260 #: ../src/audio_control.py:44 261 261 msgid "Pause" 262 262 msgstr "" 263 263 264 #: ../src/audio_control.py:1 20264 #: ../src/audio_control.py:133 265 265 #, python-format 266 266 msgid "Gstreamer version %d.%d.%d audio control initialized" 267 msgstr "" 268 269 #: ../src/audio_control.py:309 270 #, python-format 271 msgid "Volume %d%%" 267 272 msgstr "" 268 273 … … 293 298 msgstr "" 294 299 295 #: ../src/main_window.py:73 ../src/main_window.py:394 296 #, python-format 297 msgid "Volume %d%%" 298 msgstr "" 299 300 #: ../src/main_window.py:110 300 #: ../src/main_window.py:105 301 301 #, python-format 302 302 msgid "Error loading playlist '%s'" trunk/src/main_window.py
r335 r340 36 36 37 37 class MainWindow: 38 # DND_TARGETS is the targets needed by drag_source_set and drag_dest_set 39 DND_TARGETS = [('MESK_TAB', 0, 81)] 40 38 41 def __init__(self): 39 42 self._is_compact = False … … 95 98 96 99 self._pref_window = None 100 101 # Set up DnD 102 self._notebook.connect('drag_data_received', 103 self._on_tab_drag_data_received) 104 self._notebook.drag_dest_set(gtk.DEST_DEFAULT_ALL, self.DND_TARGETS, 105 gtk.gdk.ACTION_MOVE) 97 106 98 107 # TODO: Initialize multi-media keys … … 176 185 self._update_playlists_menu() 177 186 187 # Set tab label as drag source and connect the drag_data_get signal 188 ctrl.tab_label_ebox.dnd_handler = \ 189 ctrl.tab_label_ebox.connect('drag_data_get', 190 self._on_tab_drag_data_get) 191 ctrl.tab_label_ebox.drag_source_set(gtk.gdk.BUTTON1_MASK, 192 self.DND_TARGETS, 193 gtk.gdk.ACTION_MOVE) 194 178 195 def remove_notebook_control(self, ctrl): 179 196 page_num = self._notebook.page_num(ctrl.widget) … … 203 220 if self._notebook.get_n_pages() == 0: 204 221 self.add_notebook_control(self._empty_control) 222 elif self._notebook.get_n_pages() == 1: 223 # DnD clean up 224 self._notebook.drag_dest_unset() 225 205 226 206 227 def _get_control_from_widget(self, widget): … … 249 270 # Shutdown all controls 250 271 playlists = [] 251 for ctrl in self._controls: 272 for i in range(self._notebook.get_n_pages()): 273 # Notebook order traversal for saving state 274 ctrl = self._get_control_from_widget(self._notebook.get_nth_page(i)) 252 275 if isinstance(ctrl, PlaylistControl): 253 276 playlists.append(ctrl.name) … … 426 449 self.add_playlist_control(name) 427 450 451 ### DnD support ### 452 def _on_tab_drag_data_received(self, widget, drag_context, x, y, selection, 453 type, time): 454 '''Reorder the tabs according to the drop position''' 455 source_page_num = int(selection.data) 456 dest_page_num, to_right = self._get_tab_at_xy(x, y) 457 source_child = self._notebook.get_nth_page(source_page_num) 458 source_tab_label = self._notebook.get_tab_label(source_child) 459 if dest_page_num != source_page_num: 460 self._notebook.reorder_child(source_child, dest_page_num) 461 462 463 def _on_tab_drag_data_get(self, widget, drag_context, selection, info, 464 time): 465 source_page_num = self._find_page_num_according_to_tab_label(widget) 466 # 8 is the data size for the string 467 selection.set(selection.target, 8, str(source_page_num)) 468 469 def _find_page_num_according_to_tab_label(self, tab_label): 470 '''Find the page num of the tab label''' 471 page_num = -1 472 for i in xrange(self._notebook.get_n_pages()): 473 page = self._notebook.get_nth_page(i) 474 tab = self._notebook.get_tab_label(page) 475 if tab == tab_label: 476 page_num = i 477 break 478 return page_num 479 480 481 def _get_tab_at_xy(self, x, y): 482 '''Thanks to Gaim 483 Return the tab under xy and 484 if its nearer from left or right side of the tab 485 ''' 486 page_num = -1 487 to_right = False 488 horiz = self._notebook.get_tab_pos() == gtk.POS_TOP or \ 489 self._notebook.get_tab_pos() == gtk.POS_BOTTOM 490 for i in xrange(self._notebook.get_n_pages()): 491 page = self._notebook.get_nth_page(i) 492 tab = self._notebook.get_tab_label(page) 493 tab_alloc = tab.get_allocation() 494 if horiz: 495 if (x >= tab_alloc.x and 496 (x <= (tab_alloc.x + tab_alloc.width))): 497 page_num = i 498 if x >= tab_alloc.x + (tab_alloc.width / 2.0): 499 to_right = True 500 break 501 else: 502 if (y >= tab_alloc.y and 503 (y <= (tab_alloc.y + tab_alloc.height))): 504 page_num = i 505 506 if y > tab_alloc.y + (tab_alloc.height / 2.0): 507 to_right = True 508 break 509 return (page_num, to_right) 510
