Changeset 335
- Timestamp:
- 06/27/06 23:27:48 (2 years ago)
- Files:
-
- trunk/po/es.po (modified) (8 diffs)
- trunk/po/mesk.pot (modified) (6 diffs)
- trunk/src/audio_control.py (modified) (7 diffs)
- trunk/src/images/audio-volume-high.png (added)
- trunk/src/images/audio-volume-low.png (added)
- trunk/src/images/audio-volume-medium.png (added)
- trunk/src/images/audio-volume-muted.png (added)
- trunk/src/main_window.py (modified) (4 diffs)
- trunk/src/mesk_gui.glade (modified) (13 diffs)
- trunk/src/playlist_control.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/po/es.po
r331 r335 8 8 "Project-Id-Version: 0.1.1\n" 9 9 "Report-Msgid-Bugs-To: \n" 10 "POT-Creation-Date: 2006-06-2 5 15:01-0600\n"10 "POT-Creation-Date: 2006-06-27 14:19-0600\n" 11 11 "PO-Revision-Date: 2006-04-15 17:38-0600\n" 12 12 "Last-Translator: Travis Shirk <travis@pobox.com>\n" … … 49 49 50 50 #: ../src/mesk_gui.glade.h:7 51 msgid "" 52 "<big>Welcome To <b>Mesk</b></big>\n" 53 "\n" 54 "Add, or open, a playlist using the File menu." 55 msgstr "" 56 57 #: ../src/mesk_gui.glade.h:10 51 58 msgid "Add Music..." 52 59 msgstr "Agregue La Música" 53 60 54 #: ../src/mesk_gui.glade.h: 861 #: ../src/mesk_gui.glade.h:11 55 62 msgid "Add music..." 56 63 msgstr "Agregue la música" 57 64 58 #: ../src/mesk_gui.glade.h: 965 #: ../src/mesk_gui.glade.h:12 59 66 msgid "CD Audio" 60 67 msgstr "" 61 68 62 #: ../src/mesk_gui.glade.h:1 069 #: ../src/mesk_gui.glade.h:13 63 70 msgid "Clear Queue" 64 71 msgstr "Coleta Clara" 65 72 66 #: ../src/mesk_gui.glade.h:1 173 #: ../src/mesk_gui.glade.h:14 67 74 msgid "Clear search" 68 75 msgstr "Búsqueda clara" 69 76 70 #: ../src/mesk_gui.glade.h:1 277 #: ../src/mesk_gui.glade.h:15 71 78 msgid "Close search" 72 79 msgstr "Búsqueda cercana" 73 80 74 #: ../src/mesk_gui.glade.h:1 381 #: ../src/mesk_gui.glade.h:16 75 82 msgid "Configure..." 76 83 msgstr "Configure..." 77 84 78 #: ../src/mesk_gui.glade.h:1 485 #: ../src/mesk_gui.glade.h:17 79 86 msgid "Copyright © 2006 Travis Shirk" 80 87 msgstr "Copyright © 2006 Travis Shirk" 81 88 82 #: ../src/mesk_gui.glade.h:1 589 #: ../src/mesk_gui.glade.h:18 83 90 msgid "Find:" 84 91 msgstr "Hallazgo:" 85 92 86 #: ../src/mesk_gui.glade.h:16 93 #: ../src/mesk_gui.glade.h:19 94 msgid "First" 95 msgstr "" 96 97 #: ../src/mesk_gui.glade.h:20 87 98 msgid "Mesk" 88 99 msgstr "Mesk" 89 100 90 #: ../src/mesk_gui.glade.h: 17101 #: ../src/mesk_gui.glade.h:21 91 102 msgid "Next" 92 103 msgstr "Después" 93 104 94 #: ../src/mesk_gui.glade.h: 18105 #: ../src/mesk_gui.glade.h:22 95 106 msgid "Online Help" 96 107 msgstr "Ayuda En lÃnea" 97 108 98 109 #. Tooltip strings 99 #: ../src/mesk_gui.glade.h: 19../src/audio_control.py:42110 #: ../src/mesk_gui.glade.h:23 ../src/audio_control.py:42 100 111 msgid "Play" 101 112 msgstr "Juego" 102 113 103 #: ../src/mesk_gui.glade.h:2 0../src/mesk/__init__.py:46114 #: ../src/mesk_gui.glade.h:24 ../src/mesk/__init__.py:46 104 115 msgid "Playlist" 105 116 msgstr "Playlist" 106 117 107 #: ../src/mesk_gui.glade.h:2 1118 #: ../src/mesk_gui.glade.h:25 108 119 #, fuzzy 109 120 msgid "Playlist Name" 110 121 msgstr "Playlist" 111 122 112 #: ../src/mesk_gui.glade.h:2 2123 #: ../src/mesk_gui.glade.h:26 113 124 msgid "Playlist stats" 114 125 msgstr "Playlist stats" 115 126 116 #: ../src/mesk_gui.glade.h:2 3127 #: ../src/mesk_gui.glade.h:27 117 128 msgid "Plugins" 118 129 msgstr "Plugins" 119 130 120 #: ../src/mesk_gui.glade.h:2 4131 #: ../src/mesk_gui.glade.h:28 121 132 msgid "Preferences" 122 133 msgstr "Preferencias" 123 134 124 #: ../src/mesk_gui.glade.h:2 5135 #: ../src/mesk_gui.glade.h:29 125 136 msgid "Previous" 126 137 msgstr "Anterior" 127 138 128 #: ../src/mesk_gui.glade.h: 26139 #: ../src/mesk_gui.glade.h:30 129 140 msgid "Queue" 130 141 msgstr "Coleta" 131 142 132 #: ../src/mesk_gui.glade.h: 27143 #: ../src/mesk_gui.glade.h:31 133 144 msgid "Queue/Unqueue" 134 145 msgstr "Coleta/Unqueue" 135 146 136 #: ../src/mesk_gui.glade.h: 28147 #: ../src/mesk_gui.glade.h:32 137 148 msgid "Remove" 138 149 msgstr "Quite" 139 150 140 #: ../src/mesk_gui.glade.h: 29151 #: ../src/mesk_gui.glade.h:33 141 152 msgid "Rename..." 142 153 msgstr "" 143 154 144 #: ../src/mesk_gui.glade.h:3 0155 #: ../src/mesk_gui.glade.h:34 145 156 msgid "Repeat playlist" 146 157 msgstr "Repetición el playlist" 147 158 148 #: ../src/mesk_gui.glade.h:3 1159 #: ../src/mesk_gui.glade.h:35 149 160 msgid "Shuffle playlist" 150 161 msgstr "Playlist de la barajadura" 151 162 152 #: ../src/mesk_gui.glade.h:3 2163 #: ../src/mesk_gui.glade.h:36 153 164 msgid "Stop" 154 165 msgstr "Parada" 155 166 156 #: ../src/mesk_gui.glade.h:3 3167 #: ../src/mesk_gui.glade.h:37 157 168 msgid "_About" 158 169 msgstr "_Sobre" 159 170 160 #: ../src/mesk_gui.glade.h:3 4171 #: ../src/mesk_gui.glade.h:38 161 172 #, fuzzy 162 173 msgid "_Compact" 163 174 msgstr "Acuerdo" 164 175 165 #: ../src/mesk_gui.glade.h:3 5176 #: ../src/mesk_gui.glade.h:39 166 177 #, fuzzy 167 178 msgid "_Contents" 168 179 msgstr "Contenido" 169 180 170 #: ../src/mesk_gui.glade.h: 36181 #: ../src/mesk_gui.glade.h:40 171 182 msgid "_Edit" 172 183 msgstr "_Corrija" 173 184 174 #: ../src/mesk_gui.glade.h: 37185 #: ../src/mesk_gui.glade.h:41 175 186 msgid "_File" 176 187 msgstr "_Archivo" 177 188 178 #: ../src/mesk_gui.glade.h: 38189 #: ../src/mesk_gui.glade.h:42 179 190 msgid "_Help" 180 191 msgstr "_Ayuda" 181 192 182 #: ../src/mesk_gui.glade.h: 39193 #: ../src/mesk_gui.glade.h:43 183 194 #, fuzzy 184 195 msgid "_New Playlist..." 185 196 msgstr "Abra el playlist" 186 197 187 #: ../src/mesk_gui.glade.h:4 0198 #: ../src/mesk_gui.glade.h:44 188 199 #, fuzzy 189 200 msgid "_Open Playlist" 190 201 msgstr "Abra el playlist" 191 202 192 #: ../src/mesk_gui.glade.h:4 1203 #: ../src/mesk_gui.glade.h:45 193 204 msgid "_Preferences" 194 205 msgstr "_Preferencias" 195 206 196 #: ../src/mesk_gui.glade.h:4 2207 #: ../src/mesk_gui.glade.h:46 197 208 msgid "_View" 198 209 msgstr "_Visión" 199 210 200 211 #. TRANSLATORS: Replace this string with your names, one name per line. 201 #: ../src/mesk_gui.glade.h:4 4212 #: ../src/mesk_gui.glade.h:48 202 213 msgid "es: Babelfish" 203 214 msgstr "" 204 215 205 #: ../src/mesk_gui.glade.h:4 5216 #: ../src/mesk_gui.glade.h:49 206 217 msgid "example" 207 218 msgstr "" … … 293 304 msgstr "La gerencia de la sesión inhabilitó (ningún módulo de gnome.ui)" 294 305 295 #: ../src/main_window.py:7 2 ../src/main_window.py:362306 #: ../src/main_window.py:73 ../src/main_window.py:394 296 307 #, python-format 297 308 msgid "Volume %d%%" 298 309 msgstr "" 299 310 300 #: ../src/main_window.py: 94311 #: ../src/main_window.py:110 301 312 #, python-format 302 313 msgid "Error loading playlist '%s'" … … 327 338 328 339 #: ../src/mesk/__init__.py:57 340 msgid "The foreground playlist that has audio control" 341 msgstr "" 342 343 #: ../src/mesk/__init__.py:59 329 344 #, fuzzy 330 345 msgid "A list of playlists to open on startup" 331 346 msgstr "Una lista de los plugins (separados por ';') para activar en arranque" 332 347 333 #: ../src/mesk/__init__.py: 59348 #: ../src/mesk/__init__.py:61 334 349 msgid "Logging level. May be CRITICAL, ERROR, WARNING, INFO, VERBOSE, or DEBUG" 335 350 msgstr "" … … 337 352 "DEBUG" 338 353 339 #: ../src/mesk/__init__.py:6 2354 #: ../src/mesk/__init__.py:64 340 355 msgid "The directory containing user installed plugins" 341 356 msgstr "El directorio que contiene plugins instalados usuario" 342 357 343 #: ../src/mesk/__init__.py:6 3358 #: ../src/mesk/__init__.py:65 344 359 msgid "A list of plugins (separated by ';') to activate on startup." 345 360 msgstr "Una lista de los plugins (separados por ';') para activar en arranque" 346 361 347 #: ../src/mesk/__init__.py: 68362 #: ../src/mesk/__init__.py:70 348 363 msgid "Start in compact view mode" 349 364 msgstr "Comience en modo compacto de la visión" 350 365 351 #: ../src/mesk/__init__.py:7 0366 #: ../src/mesk/__init__.py:72 352 367 msgid "" 353 368 "If True, the main window is hidded instead of closed when the window close " … … 357 372 "chasca el botón del cierre de la ventana" 358 373 359 #: ../src/mesk/__init__.py:7 3374 #: ../src/mesk/__init__.py:75 360 375 msgid "Main window width" 361 376 msgstr "Anchura principal de la ventana" 362 377 363 #: ../src/mesk/__init__.py:7 4378 #: ../src/mesk/__init__.py:76 364 379 msgid "Main window height" 365 380 msgstr "Altura principal de la ventana" 366 381 367 #: ../src/mesk/__init__.py:7 5382 #: ../src/mesk/__init__.py:77 368 383 msgid "Main window x origin" 369 384 msgstr "Origen principal de la ventana x" 370 385 371 #: ../src/mesk/__init__.py:7 6386 #: ../src/mesk/__init__.py:78 372 387 msgid "Main window y origin" 373 388 msgstr "Origen principal de la ventana y" 374 389 375 #: ../src/mesk/__init__.py: 78390 #: ../src/mesk/__init__.py:80 376 391 msgid "Main window x origin in compact mode" 377 392 msgstr "Origen principal de la ventana x en modo compacto" 378 393 379 #: ../src/mesk/__init__.py:8 0394 #: ../src/mesk/__init__.py:82 380 395 msgid "Main window y origin in compact mode" 381 396 msgstr "Origen principal de la ventana y en modo compacto" 382 397 383 #: ../src/mesk/__init__.py:8 2398 #: ../src/mesk/__init__.py:84 384 399 msgid "Display the close button on each tab" 385 400 msgstr "" 386 401 387 #: ../src/mesk/__init__.py:8 7402 #: ../src/mesk/__init__.py:89 388 403 #, fuzzy, python-format 389 404 msgid "GStreamer output sink. May be %s (default), %s, '%s','%s', or '%s'" … … 391 406 "Fregadero de la salida de GStreamer. Pueden ser '%s', '%s', '%s' o '%s'" 392 407 393 #: ../src/mesk/__init__.py:9 1408 #: ../src/mesk/__init__.py:93 394 409 msgid "Number of milliseconds to pause between tracks" 395 410 msgstr "Número de los milisegundos a detenerse brevemente entre las pistas" 396 411 397 #: ../src/mesk/__init__.py:9 3412 #: ../src/mesk/__init__.py:95 398 413 msgid "Volume level is a value between 0.0 and 1.0" 399 414 msgstr "" 400 415 401 #: ../src/mesk/__init__.py:9 7416 #: ../src/mesk/__init__.py:99 402 417 msgid "Playlist (file) location" 403 418 msgstr "Localización de Playlist (archivo)" 404 419 405 #: ../src/mesk/__init__.py: 98420 #: ../src/mesk/__init__.py:100 406 421 msgid "Starting playlist index" 407 422 msgstr "Comenzar Ãndice del playlist" 408 423 409 #: ../src/mesk/__init__.py: 99424 #: ../src/mesk/__init__.py:101 410 425 msgid "Is the playlist in repeat mode" 411 426 msgstr "Es el playlist en modo de la repetición" 412 427 413 #: ../src/mesk/__init__.py:10 0428 #: ../src/mesk/__init__.py:102 414 429 msgid "Is the playlist in shuffle mode" 415 430 msgstr "Es el playlist en modo de la barajadura" 416 431 417 #: ../src/mesk/__init__.py:10 1432 #: ../src/mesk/__init__.py:103 418 433 msgid "The playlist queue which is a comma separated list of indices" 419 434 msgstr "La coleta del playlist que es una coma separó la lista de Ãndices" 420 435 421 #: ../src/mesk/__init__.py:10 4436 #: ../src/mesk/__init__.py:106 422 437 msgid "The directory to open when adding files" 423 438 msgstr "El directorio a abrirse al agregar archivos" 424 439 425 #: ../src/mesk/__init__.py:11 5 ../src/mesk/__init__.py:117426 #: ../src/mesk/__init__.py:1 19440 #: ../src/mesk/__init__.py:117 ../src/mesk/__init__.py:119 441 #: ../src/mesk/__init__.py:121 427 442 #, python-format 428 443 msgid "Creating %s..." … … 671 686 msgstr "Gajim y/o Dbus no está funcionando" 672 687 673 #: ../src/plugins/gajimstatus.py:1 29688 #: ../src/plugins/gajimstatus.py:141 674 689 msgid " [paused]" 675 690 msgstr " [detenido brevemente]" 676 691 677 #: ../src/plugins/gajimstatus.py:1 80692 #: ../src/plugins/gajimstatus.py:194 678 693 msgid "Gajim must be running in order to determine accounts." 679 694 msgstr "Gajim debe funcionar para determinar cuentas." trunk/po/mesk.pot
r331 r335 9 9 "Project-Id-Version: PACKAGE VERSION\n" 10 10 "Report-Msgid-Bugs-To: \n" 11 "POT-Creation-Date: 2006-06-2 5 15:01-0600\n"11 "POT-Creation-Date: 2006-06-27 14:19-0600\n" 12 12 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 13 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" … … 50 50 51 51 #: ../src/mesk_gui.glade.h:7 52 msgid "" 53 "<big>Welcome To <b>Mesk</b></big>\n" 54 "\n" 55 "Add, or open, a playlist using the File menu." 56 msgstr "" 57 58 #: ../src/mesk_gui.glade.h:10 52 59 msgid "Add Music..." 53 60 msgstr "" 54 61 55 #: ../src/mesk_gui.glade.h: 862 #: ../src/mesk_gui.glade.h:11 56 63 msgid "Add music..." 57 64 msgstr "" 58 65 59 #: ../src/mesk_gui.glade.h: 966 #: ../src/mesk_gui.glade.h:12 60 67 msgid "CD Audio" 61 68 msgstr "" 62 69 63 #: ../src/mesk_gui.glade.h:1 070 #: ../src/mesk_gui.glade.h:13 64 71 msgid "Clear Queue" 65 72 msgstr "" 66 73 67 #: ../src/mesk_gui.glade.h:1 174 #: ../src/mesk_gui.glade.h:14 68 75 msgid "Clear search" 69 76 msgstr "" 70 77 71 #: ../src/mesk_gui.glade.h:1 278 #: ../src/mesk_gui.glade.h:15 72 79 msgid "Close search" 73 80 msgstr "" 74 81 75 #: ../src/mesk_gui.glade.h:1 382 #: ../src/mesk_gui.glade.h:16 76 83 msgid "Configure..." 77 84 msgstr "" 78 85 79 #: ../src/mesk_gui.glade.h:1 486 #: ../src/mesk_gui.glade.h:17 80 87 msgid "Copyright © 2006 Travis Shirk" 81 88 msgstr "" 82 89 83 #: ../src/mesk_gui.glade.h:1 590 #: ../src/mesk_gui.glade.h:18 84 91 msgid "Find:" 85 92 msgstr "" 86 93 87 #: ../src/mesk_gui.glade.h:16 94 #: ../src/mesk_gui.glade.h:19 95 msgid "First" 96 msgstr "" 97 98 #: ../src/mesk_gui.glade.h:20 88 99 msgid "Mesk" 89 100 msgstr "" 90 101 91 #: ../src/mesk_gui.glade.h: 17102 #: ../src/mesk_gui.glade.h:21 92 103 msgid "Next" 93 104 msgstr "" 94 105 95 #: ../src/mesk_gui.glade.h: 18106 #: ../src/mesk_gui.glade.h:22 96 107 msgid "Online Help" 97 108 msgstr "" 98 109 99 110 #. Tooltip strings 100 #: ../src/mesk_gui.glade.h: 19../src/audio_control.py:42111 #: ../src/mesk_gui.glade.h:23 ../src/audio_control.py:42 101 112 msgid "Play" 102 113 msgstr "" 103 114 104 #: ../src/mesk_gui.glade.h:2 0../src/mesk/__init__.py:46115 #: ../src/mesk_gui.glade.h:24 ../src/mesk/__init__.py:46 105 116 msgid "Playlist" 106 117 msgstr "" 107 118 108 #: ../src/mesk_gui.glade.h:2 1119 #: ../src/mesk_gui.glade.h:25 109 120 msgid "Playlist Name" 110 121 msgstr "" 111 122 112 #: ../src/mesk_gui.glade.h:2 2123 #: ../src/mesk_gui.glade.h:26 113 124 msgid "Playlist stats" 114 125 msgstr "" 115 126 116 #: ../src/mesk_gui.glade.h:2 3127 #: ../src/mesk_gui.glade.h:27 117 128 msgid "Plugins" 118 129 msgstr "" 119 130 120 #: ../src/mesk_gui.glade.h:2 4131 #: ../src/mesk_gui.glade.h:28 121 132 msgid "Preferences" 122 133 msgstr "" 123 134 124 #: ../src/mesk_gui.glade.h:2 5135 #: ../src/mesk_gui.glade.h:29 125 136 msgid "Previous" 126 137 msgstr "" 127 138 128 #: ../src/mesk_gui.glade.h: 26139 #: ../src/mesk_gui.glade.h:30 129 140 msgid "Queue" 130 141 msgstr "" 131 142 132 #: ../src/mesk_gui.glade.h: 27143 #: ../src/mesk_gui.glade.h:31 133 144 msgid "Queue/Unqueue" 134 145 msgstr "" 135 146 136 #: ../src/mesk_gui.glade.h: 28147 #: ../src/mesk_gui.glade.h:32 137 148 msgid "Remove" 138 149 msgstr "" 139 150 140 #: ../src/mesk_gui.glade.h: 29151 #: ../src/mesk_gui.glade.h:33 141 152 msgid "Rename..." 142 153 msgstr "" 143 154 144 #: ../src/mesk_gui.glade.h:3 0155 #: ../src/mesk_gui.glade.h:34 145 156 msgid "Repeat playlist" 146 157 msgstr "" 147 158 148 #: ../src/mesk_gui.glade.h:3 1159 #: ../src/mesk_gui.glade.h:35 149 160 msgid "Shuffle playlist" 150 161 msgstr "" 151 162 152 #: ../src/mesk_gui.glade.h:3 2163 #: ../src/mesk_gui.glade.h:36 153 164 msgid "Stop" 154 165 msgstr "" 155 166 156 #: ../src/mesk_gui.glade.h:3 3167 #: ../src/mesk_gui.glade.h:37 157 168 msgid "_About" 158 169 msgstr "" 159 170 160 #: ../src/mesk_gui.glade.h:3 4171 #: ../src/mesk_gui.glade.h:38 161 172 msgid "_Compact" 162 173 msgstr "" 163 174 164 #: ../src/mesk_gui.glade.h:3 5175 #: ../src/mesk_gui.glade.h:39 165 176 msgid "_Contents" 166 177 msgstr "" 167 178 168 #: ../src/mesk_gui.glade.h: 36179 #: ../src/mesk_gui.glade.h:40 169 180 msgid "_Edit" 170 181 msgstr "" 171 182 172 #: ../src/mesk_gui.glade.h: 37183 #: ../src/mesk_gui.glade.h:41 173 184 msgid "_File" 174 185 msgstr "" 175 186 176 #: ../src/mesk_gui.glade.h: 38187 #: ../src/mesk_gui.glade.h:42 177 188 msgid "_Help" 178 189 msgstr "" 179 190 180 #: ../src/mesk_gui.glade.h: 39191 #: ../src/mesk_gui.glade.h:43 181 192 msgid "_New Playlist..." 182 193 msgstr "" 183 194 184 #: ../src/mesk_gui.glade.h:4 0195 #: ../src/mesk_gui.glade.h:44 185 196 msgid "_Open Playlist" 186 197 msgstr "" 187 198 188 #: ../src/mesk_gui.glade.h:4 1199 #: ../src/mesk_gui.glade.h:45 189 200 msgid "_Preferences" 190 201 msgstr "" 191 202 192 #: ../src/mesk_gui.glade.h:4 2203 #: ../src/mesk_gui.glade.h:46 193 204 msgid "_View" 194 205 msgstr "" 195 206 196 207 #. TRANSLATORS: Replace this string with your names, one name per line. 197 #: ../src/mesk_gui.glade.h:4 4208 #: ../src/mesk_gui.glade.h:48 198 209 msgid "es: Babelfish" 199 210 msgstr "" 200 211 201 #: ../src/mesk_gui.glade.h:4 5212 #: ../src/mesk_gui.glade.h:49 202 213 msgid "example" 203 214 msgstr "" … … 282 293 msgstr "" 283 294 284 #: ../src/main_window.py:7 2 ../src/main_window.py:362295 #: ../src/main_window.py:73 ../src/main_window.py:394 285 296 #, python-format 286 297 msgid "Volume %d%%" 287 298 msgstr "" 288 299 289 #: ../src/main_window.py: 94300 #: ../src/main_window.py:110 290 301 #, python-format 291 302 msgid "Error loading playlist '%s'" … … 316 327 317 328 #: ../src/mesk/__init__.py:57 329 msgid "The foreground playlist that has audio control" 330 msgstr "" 331 332 #: ../src/mesk/__init__.py:59 318 333 msgid "A list of playlists to open on startup" 319 334 msgstr "" 320 335 321 #: ../src/mesk/__init__.py: 59336 #: ../src/mesk/__init__.py:61 322 337 msgid "Logging level. May be CRITICAL, ERROR, WARNING, INFO, VERBOSE, or DEBUG" 323 338 msgstr "" 324 339 325 #: ../src/mesk/__init__.py:6 2340 #: ../src/mesk/__init__.py:64 326 341 msgid "The directory containing user installed plugins" 327 342 msgstr "" 328 343 329 #: ../src/mesk/__init__.py:6 3344 #: ../src/mesk/__init__.py:65 330 345 msgid "A list of plugins (separated by ';') to activate on startup." 331 346 msgstr "" 332 347 333 #: ../src/mesk/__init__.py: 68348 #: ../src/mesk/__init__.py:70 334 349 msgid "Start in compact view mode" 335 350 msgstr "" 336 351 337 #: ../src/mesk/__init__.py:7 0352 #: ../src/mesk/__init__.py:72 338 353 msgid "" 339 354 "If True, the main window is hidded instead of closed when the window close " … … 341 356 msgstr "" 342 357 343 #: ../src/mesk/__init__.py:7 3358 #: ../src/mesk/__init__.py:75 344 359 msgid "Main window width" 345 360 msgstr "" 346 361 347 #: ../src/mesk/__init__.py:7 4362 #: ../src/mesk/__init__.py:76 348 363 msgid "Main window height" 349 364 msgstr "" 350 365 351 #: ../src/mesk/__init__.py:7 5366 #: ../src/mesk/__init__.py:77 352 367 msgid "Main window x origin" 353 368 msgstr "" 354 369 355 #: ../src/mesk/__init__.py:7 6370 #: ../src/mesk/__init__.py:78 356 371 msgid "Main window y origin" 357 372 msgstr "" 358 373 359 #: ../src/mesk/__init__.py: 78374 #: ../src/mesk/__init__.py:80 360 375 msgid "Main window x origin in compact mode" 361 376 msgstr "" 362 377 363 #: ../src/mesk/__init__.py:8 0378 #: ../src/mesk/__init__.py:82 364 379 msgid "Main window y origin in compact mode" 365 380 msgstr "" 366 381 367 #: ../src/mesk/__init__.py:8 2382 #: ../src/mesk/__init__.py:84 368 383 msgid "Display the close button on each tab" 369 384 msgstr "" 370 385 371 #: ../src/mesk/__init__.py:8 7386 #: ../src/mesk/__init__.py:89 372 387 #, python-format 373 388 msgid "GStreamer output sink. May be %s (default), %s, '%s','%s', or '%s'" 374 389 msgstr "" 375 390 376 #: ../src/mesk/__init__.py:9 1391 #: ../src/mesk/__init__.py:93 377 392 msgid "Number of milliseconds to pause between tracks" 378 393 msgstr "" 379 394 380 #: ../src/mesk/__init__.py:9 3395 #: ../src/mesk/__init__.py:95 381 396 msgid "Volume level is a value between 0.0 and 1.0" 382 397 msgstr "" 383 398 384 #: ../src/mesk/__init__.py:9 7399 #: ../src/mesk/__init__.py:99 385 400 msgid "Playlist (file) location" 386 401 msgstr "" 387 402 388 #: ../src/mesk/__init__.py: 98403 #: ../src/mesk/__init__.py:100 389 404 msgid "Starting playlist index" 390 405 msgstr "" 391 406 392 #: ../src/mesk/__init__.py: 99407 #: ../src/mesk/__init__.py:101 393 408 msgid "Is the playlist in repeat mode" 394 409 msgstr "" 395 410 396 #: ../src/mesk/__init__.py:10 0411 #: ../src/mesk/__init__.py:102 397 412 msgid "Is the playlist in shuffle mode" 398 413 msgstr "" 399 414 400 #: ../src/mesk/__init__.py:10 1415 #: ../src/mesk/__init__.py:103 401 416 msgid "The playlist queue which is a comma separated list of indices" 402 417 msgstr "" 403 418 404 #: ../src/mesk/__init__.py:10 4419 #: ../src/mesk/__init__.py:106 405 420 msgid "The directory to open when adding files" 406 421 msgstr "" 407 422 408 #: ../src/mesk/__init__.py:11 5 ../src/mesk/__init__.py:117409 #: ../src/mesk/__init__.py:1 19423 #: ../src/mesk/__init__.py:117 ../src/mesk/__init__.py:119 424 #: ../src/mesk/__init__.py:121 410 425 #, python-format 411 426 msgid "Creating %s..." … … 650 665 msgstr "" 651 666 652 #: ../src/plugins/gajimstatus.py:1 29667 #: ../src/plugins/gajimstatus.py:141 653 668 msgid " [paused]" 654 669 msgstr "" 655 670 656 #: ../src/plugins/gajimstatus.py:1 80671 #: ../src/plugins/gajimstatus.py:194 657 672 msgid "Gajim must be running in order to determine accounts." 658 673 msgstr "" trunk/src/audio_control.py
r318 r335 29 29 30 30 import control 31 import gtk_utils 31 32 32 33 class AudioControl(control.Control): … … 51 52 self._current_audio_src = None 52 53 self._last_src_started = None 54 self._volume_button_tip = gtk.Tooltips() 55 self._volume_scale_tip = gtk.Tooltips() 56 57 # Volume slider window 58 vol_xml = gtk_utils.get_glade('volume_slider_window') 59 vol_xml.signal_autoconnect(self) 60 self._volume_window = vol_xml.get_widget('volume_slider_window') 61 self._volume_scale = vol_xml.get_widget('volume_scale') 62 self._volume_scale_ebox = vol_xml.get_widget('volume_scale_eventbox') 53 63 54 64 self._state = self.STOP … … 56 66 self._duration = gst.CLOCK_TIME_NONE 57 67 58 self._volume = mesk.config.getfloat(mesk.CONFIG_AUDIO, 'volume') 59 self._volume = max(self._volume, 0.0) 60 self._volume = min(self._volume, 1.0) 61 mesk.config.set(mesk.CONFIG_AUDIO, 'volume', str(self._volume)) 62 63 # Get widgets 68 # Set up volume widgets 69 self._volume_ebox = parent_xml.get_widget('volume_eventbox') 70 self._volume_togglebutton = parent_xml.get_widget('volume_togglebutton') 71 self._volume_mute_img = None 72 self._volume_low_img = None 73 self._volume_medium_img = None 74 self._volume_high_img = None 75 76 # Control widgets 64 77 self._prev_button = parent_xml.get_widget('prev_button') 65 78 self._play_pause_button = parent_xml.get_widget('play_pause_button') … … 126 139 self._create_gst_pipeline() 127 140 141 # Set initial volume from config 142 vol = mesk.config.getfloat(mesk.CONFIG_AUDIO, 'volume') 143 vol = max(vol, 0.0) 144 vol = min(vol, 1.0) 145 self.set_volume(vol) 146 128 147 def set_playlist(self, pl): 129 148 self._playlist = pl … … 282 301 if v < 0.0 or v > 1.0: 283 302 raise AttributeError('Invalid volume: %f' % v) 303 284 304 self._volume = v 285 305 self._gst_bin.set_property('volume', v) 306 307 self._set_volume_image() 308 self._volume_scale.set_value(v) 309 tip_str = _('Volume %d%%') % int(self._volume * 100.0) 310 self._volume_button_tip.set_tip(self._volume_ebox, tip_str) 311 self._volume_scale_tip.set_tip(self._volume_scale_ebox, tip_str) 312 313 # Update config 286 314 mesk.config.set(mesk.CONFIG_AUDIO, 'volume', str(self._volume)) 287 315 … … 498 526 return not self._tick_stopped 499 527 528 ### Track scale events ### 500 529 def _on_track_scale_button_press_event(self, event, arg): 501 530 if self.is_playing(): … … 533 562 label = mesk.utils.format_track_time(p / gst.SECOND, d) 534 563 self._track_time_label.set_markup('<i>%s</i>' % label) 564 565 def _set_volume_image(self): 566 old_img = self._volume_togglebutton.get_child() 567 if old_img: 568 self._volume_togglebutton.remove(old_img) 569 570 val = int(self._volume * 100.0) 571 if val == 0: 572 if not self._volume_mute_img: 573 img = gtk.Image() 574 img.set_from_file('images/audio-volume-muted.png') 575 self._volume_mute_img = img 576 new_img = self._volume_mute_img 577 elif val <= 35: 578 if not self._volume_low_img: 579 img = gtk.Image() 580 img.set_from_file('images/audio-volume-low.png') 581 self._volume_low_img = img 582 new_img = self._volume_low_img 583 elif val <= 68: 584 if not self._volume_medium_img: 585 img = gtk.Image() 586 img.set_from_file('images/audio-volume-medium.png') 587 self._volume_medium_img = img 588 new_img = self._volume_medium_img 589 else: 590 if not self._volume_high_img: 591 img = gtk.Image() 592 img.set_from_file('images/audio-volume-high.png') 593 self._volume_high_img = img 594 new_img = self._volume_high_img 595 596 self._volume_togglebutton.add(new_img) 597 new_img.show() 598 599 ### Volume events ### 600 def _on_volume_togglebutton_scroll_event(self, widget, event): 601 FACTOR = 0.04 602 if event.direction == gtk.gdk.SCROLL_UP: 603 new_vol = self._volume + FACTOR 604 elif event.direction == gtk.gdk.SCROLL_DOWN: 605 new_vol = self._volume - FACTOR 606 else: 607 return 608 609 # Coerce vol to an acceptable range 610 if new_vol < 0.0: 611 new_vol = 0.0 612 elif new_vol > 1.0: 613 new_vol = 1.0 614 615 self.set_volume(new_vol) 616 617 def _on_volume_togglebutton_toggled(self, button): 618 # Show or hide the volume scale window 619 if button.get_active(): 620 self._volume_button_tip.disable() 621 self._volume_scale_tip.enable() 622 623 x0, y0 = self._volume_ebox.window.get_origin() 624 y0 += self._volume_ebox.allocation.height + 1 625 self._volume_window.move(x0, y0) 626 self._volume_window.show() 627 # FIXME: This does not appear to be working 628 self._volume_scale.grab_focus() 629 else: 630 self._volume_scale_tip.disable() 631 self._volume_button_tip.enable() 632 self._volume_window.hide() 633 634 def _on_main_window_configure_event(self, window, event): 635 if self._volume_togglebutton.get_active(): 636 # The first stab at this I hid the volume window as soon as 637 # the top-level moved (self._volume_togglebutton.set_active(False)) 638 # but emitting toggled makes the volume window follow the main 639 # window, which is definitely cool 640 self._volume_togglebutton.toggled() 641 642 def _on_volume_scale_value_changed(self, scale): 643 self.set_volume(scale.get_value()) trunk/src/main_window.py
r333 r335 40 40 self._controls = [] 41 41 42 self._tooltips = gtk.Tooltips()43 42 self.xml = gtk_utils.get_glade('main_window') 44 43 self.xml.signal_autoconnect(self) … … 59 58 self._audio_control = AudioControl(self.xml) 60 59 except Exception, ex: 61 mesk.log.error(str(ex)) 60 exc_str = mesk.utils.get_traceback_str() 61 mesk.log.error(str(ex) + "\n" + exc_str) 62 62 # FIXME: This should not be able to fail when #149 is done 63 63 sys.exit(1) … … 67 67 self._on_audio_source_tag_update) 68 68 69 # Set initial volume70 vol = self._audio_control.get_volume()71 self.xml.get_widget('volume_scale').set_value(vol)72 self._tooltips.set_tip(self.xml.get_widget('volume_eventbox'),73 _('Volume %d%%') % (vol * 100))74 69 75 70 self._album_cover_control = AlbumCoverControl(self.xml, … … 388 383 self._update_marquee(src) 389 384 390 def _on_volume_scale_value_changed(self, scale):391 vol = scale.get_value()392 self._audio_control.set_volume(vol)393 self._tooltips.set_tip(scale.get_parent(),394 _('Volume %d%%') % (vol * 100))395 396 385 def _update_playlists_menu(self): 397 386 # Remove existing menu entries trunk/src/mesk_gui.glade
r333 r335 22 22 <signal name="delete_event" handler="_on_window_delete" last_modification_time="Sun, 19 Feb 2006 04:08:26 GMT"/> 23 23 <signal name="focus_in_event" handler="_on_window_focus_in_event" last_modification_time="Thu, 09 Mar 2006 04:14:34 GMT"/> 24 <signal name="configure_event" handler="_on_main_window_configure_event" last_modification_time="Wed, 28 Jun 2006 04:45:21 GMT"/> 24 25 25 26 <child> … … 279 280 <property name="can_focus">True</property> 280 281 <property name="relief">GTK_RELIEF_NORMAL</property> 281 <property name="focus_on_click"> True</property>282 <property name="focus_on_click">False</property> 282 283 283 284 <child> … … 308 309 <property name="can_focus">True</property> 309 310 <property name="relief">GTK_RELIEF_NORMAL</property> 310 <property name="focus_on_click"> True</property>311 <property name="focus_on_click">False</property> 311 312 312 313 <child> … … 337 338 <property name="can_focus">True</property> 338 339 <property name="relief">GTK_RELIEF_NORMAL</property> 339 <property name="focus_on_click"> True</property>340 <property name="focus_on_click">False</property> 340 341 341 342 <child> … … 366 367 <property name="can_focus">True</property> 367 368 <property name="relief">GTK_RELIEF_NORMAL</property> 368 <property name="focus_on_click"> True</property>369 <property name="focus_on_click">False</property> 369 370 370 371 <child> … … 377 378 <property name="xpad">0</property> 378 379 <property name="ypad">0</property> 380 </widget> 381 </child> 382 </widget> 383 <packing> 384 <property name="padding">0</property> 385 <property name="expand">False</property> 386 <property name="fill">False</property> 387 </packing> 388 </child> 389 390 <child> 391 <widget class="GtkVSeparator" id="vseparator2"> 392 <property name="visible">True</property> 393 </widget> 394 <packing> 395 <property name="padding">0</property> 396 <property name="expand">True</property> 397 <property name="fill">True</property> 398 </packing> 399 </child> 400 401 <child> 402 <widget class="GtkEventBox" id="volume_eventbox"> 403 <property name="visible">True</property> 404 <property name="visible_window">True</property> 405 <property name="above_child">False</property> 406 407 <child> 408 <widget class="GtkToggleButton" id="volume_togglebutton"> 409 <property name="visible">True</property> 410 <property name="can_focus">True</property> 411 <property name="label" translatable="yes"></property> 412 <property name="use_underline">True</property> 413 <property name="relief">GTK_RELIEF_NORMAL</property> 414 <property name="focus_on_click">False</property> 415 <property name="active">False</property> 416 <property name="inconsistent">False</property> 417 <signal name="scroll_event" handler="_on_volume_togglebutton_scroll_event" last_modification_time="Wed, 28 Jun 2006 03:24:37 GMT"/> 418 <signal name="toggled" handler="_on_volume_togglebutton_toggled" last_modification_time="Wed, 28 Jun 2006 03:39:12 GMT"/> 379 419 </widget> 380 420 </child> … … 464 504 465 505 <child> 466 <widget class="GtkVBox" id="vbox7">467 <property name="visible">True</property>468 <property name="homogeneous">False</property>469 <property name="spacing">0</property>470 471 <child>472 <widget class="GtkEventBox" id="volume_eventbox">473 <property name="visible">True</property>474 <property name="visible_window">True</property>475 <property name="above_child">False</property>476 477 <child>478 <widget class="GtkVScale" id="volume_scale">479 &nbs
