[views/tables|css] show actions in small tabs instead of menu indirection (closes #2004109)

authorAurelien Campeas <aurelien.campeas@logilab.fr>
changeset895e34d9ae0d
branchdefault
phasepublic
hiddenno
parent revision#1931953226f2 [rql2sql] remove debug print and fix bug introduced in 8469:69ad9a509bc3
child revision#82272decfa99 backport stable
files modified by this revision
i18n/de.po
i18n/en.po
i18n/es.po
i18n/fr.po
web/data/cubicweb.css
web/data/cubicweb.old.css
web/views/tableview.py
# HG changeset patch
# User Aurelien Campeas <aurelien.campeas@logilab.fr>
# Date 1339583886 -7200
# Wed Jun 13 12:38:06 2012 +0200
# Node ID 895e34d9ae0d9e76574bf4c937514e6f6f272cea
# Parent 1931953226f29e4b24d60ca5acee4b418cc95753
[views/tables|css] show actions in small tabs instead of menu indirection (closes #2004109)

diff --git a/i18n/de.po b/i18n/de.po
@@ -220,13 +220,10 @@
1  msgstr "UND"
2 
3  msgid "About this site"
4  msgstr "Über diese Seite"
5 
6 -msgid "Action"
7 -msgstr ""
8 -
9  #, python-format
10  msgid "Added relation : %(entity_from)s %(rtype)s %(entity_to)s"
11  msgstr ""
12 
13  msgid "Any"
@@ -272,10 +269,14 @@
14  msgstr "nach Kategorien navigieren"
15 
16  msgid "Browse by entity type"
17  msgstr "nach Identitätstyp navigieren"
18 
19 +#, python-format
20 +msgid "By %(user)s on %(dt)s [%(undo_link)s]"
21 +msgstr ""
22 +
23  msgid "Bytes"
24  msgstr "Bytes"
25 
26  msgid "Bytes_plural"
27  msgstr "Bytes"
@@ -772,13 +773,10 @@
28  msgstr ""
29 
30  msgid "TZTime_plural"
31  msgstr ""
32 
33 -msgid "Target"
34 -msgstr ""
35 -
36  #, python-format
37  msgid "The view %s can not be applied to this query"
38  msgstr "Die Ansicht %s ist auf diese Anfrage nicht anwendbar."
39 
40  #, python-format
@@ -907,14 +905,10 @@
41  msgstr ""
42 
43  msgid "Used by:"
44  msgstr "benutzt von:"
45 
46 -#, python-format
47 -msgid "User %(user_eid)s on %(dt)s [%(undo_link)s] \n"
48 -msgstr ""
49 -
50  msgid "Users and groups management"
51  msgstr ""
52 
53  msgid "WARNING"
54  msgstr ""
@@ -1005,13 +999,10 @@
55  msgstr ""
56 
57  msgid "abstract base class for transitions"
58  msgstr "abstrakte Basisklasse für Übergänge"
59 
60 -msgid "action menu"
61 -msgstr ""
62 -
63  msgid "action(s) on this selection"
64  msgstr "Aktionen(en) bei dieser Auswahl"
65 
66  msgid "actions"
67  msgstr "Aktionen"
@@ -2067,13 +2058,10 @@
68  msgstr ""
69 
70  msgid "date"
71  msgstr "Datum"
72 
73 -msgid "day"
74 -msgstr ""
75 -
76  msgid "deactivate"
77  msgstr "deaktivieren"
78 
79  msgid "deactivated"
80  msgstr "deaktiviert"
@@ -2082,13 +2070,10 @@
81  msgstr "Dezember"
82 
83  msgid "default"
84  msgstr "Standardwert"
85 
86 -msgid "default /base view for (transaction) actions "
87 -msgstr ""
88 -
89  msgid "default text format for rich text fields."
90  msgstr "Standardformat für Textfelder"
91 
92  msgid "default user workflow"
93  msgstr "Standard-Workflow für Nutzer"
@@ -2727,10 +2712,13 @@
94  msgstr "hCalendar"
95 
96  msgid "has_text"
97  msgstr "enthält Text"
98 
99 +msgid "header-center"
100 +msgstr ""
101 +
102  msgid "header-left"
103  msgstr ""
104 
105  msgid "header-right"
106  msgstr ""
@@ -3086,13 +3074,10 @@
107  msgstr ""
108 
109  msgid "log in"
110  msgstr "anmelden"
111 
112 -msgid "log out first"
113 -msgstr "Melden Sie sich zuerst ab."
114 -
115  msgid "login"
116  msgstr "Anmeldung"
117 
118  msgctxt "CWUser"
119  msgid "login"
@@ -3191,13 +3176,10 @@
120  msgstr "ändern"
121 
122  msgid "monday"
123  msgstr "Montag"
124 
125 -msgid "month"
126 -msgstr ""
127 -
128  msgid "more actions"
129  msgstr "weitere Aktionen"
130 
131  msgid "more info about this workflow"
132  msgstr "mehr Informationen zu diesem Workflow"
@@ -4083,10 +4065,14 @@
133  msgstr ""
134 
135  msgid "there is no previous page"
136  msgstr ""
137 
138 +#, python-format
139 +msgid "there is no transaction #%s"
140 +msgstr ""
141 +
142  msgid "this action is not reversible!"
143  msgstr "Achtung! Diese Aktion ist unumkehrbar."
144 
145  msgid "this entity is currently owned by"
146  msgstr "Diese Entität gehört:"
@@ -4166,19 +4152,19 @@
147 
148  msgctxt "State"
149  msgid "to_state_object"
150  msgstr "Übergang zu diesem Zustand"
151 
152 -msgid "today"
153 -msgstr ""
154 -
155  msgid "todo_by"
156  msgstr "zu erledigen bis"
157 
158  msgid "toggle check boxes"
159  msgstr "Kontrollkästchen umkehren"
160 
161 +msgid "toggle filter"
162 +msgstr "filter verbergen/zeigen"
163 +
164  msgid "tr_count"
165  msgstr ""
166 
167  msgctxt "TrInfo"
168  msgid "tr_count"
@@ -4293,16 +4279,16 @@
169  msgstr "nicnt zugänglich"
170 
171  msgid "unauthorized value"
172  msgstr "ungültiger Wert"
173 
174 +msgid "undefined user"
175 +msgstr ""
176 +
177  msgid "undo"
178  msgstr "rückgängig machen"
179 
180 -msgid "undo last change"
181 -msgstr ""
182 -
183  msgid "unique identifier used to connect to the application"
184  msgstr "eindeutiger Bezeichner zur Verbindung mit der Anwendung"
185 
186  msgid "unknown external entity"
187  msgstr "(Externe) Entität nicht gefunden"
@@ -4535,13 +4521,10 @@
188  msgstr "Momentan können wir diese sparql-Anfrage noch nicht ausführen."
189 
190  msgid "wednesday"
191  msgstr "Mittwoch"
192 
193 -msgid "week"
194 -msgstr "Woche"
195 -
196  #, python-format
197  msgid "welcome %s !"
198  msgstr "Willkommen %s !"
199 
200  msgid "wf_info_for"
@@ -4633,12 +4616,5 @@
201  msgstr "Sie sollten diese Eigenschaft wahrscheinlich löschen."
202 
203  #, python-format
204  msgid "you should un-inline relation %s which is supported and may be crossed "
205  msgstr ""
206 -
207 -#~ msgid ""
208 -#~ "Can't restore relation %(rtype)s of entity %(eid)s, this relation does "
209 -#~ "not exists anymore in the schema."
210 -#~ msgstr ""
211 -#~ "Kann die Relation %(rtype)s der Entität %(eid)s nicht wieder herstellen, "
212 -#~ "diese Relation existiert nicht mehr in dem Schema."
diff --git a/i18n/en.po b/i18n/en.po
@@ -209,13 +209,10 @@
213  msgstr ""
214 
215  msgid "About this site"
216  msgstr ""
217 
218 -msgid "Action"
219 -msgstr ""
220 -
221  #, python-format
222  msgid "Added relation : %(entity_from)s %(rtype)s %(entity_to)s"
223  msgstr ""
224 
225  msgid "Any"
@@ -261,10 +258,14 @@
226  msgstr ""
227 
228  msgid "Browse by entity type"
229  msgstr ""
230 
231 +#, python-format
232 +msgid "By %(user)s on %(dt)s [%(undo_link)s]"
233 +msgstr ""
234 +
235  msgid "Bytes"
236  msgstr "Bytes"
237 
238  msgid "Bytes_plural"
239  msgstr "Bytes"
@@ -748,13 +749,10 @@
240  msgstr "International time"
241 
242  msgid "TZTime_plural"
243  msgstr "International times"
244 
245 -msgid "Target"
246 -msgstr ""
247 -
248  #, python-format
249  msgid "The view %s can not be applied to this query"
250  msgstr ""
251 
252  #, python-format
@@ -883,14 +881,10 @@
253  msgstr ""
254 
255  msgid "Used by:"
256  msgstr ""
257 
258 -#, python-format
259 -msgid "User %(user_eid)s on %(dt)s [%(undo_link)s] \n"
260 -msgstr ""
261 -
262  msgid "Users and groups management"
263  msgstr ""
264 
265  msgid "WARNING"
266  msgstr ""
@@ -967,13 +961,10 @@
267  msgstr ""
268 
269  msgid "abstract base class for transitions"
270  msgstr ""
271 
272 -msgid "action menu"
273 -msgstr ""
274 -
275  msgid "action(s) on this selection"
276  msgstr ""
277 
278  msgid "actions"
279  msgstr ""
@@ -2024,13 +2015,10 @@
280  msgstr ""
281 
282  msgid "date"
283  msgstr ""
284 
285 -msgid "day"
286 -msgstr ""
287 -
288  msgid "deactivate"
289  msgstr ""
290 
291  msgid "deactivated"
292  msgstr ""
@@ -2039,13 +2027,10 @@
293  msgstr ""
294 
295  msgid "default"
296  msgstr ""
297 
298 -msgid "default /base view for (transaction) actions "
299 -msgstr ""
300 -
301  msgid "default text format for rich text fields."
302  msgstr ""
303 
304  msgid "default user workflow"
305  msgstr ""
@@ -2667,10 +2652,13 @@
306  msgstr ""
307 
308  msgid "has_text"
309  msgstr "has text"
310 
311 +msgid "header-center"
312 +msgstr ""
313 +
314  msgid "header-left"
315  msgstr "header (left)"
316 
317  msgid "header-right"
318  msgstr "header (right)"
@@ -3005,13 +2993,10 @@
319  msgstr ""
320 
321  msgid "log in"
322  msgstr ""
323 
324 -msgid "log out first"
325 -msgstr ""
326 -
327  msgid "login"
328  msgstr ""
329 
330  msgctxt "CWUser"
331  msgid "login"
@@ -3109,13 +3094,10 @@
332  msgstr ""
333 
334  msgid "monday"
335  msgstr ""
336 
337 -msgid "month"
338 -msgstr ""
339 -
340  msgid "more actions"
341  msgstr ""
342 
343  msgid "more info about this workflow"
344  msgstr ""
@@ -3983,10 +3965,14 @@
345  msgstr ""
346 
347  msgid "there is no previous page"
348  msgstr ""
349 
350 +#, python-format
351 +msgid "there is no transaction #%s"
352 +msgstr ""
353 +
354  msgid "this action is not reversible!"
355  msgstr ""
356 
357  msgid "this entity is currently owned by"
358  msgstr ""
@@ -4066,19 +4052,19 @@
359 
360  msgctxt "State"
361  msgid "to_state_object"
362  msgstr "transitions to this state"
363 
364 -msgid "today"
365 -msgstr ""
366 -
367  msgid "todo_by"
368  msgstr "to do by"
369 
370  msgid "toggle check boxes"
371  msgstr ""
372 
373 +msgid "toggle filter"
374 +msgstr ""
375 +
376  msgid "tr_count"
377  msgstr "transition number"
378 
379  msgctxt "TrInfo"
380  msgid "tr_count"
@@ -4193,16 +4179,16 @@
381  msgstr ""
382 
383  msgid "unauthorized value"
384  msgstr ""
385 
386 +msgid "undefined user"
387 +msgstr ""
388 +
389  msgid "undo"
390  msgstr ""
391 
392 -msgid "undo last change"
393 -msgstr ""
394 -
395  msgid "unique identifier used to connect to the application"
396  msgstr ""
397 
398  msgid "unknown external entity"
399  msgstr ""
@@ -4424,13 +4410,10 @@
400  msgstr ""
401 
402  msgid "wednesday"
403  msgstr ""
404 
405 -msgid "week"
406 -msgstr ""
407 -
408  #, python-format
409  msgid "welcome %s !"
410  msgstr ""
411 
412  msgid "wf_info_for"
diff --git a/i18n/es.po b/i18n/es.po
@@ -221,13 +221,10 @@
413  msgstr "Y"
414 
415  msgid "About this site"
416  msgstr "Información del Sistema"
417 
418 -msgid "Action"
419 -msgstr ""
420 -
421  #, python-format
422  msgid "Added relation : %(entity_from)s %(rtype)s %(entity_to)s"
423  msgstr ""
424 
425  msgid "Any"
@@ -273,10 +270,14 @@
426  msgstr "Busca por categoría"
427 
428  msgid "Browse by entity type"
429  msgstr "Busca por tipo de entidad"
430 
431 +#, python-format
432 +msgid "By %(user)s on %(dt)s [%(undo_link)s]"
433 +msgstr ""
434 +
435  msgid "Bytes"
436  msgstr "Bytes"
437 
438  msgid "Bytes_plural"
439  msgstr "Bytes"
@@ -773,13 +774,10 @@
440  msgstr "Hora internacional"
441 
442  msgid "TZTime_plural"
443  msgstr "Horas internacionales"
444 
445 -msgid "Target"
446 -msgstr ""
447 -
448  #, python-format
449  msgid "The view %s can not be applied to this query"
450  msgstr "La vista %s no puede ser aplicada a esta búsqueda"
451 
452  #, python-format
@@ -910,14 +908,10 @@
453  msgstr ""
454 
455  msgid "Used by:"
456  msgstr "Utilizado por :"
457 
458 -#, python-format
459 -msgid "User %(user_eid)s on %(dt)s [%(undo_link)s] \n"
460 -msgstr ""
461 -
462  msgid "Users and groups management"
463  msgstr "Usuarios y grupos de administradores"
464 
465  msgid "WARNING"
466  msgstr ""
@@ -1015,13 +1009,10 @@
467  "get_cache(cachename)."
468 
469  msgid "abstract base class for transitions"
470  msgstr "Clase de base abstracta para la transiciones"
471 
472 -msgid "action menu"
473 -msgstr ""
474 -
475  msgid "action(s) on this selection"
476  msgstr "Acción(es) en esta selección"
477 
478  msgid "actions"
479  msgstr "Acciones"
@@ -2096,13 +2087,10 @@
480  msgstr "administración de fuentes de datos"
481 
482  msgid "date"
483  msgstr "Fecha"
484 
485 -msgid "day"
486 -msgstr "día"
487 -
488  msgid "deactivate"
489  msgstr "Desactivar"
490 
491  msgid "deactivated"
492  msgstr "Desactivado"
@@ -2111,13 +2099,10 @@
493  msgstr "Diciembre"
494 
495  msgid "default"
496  msgstr "Valor por defecto"
497 
498 -msgid "default /base view for (transaction) actions "
499 -msgstr ""
500 -
501  msgid "default text format for rich text fields."
502  msgstr ""
503  "Formato de texto que se utilizará por defecto para los campos de tipo texto"
504 
505  msgid "default user workflow"
@@ -2768,10 +2753,13 @@
506  msgstr "hCalendar"
507 
508  msgid "has_text"
509  msgstr "Contiene el texto"
510 
511 +msgid "header-center"
512 +msgstr ""
513 +
514  msgid "header-left"
515  msgstr "encabezado (izquierdo)"
516 
517  msgid "header-right"
518  msgstr "encabezado (derecho)"
@@ -3128,13 +3116,10 @@
519  msgstr ""
520 
521  msgid "log in"
522  msgstr "Acceder"
523 
524 -msgid "log out first"
525 -msgstr "Desconéctese primero"
526 -
527  msgid "login"
528  msgstr "Usuario"
529 
530  msgctxt "CWUser"
531  msgid "login"
@@ -3232,13 +3217,10 @@
532  msgstr "Modificar"
533 
534  msgid "monday"
535  msgstr "Lunes"
536 
537 -msgid "month"
538 -msgstr "mes"
539 -
540  msgid "more actions"
541  msgstr "Más acciones"
542 
543  msgid "more info about this workflow"
544  msgstr "Más información acerca de este workflow"
@@ -4133,10 +4115,14 @@
545  msgstr ""
546 
547  msgid "there is no previous page"
548  msgstr ""
549 
550 +#, python-format
551 +msgid "there is no transaction #%s"
552 +msgstr ""
553 +
554  msgid "this action is not reversible!"
555  msgstr "Esta acción es irreversible!."
556 
557  msgid "this entity is currently owned by"
558  msgstr "Esta Entidad es propiedad de"
@@ -4216,19 +4202,19 @@
559 
560  msgctxt "State"
561  msgid "to_state_object"
562  msgstr "Transición hacia este Estado"
563 
564 -msgid "today"
565 -msgstr "hoy"
566 -
567  msgid "todo_by"
568  msgstr "Asignada a"
569 
570  msgid "toggle check boxes"
571  msgstr "Cambiar valor"
572 
573 +msgid "toggle filter"
574 +msgstr "esconder/mostrar el filtro"
575 +
576  msgid "tr_count"
577  msgstr "n° de transición"
578 
579  msgctxt "TrInfo"
580  msgid "tr_count"
@@ -4343,16 +4329,16 @@
581  msgstr "Inaccesible"
582 
583  msgid "unauthorized value"
584  msgstr "Valor no permitido"
585 
586 +msgid "undefined user"
587 +msgstr ""
588 +
589  msgid "undo"
590  msgstr "Anular"
591 
592 -msgid "undo last change"
593 -msgstr ""
594 -
595  msgid "unique identifier used to connect to the application"
596  msgstr "Identificador único utilizado para conectarse al Sistema"
597 
598  msgid "unknown external entity"
599  msgstr "Entidad externa desconocida"
@@ -4583,13 +4569,10 @@
600  msgstr "Aún no podemos manejar este tipo de consulta Sparql"
601 
602  msgid "wednesday"
603  msgstr "Miércoles"
604 
605 -msgid "week"
606 -msgstr "sem."
607 -
608  #, python-format
609  msgid "welcome %s !"
610  msgstr "¡ Bienvenido %s  !"
611 
612  msgid "wf_info_for"
@@ -4684,12 +4667,5 @@
613  #, python-format
614  msgid "you should un-inline relation %s which is supported and may be crossed "
615  msgstr ""
616  "usted debe  quitar la puesta en línea de la relación %s que es aceptada y "
617  "puede ser cruzada"
618 -
619 -#~ msgid ""
620 -#~ "Can't restore relation %(rtype)s of entity %(eid)s, this relation does "
621 -#~ "not exists anymore in the schema."
622 -#~ msgstr ""
623 -#~ "No puede restaurar la relación %(rtype)s de la entidad %(eid)s, esta "
624 -#~ "relación ya no existe en el esquema."
diff --git a/i18n/fr.po b/i18n/fr.po
@@ -221,13 +221,10 @@
625  msgstr "ET"
626 
627  msgid "About this site"
628  msgstr "À propos de ce site"
629 
630 -msgid "Action"
631 -msgstr "Action"
632 -
633  #, python-format
634  msgid "Added relation : %(entity_from)s %(rtype)s %(entity_to)s"
635  msgstr "Relation ajoutée : %(entity_from)s %(rtype)s %(entity_to)s"
636 
637  msgid "Any"
@@ -273,10 +270,14 @@
638  msgstr "Naviguer par catégorie"
639 
640  msgid "Browse by entity type"
641  msgstr "Naviguer par type d'entité"
642 
643 +#, python-format
644 +msgid "By %(user)s on %(dt)s [%(undo_link)s]"
645 +msgstr "Par %(user)s le %(dt)s [%(undo_link)s] "
646 +
647  msgid "Bytes"
648  msgstr "Donnée binaires"
649 
650  msgid "Bytes_plural"
651  msgstr "Données binaires"
@@ -773,13 +774,10 @@
652  msgstr "Heure internationale"
653 
654  msgid "TZTime_plural"
655  msgstr "Heures internationales"
656 
657 -msgid "Target"
658 -msgstr ""
659 -
660  #, python-format
661  msgid "The view %s can not be applied to this query"
662  msgstr "La vue %s ne peut être appliquée à cette requête"
663 
664  #, python-format
@@ -910,14 +908,10 @@
665  msgstr "Entité %(etype)s mise à jour : %(entity)s"
666 
667  msgid "Used by:"
668  msgstr "Utilisé par :"
669 
670 -#, python-format
671 -msgid "By %(user)s on %(dt)s [%(undo_link)s]"
672 -msgstr "Par %(user)s le %(dt)s [%(undo_link)s] "
673 -
674  msgid "Users and groups management"
675  msgstr "Gestion des utilisateurs et groupes"
676 
677  msgid "WARNING"
678  msgstr "AVERTISSEMENT"
@@ -1015,13 +1009,10 @@
679  "get_cache(cachename)."
680 
681  msgid "abstract base class for transitions"
682  msgstr "classe de base abstraite pour les transitions"
683 
684 -msgid "action menu"
685 -msgstr "actions"
686 -
687  msgid "action(s) on this selection"
688  msgstr "action(s) sur cette sélection"
689 
690  msgid "actions"
691  msgstr "actions"
@@ -1257,11 +1248,11 @@
692 
693  msgid "anonymous"
694  msgstr "anonyme"
695 
696  msgid "anyrsetview"
697 -msgstr "vues \"tous les rset\""
698 +msgstr "vues pour tout rset"
699 
700  msgid "april"
701  msgstr "avril"
702 
703  #, python-format
@@ -2108,13 +2099,10 @@
704  msgstr "gestion des sources de données"
705 
706  msgid "date"
707  msgstr "date"
708 
709 -msgid "day"
710 -msgstr "jour"
711 -
712  msgid "deactivate"
713  msgstr "désactiver"
714 
715  msgid "deactivated"
716  msgstr "désactivé"
@@ -2123,13 +2111,10 @@
717  msgstr "décembre"
718 
719  msgid "default"
720  msgstr "valeur par défaut"
721 
722 -msgid "default /base view for (transaction) actions "
723 -msgstr ""
724 -
725  msgid "default text format for rich text fields."
726  msgstr "format de texte par défaut pour les champs textes"
727 
728  msgid "default user workflow"
729  msgstr "workflow par défaut des utilisateurs"
@@ -2777,10 +2762,13 @@
730  msgstr "hCalendar"
731 
732  msgid "has_text"
733  msgstr "contient le texte"
734 
735 +msgid "header-center"
736 +msgstr ""
737 +
738  msgid "header-left"
739  msgstr "en-tête (gauche)"
740 
741  msgid "header-right"
742  msgstr "en-tête (droite)"
@@ -3135,13 +3123,10 @@
743  msgstr "journal"
744 
745  msgid "log in"
746  msgstr "s'identifier"
747 
748 -msgid "log out first"
749 -msgstr "déconnecter vous d'abord"
750 -
751  msgid "login"
752  msgstr "identifiant"
753 
754  msgctxt "CWUser"
755  msgid "login"
@@ -3239,13 +3224,10 @@
756  msgstr "modifier"
757 
758  msgid "monday"
759  msgstr "lundi"
760 
761 -msgid "month"
762 -msgstr "mois"
763 -
764  msgid "more actions"
765  msgstr "plus d'actions"
766 
767  msgid "more info about this workflow"
768  msgstr "plus d'information sur ce workflow"
@@ -4143,10 +4125,14 @@
769  msgstr "il n'y a pas de page suivante"
770 
771  msgid "there is no previous page"
772  msgstr "il n'y a pas de page précédente"
773 
774 +#, python-format
775 +msgid "there is no transaction #%s"
776 +msgstr ""
777 +
778  msgid "this action is not reversible!"
779  msgstr ""
780  "Attention ! Cette opération va détruire les données de façon irréversible."
781 
782  msgid "this entity is currently owned by"
@@ -4227,18 +4213,18 @@
783 
784  msgctxt "State"
785  msgid "to_state_object"
786  msgstr "transition vers cet état"
787 
788 -msgid "today"
789 -msgstr "aujourd'hui"
790 -
791  msgid "todo_by"
792  msgstr "à faire par"
793 
794  msgid "toggle check boxes"
795 -msgstr "inverser les cases à cocher"
796 +msgstr "afficher/masquer les cases à cocher"
797 +
798 +msgid "toggle filter"
799 +msgstr "afficher/masquer le filtre"
800 
801  msgid "tr_count"
802  msgstr "n° de transition"
803 
804  msgctxt "TrInfo"
@@ -4354,16 +4340,16 @@
805  msgstr "inaccessible"
806 
807  msgid "unauthorized value"
808  msgstr "valeur non autorisée"
809 
810 +msgid "undefined user"
811 +msgstr ""
812 +
813  msgid "undo"
814  msgstr "annuler"
815 
816 -msgid "undo last change"
817 -msgstr "annuler dernier changement"
818 -
819  msgid "unique identifier used to connect to the application"
820  msgstr "identifiant unique utilisé pour se connecter à l'application"
821 
822  msgid "unknown external entity"
823  msgstr "entité (externe) introuvable"
@@ -4593,13 +4579,10 @@
824  "nous ne sommes pas capable de gérer ce type de requête sparql pour le moment"
825 
826  msgid "wednesday"
827  msgstr "mercredi"
828 
829 -msgid "week"
830 -msgstr "semaine"
831 -
832  #, python-format
833  msgid "welcome %s !"
834  msgstr "bienvenue %s !"
835 
836  msgid "wf_info_for"
diff --git a/web/data/cubicweb.css b/web/data/cubicweb.css
@@ -543,10 +543,20 @@
837  a.popupMenu {
838    background: transparent url("puce_down_black.png") 2% 6px no-repeat;
839    padding-left: 2em;
840  }
841 
842 +/* actions around tables */
843 +.tableactions span {
844 +  padding: 0 18px;
845 +  height: 24px;
846 +  background: #F8F8F8;
847 +  border: 1px solid #DFDFDF;
848 +  border-bottom: none;
849 +  border-radius: 4px 4px 0 0;
850 +}
851 +
852  /* custom boxes */
853 
854  .search_box div.boxBody {
855    padding: 4px 4px 3px;
856    background: #f0eff0 url("gradient-grey-up.png") left top repeat-x;
diff --git a/web/data/cubicweb.old.css b/web/data/cubicweb.old.css
@@ -897,10 +897,20 @@
857  }
858  table.ajaxEditRelationTable td.entity{
859    padding-left: 0.5em;
860  }
861 
862 +/* actions around tables */
863 +.tableactions span {
864 +  padding: 0 18px;
865 +  height: 24px;
866 +  background: #F8F8F8;
867 +  border: 1px solid #DFDFDF;
868 +  border-bottom: none;
869 +  border-radius: 4px 4px 0 0;
870 +}
871 +
872  /***************************************/
873  /* error view (views/management.py)    */
874  /***************************************/
875 
876  div.pycontext { /* html traceback */
diff --git a/web/views/tableview.py b/web/views/tableview.py
@@ -288,37 +288,32 @@
877              if sortvalue is not None:
878                  attrs[u'cubicweb:sortvalue'] = js_dumps(sortvalue)
879          return attrs
880 
881      def render_actions(self, w, actions):
882 -        box = MenuWidget('', '', _class='tableActionsBox', islist=False)
883 -        label = tags.span(self._cw._('action menu'))
884 -        menu = PopupBoxMenu(label, isitem=False, link_class='actionsBox',
885 -                            ident='%sActions' % self.view.domid)
886 -        box.append(menu)
887 +        w(u'<div class="tableactions">')
888          for action in actions:
889 -            menu.append(action)
890 -        box.render(w=w)
891 -        w(u'<div class="clear"></div>')
892 +            w(u'<span>')
893 +            action.render(w)
894 +            w(u'</span>')
895 +        w(u'</div>')
896 
897      def show_hide_filter_actions(self, currentlydisplayed=False):
898          divid = self.view.domid
899          showhide = u';'.join(toggle_action('%s%s' % (divid, what))[11:]
900 -                             for what in ('Form', 'Show', 'Hide', 'Actions'))
901 +                             for what in ('Form', 'Actions'))
902          showhide = 'javascript:' + showhide
903          self._cw.add_onload(u'''\
904  $(document).ready(function() {
905    if ($('#%(id)sForm[class=\"hidden\"]').length) {
906      $('#%(id)sHide').attr('class', 'hidden');
907    } else {
908      $('#%(id)sShow').attr('class', 'hidden');
909    }
910  });''' % {'id': divid})
911 -        showlabel = self._cw._('show filter form')
912 -        hidelabel = self._cw._('hide filter form')
913 -        return [component.Link(showhide, showlabel, id='%sShow' % divid),
914 -                component.Link(showhide, hidelabel, id='%sHide' % divid)]
915 +        showlabel = self._cw._('toggle filter')
916 +        return [component.Link(showhide, showlabel, id='%sToggle' % divid)]
917 
918 
919  class AbstractColumnRenderer(object):
920      """Abstract base class for column renderer. Interface of a column renderer follows:
921